Bonjour,
je n’ai pas réussi à inserer le code suivant donc je fais un simple copier coller.
/////////////////////////////////////KAMA 150
Period = 150
FastPeriod = 2
SlowPeriod = 30
Fastest = 2 / (FastPeriod + 1)
Slowest = 2 / (SlowPeriod + 1)
if barindex < Period+1 then
Kama=close
else
Num = abs(close-close[Period])
Den = summation[Period](abs(close-close[1]))
ER = Num / Den
Alpha = SQUARE(ER *(Fastest – Slowest )+ Slowest)
KAMA = (Alpha * Close) + ((1 -Alpha)* Kama[1])
endif
///////////////////////////////////////////////////////////////////: Distance Cours KAMA
xClose = (Open+High+Low+Close)/4
Distance = (xclose- kama)
moy = exponentialaverage[period]((distance))
if Moy<Moy[1] and Moy[1]>Moy[2] and Moy[1]>0 then
RetB5=RetB4
RetB4=RetB3
RetB3=RetB2
RetB2=RetB1
RetB1=Moy[1]
RetBmoy=(RetB1+RetB2+RetB3+RetB4+RetB5)/5
endif
if Moy>Moy[1] and Moy[1]<Moy[2] and Moy[1]<0 then
RetH5=RetH4
RetH4=RetH3
RetH3=RetH2
RetH2=RetH1
RetH1=Moy[1]
RetHmoy=(RetH1+RetH2+RetH3+RetH4+RetH5)/5
endif
if abs(retBmoy-0) > abs(retHmoy-0) then
limitUP = retBmoy
elsif abs(retBmoy-0) < abs(retHmoy-0) then
LimitUp = -RetHmoy
endif
if abs(RetHmoy-0) > abs(RetBmoy-0) then
limitDn = RetHmoy
elsif abs(RetHmoy-0) < abs(RetBmoy-0) then
LimitDn = – RetBmoy
endif
DistMoyKAMA = average [50](distance)
AdditionalUpBand = RetBmoy*2
AdditionalDNBand = RETHMoy*2
for i=0 to 49
$montab[i]=distance[i]
Next
arraysort($montab,ascend)
moy3plusBas = ($montab[0] + $montab[1] + $montab[2]) / 3
moy3plusHauts = ($montab[49] + $montab[48] + $montab[47]) / 3
if (distance > DistmoyKAMA) and (distance > 0) then
drawcandle (0,0, distance, distance) COLOURED (0,0,255)
elsif (DistmoyKAMA > DistmoyKAMA[1]) and (distance > DistmoyKAMA) and (distance > 0) then
drawcandle (0,0, distance, distance) COLOURED (0,255,255)
endif
if (distance < DistmoyKAMA) and (distance < 0) then
drawcandle (0,0, distance, distance) COLOURED (255,0,0)
elsif (DistmoyKAMA < DistmoyKAMA[1]) and (distance < DistmoyKAMA) and (distance < 0) then
drawcandle (0,0, distance, distance) COLOURED (255,204,153)
endif
Return distance as “Distance”, moy as “Distance Moy”, RetBmoy as “Moyenne 5 derniers retournements baissiers”, RetHmoy as “Moyenne 5 derniers retournements haussiers”, moy3plusHauts as “FilterUp”, moy3plusBas as “FilterDn”, DistmoyKAMA as “DistMoyKAMA”, AdditionalUPBand as “AdditionnalUpBAnd”, AdditionalDNband as “AdditionalDnBand”
voilà j’utiliser cet indicateur pour filtrer les entrée de position. J’ai ajouté aux lignes de code AdditionalUpBand = RetBmoy et AdditionalDnBand = RetHmoy un facteur 2 pour élargir la bande d’entrée en position. Mais je ne suis pas entièrement satisfait de cette solution “manuelle”. J’aimerai que ce facteur soit lié à la volatilité du sous-jacent. Donc j’aurai besoin d’un conseil.
Je vous en remercie par avance.