Bonjour,
J’ai réalisé un petit indicateur sur la base de celui du Guppy afin qu’il me donne l’écart entre la moyenne du guppy “court terme” et celui du guppy “long terme” (code joint).
J’aimerai le compléter par deux informations : je souhaiterais quand les écarts > 0 (donc guppy CT > guppy LT) avoir la moyenne de ces écarts positifs sur (par exemple) les 50 dernières périodes et que cette moyenne soit matérialisé par une ligne qui changerait de couleur si la nouvelle moyenne calculée toutes les 15 minutes (si nous sommes en UT 15 minutes) : si la nouvelle moyenne calculée est supérieure à la précédente, alors la ligne est de couleur bleue, si la nouvelle moyenne calculée est inférieure à la précédente, la ligne serait rouge. Et l’inverse quand les écarts sont négatifs.
J’ai essayé avec ce code mais ça ne donne rien : a = average(high)[50]
Merci.
Cela ressemble à un MACD tout simplement, je vais regarder ton code. Merci de le poster en clair la prochaine fois, c’est plus rapide.
Ci-joint le code modifié, j’ai utilisé un histogramme. Je ne suis pas certain pour les couleurs par contre ?
a = close
c1 = ExponentialAverage[3](a)
c2 = ExponentialAverage[5](a)
c3 = ExponentialAverage[8](a)
c4 = ExponentialAverage[10](a)
c5 = ExponentialAverage[12](a)
c6 = ExponentialAverage[15](a)
GuppyCTMoy = (c1 + c2 + c3 + c4 + c5 + c6)/6
c7 = ExponentialAverage[30](a)
c8 = ExponentialAverage[35](a)
c9 = ExponentialAverage[40](a)
c10 = ExponentialAverage[45](a)
c11 = ExponentialAverage[50](a)
c12 = ExponentialAverage[60](a)
GuppyLTMoy = (c7 + c8 + c9 + c10 + c11 + c12)/6
Ecart = (GuppyCTMoy - GuppyLTMoy)
moy = average[50](ecart) //moyenne des ecarts
//choix de la couleur selon conditions
if moy>0 then
if moy>moy[1] then
r=0
b=255
else
r=255
b=0
endif
else
if moy<moy[1] then
r=255
b=0
else
r=0
b=255
endif
endif
Return moy coloured(r,0,b) style(histogram)
a = close
c1 = ExponentialAverage[3](a)
c2 = ExponentialAverage[5](a)
c3 = ExponentialAverage[8](a)
c4 = ExponentialAverage[10](a)
c5 = ExponentialAverage[12](a)
c6 = ExponentialAverage[15](a)
GuppyCTMoy = (c1 + c2 + c3 + c4 + c5 + c6)/6
c7 = ExponentialAverage[30](a)
c8 = ExponentialAverage[35](a)
c9 = ExponentialAverage[40](a)
c10 = ExponentialAverage[45](a)
c11 = ExponentialAverage[50](a)
c12 = ExponentialAverage[60](a)
GuppyLTMoy = (c7 + c8 + c9 + c10 + c11 + c12)/6
Ecart = (GuppyCTMoy - GuppyLTMoy)
Return Ecart as "Ecart", GuppyCTMoy as "GyppyCTMoy", GuppyLTMoy as "GuppyLTMoy"
Attention les courbes du MACD se croisent. Dans ma demande, je souhaiterais deux lignes distinctes qui seraient presque parallèles en fait : une ligne représentant la moyenne des écarts uniquement > 0 (guppy CT > guppy LT) et une autre représentant la moyenne des écarts uniquement < 0 (guppy CT < guppy LT).
merci.
Bien, mais si on a que 10 périodes au dessus de 0 dans les 50 dernières ?
et bien on prend ce que l’on a, donc les 10.
Merci.
La somme des écarts négatifs étant forcément négatives, j’utilise une valeur absolue pour cette moyenne, sinon les courbes ne se croiseront jamais. Par contre, impossible de les différencier avec les couleurs bleus/rouge pour toutes les deux ?
period = 50
a = close
c1 = ExponentialAverage[3](a)
c2 = ExponentialAverage[5](a)
c3 = ExponentialAverage[8](a)
c4 = ExponentialAverage[10](a)
c5 = ExponentialAverage[12](a)
c6 = ExponentialAverage[15](a)
GuppyCTMoy = (c1 + c2 + c3 + c4 + c5 + c6)/6
c7 = ExponentialAverage[30](a)
c8 = ExponentialAverage[35](a)
c9 = ExponentialAverage[40](a)
c10 = ExponentialAverage[45](a)
c11 = ExponentialAverage[50](a)
c12 = ExponentialAverage[60](a)
GuppyLTMoy = (c7 + c8 + c9 + c10 + c11 + c12)/6
Ecart = (GuppyCTMoy - GuppyLTMoy)
sumplus=0
summinus=0
for i = 0 to period-1 do
if ecart[i]>0 then
sumplus=sumplus+ecart[i]
else
summinus=summinus+ecart[i]
endif
next
plus = sumplus/period //moyenne des ecarts +
minus = abs(summinus/period) //moyenne des ecarts -
////choix de la couleur selon conditions
if plus>plus[1] then
pr=0
pb=255
elsif plus<plus[1] then
pr=255
pb=0
endif
if minus>minus[1] then
mr=0
mb=255
elsif minus<minus[1] then
mr=255
mb=0
endif
Return plus coloured(pr,0,pb)style(line),minus coloured(mr,0,mb)style(line)
Juste une remarque : le code proposé calcule une moyenne sur les écarts. je voudrais en fait deux moyennes : une sur les écarts positifs et une sur les écarts négatifs ce qui aboutit à deux moyennes distinctes (une positive et une négative).
Merci.
Merci de ne pas tenir compte de mon dernier post. je n’avais pas vu votre dernière publication.
C’est bien le cas dans ce dernier code 🙂 Je teste si l’écart est positif ou négatif aux lignes 27 et 29 et en tire 2 moyennes distinctes “plus” et “minus”.
C’est top/ j’ai juste enlever la valeur absolue. C’était ce que je voulais. Merci et bonne journée.