/////////////////////////////////////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[50]((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 > 0) then
drawcandle (0,0, distance, distance) COLOURED (0,0,255)
endif
if (distance < moy) 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"
Bonsoir,
dans le cadre d’une stratégie automatique, j’aimerai entrer long lorsqu’entre autre la moy3plusHauts en cours est > moy3plushauts[1] et entre short lorsque la moy3plusBas en cours < moy3plus Bas[1].
J’ai tenté de faire IF moy3plusHauts est > moy3plushauts[1] et à l’inverse moy3plusBas < moy3plus Bas[1] mais cela ne donne pas le résultat escompté.
Merci pour votre aide.
JSParticipant
Senior
Bonjour,
Puis-je vous demander comment vous avez calculé “Avg3Highest“… ?
Avg3Highest ? je ne le vois pas mais bon c’est la fin de la journée et je suis un peu fatigué …. 🙂
J’ai appelé l’indicateur MyInd. Si vous utilisez un autre nom, veuillez l’utiliser à la place.
Créez une stratégie avec ces lignes et vous constaterez que les conditions souhaitées sont réunies (GRAPH les affichera dans la fenêtre des variables).
myDistance, myDistanceMoy, myBandeHaute, myBandeBasse, moy3plusHauts, moy3plusBas = CALL "MyInd"
buy at -close limit
graph moy3plusHauts > moy3plusHauts[1] coloured("Blue")
graph moy3plusBas < moy3plusBas[1] coloured("Red")
JSParticipant
Senior
moy3plusHauts (Avg3Highest)…?
Avg3Highest est la traduction du français moy3plusHaut.
merci Roberto.
Je vais tester et je vous fais part des résultats.
Pour répondre à JS, alors je te dirai que c’est le résultat des opérations indiquées à droite du signe “=”. Mais cet indicateur a été imaginé par moi et construit par un intervenant sur ce forum.
Roberto,
donc je peux appliquer cela dans une stratégie de trading automatique ?
Merci.
Pour être un peu sérieux, c’est indicateur qui a la base me permettait de filtrer les entrées de position en regardant la distance entre les cours et la KAMA150 est vraiment d’une aide précieuse.
Demain, si je suis disponible, je t’expliquerai comment je l’utilise.
bonne soirée.