Bonsoir,
voici l’indicateur
/////////////////////////////////////KAMA 150
Period = 150
FastPeriod = 2
SlowPeriod = 50
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 = average[550]((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)/3
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)/3
endif
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 > moy) and (distance > moy3plushauts) and (distance > 0) then
drawcandle (0,0, distance, distance) COLOURED (0,0,255)
endif
if (distance < moy) and (distance < moy3plusbas) and (distance < 0) then
drawcandle (0,0, distance, distance) COLOURED (255,0,0)
endif
Return distance as “Distance”, moy as “Distance Moy”, RetBmoy as “Bande Haute”, RetHmoy as “Bande Basse”, moy3plusHauts as “FilterUp”, moy3plusBas as “FilterDn”
je souhaiterai ajouter à l’indicateur ci-dessous une moyenne des 3 “FilterUp” les plus hauts calculés sur les 50 dernières barres et la moyenne des 3 “FilterDn” les plus bas calculés sur les 50 dernières barres, puis d’en tirer deux lignes horizontales pour matérialiser cette moyenne, cette ligne s’étalant sur les 50 dernières barres.
Cette ligne devra laisser place à une nouvelle si le calcul de la moyenne change.
j’espère avoir été clair.
Merci.
Je mets ci-dessous une capture écran de l’indicateur.