Moyenne des 5 derniers changements de direction de la moyenne du Guppy
Forums › ProRealTime forum Français › Support ProBuilder › Moyenne des 5 derniers changements de direction de la moyenne du Guppy
- This topic has 10 replies, 2 voices, and was last updated 3 years ago by finplus.
-
-
08/01/2021 at 2:58 PM #174500
Bonjour,
j’utilise l’indicateur suivant que j’ai un peu “arrangé” à ma sauce : il est construit à partir de l’indicateur Guppy.
Guppy et moyenne guppy123456789101112131415161718192021222324252627282930313233a = closec1 = 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)/6c7 = 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)/6Ecart = (GuppyCTMoy - GuppyLTMoy)T1 = c7 - C7[1]T2 = c8 - C8[1]T3 = c9 - C9[1]T4 = C10 - C10[1]T5 = c11 - C11[1]T6 = c12 - c12[1]Guppy = (T1 + T2 + T3 + T4 + T5 + T6)/6GuppyMoy = average[20](Guppy)*10Return ecart as "ecart", guppymoy as "guppymoy"en pièce jointe la représentation graphique.
A partir de cet indicateur, je souhaiterai tracer une ligne horizontale qui serait calculé à partir des changements de la moyenne du Guppy uniquement lorsque celle-ci se retourne à la baisse et uniquement lorsque cette moyenne est au dessus de 0.
J’ai mis les flèches rouges qui marquent les changements de direction de la moyenne du guppy. Mais je ne sais pas comment “recenser” les 5 derniers changements de direction de la moyenne du guppy sur les N dernières périodes (N = 50 par exemple).
J’espère avoir été clair dans ma demande.
Merci.
08/01/2021 at 3:22 PM #174505Moyenne des 5 derniers changements à la baisse étant positif de guppymoy, indépendamment du nombre de bougies en arrière (car rien ne dit que 5 va correspondre à un nombre limité défini à l’avance, ou alors il faut figer le nombre de bougies mais ne pas forcément en vouloir 5), représentée par ligne horizontale.
Les lignes supplémentaires commentées 36à40 et 49à58 peuvent être décommentées si on veut vérifier la localisation des 5 dernières occurences utilisées.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263defparam DRAWONLASTBARONLY=truea = closec1 = 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)/6c7 = 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)/6Ecart = (GuppyCTMoy - GuppyLTMoy)T1 = c7 - C7[1]T2 = c8 - C8[1]T3 = c9 - C9[1]T4 = C10 - C10[1]T5 = c11 - C11[1]T6 = c12 - c12[1]Guppy = (T1 + T2 + T3 + T4 + T5 + T6)/6GuppyMoy = average[20](Guppy)*10if GuppyMoy<GuppyMoy[1] and GuppyMoy[1]>GuppyMoy[2] and GuppyMoy[1]>0 then//bar5=bar4//bar4=bar3//bar3=bar2//bar2=bar1//bar1=barindex[1]ch5=ch4ch4=ch3ch3=ch2ch2=ch1ch1=GuppyMoy[1]chmoy=(ch1+ch2+ch3+ch4+ch5)/5endifif ch5<>0 then//DRAWSEGMENT(bar5-5, ch5, bar5+5, ch5) style(line,2)//DRAWSEGMENT(bar4-5, ch4, bar4+5, ch4) style(line,2)//DRAWSEGMENT(bar3-5, ch3, bar3+5, ch3) style(line,2)//DRAWSEGMENT(bar2-5, ch2, bar2+5, ch2) style(line,2)//DRAWSEGMENT(bar1-5, ch1, bar1+5, ch1) style(line,2)//DRAWTEXT("5", bar5, 0)//DRAWTEXT("4", bar4, 0)//DRAWTEXT("3", bar3, 0)//DRAWTEXT("2", bar2, 0)//DRAWTEXT("1", bar1, 0)DRAWHLINE(chmoy)endifReturn ecart as "ecart", guppymoy as "guppymoy"08/01/2021 at 6:02 PM #174512Bonsoir,
merci pour votre réponse. Je mets en pièce jointe un aperçu de l’indicateur en UT 4 heures sur le CAC. C’est un début de réponse mais je voudrais juste une ligne qui serait la moyenne des 5 derniers changements de direction de la moyenne. Merci pour votre aide.
08/01/2021 at 6:37 PM #174516Je pense que vous avez probablement juste rajouté seulement certaines lignes à partir de la 35 au lieu de copier-coller le tout, ce qui ferait qu’il vous manque la ligne 1 qui permettait de ne tracer que la dernière horizontale valide
08/01/2021 at 6:41 PM #17451708/01/2021 at 8:09 PM #174530bonsoir, si vous avez un peu de temps, pourriez-vous coder SVP la partie opposée c’est-à-dire lorsque la moyenne du guppy se retourne à la hausse et uniquement lorsqu’elle est au-dessous de 0?
merci d’avance et bonne fin de week-end.
08/01/2021 at 8:41 PM #174533Voilà
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859defparam DRAWONLASTBARONLY=truea = closec1 = 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)/6c7 = 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)/6Ecart = (GuppyCTMoy - GuppyLTMoy)T1 = c7 - C7[1]T2 = c8 - C8[1]T3 = c9 - C9[1]T4 = C10 - C10[1]T5 = c11 - C11[1]T6 = c12 - c12[1]Guppy = (T1 + T2 + T3 + T4 + T5 + T6)/6GuppyMoy = average[20](Guppy)*10if GuppyMoy<GuppyMoy[1] and GuppyMoy[1]>GuppyMoy[2] and GuppyMoy[1]>0 thench5=ch4ch4=ch3ch3=ch2ch2=ch1ch1=GuppyMoy[1]chmoy=(ch1+ch2+ch3+ch4+ch5)/5endifif ch5<>0 thenDRAWHLINE(chmoy)endifif GuppyMoy>GuppyMoy[1] and GuppyMoy[1]<GuppyMoy[2] and GuppyMoy[1]<0 thencb5=cb4cb4=cb3cb3=cb2cb2=cb1cb1=GuppyMoy[1]cbmoy=(cb1+cb2+cb3+cb4+cb5)/5endifif cb5<>0 thenDRAWHLINE(cbmoy)endifReturn ecart as "ecart", guppymoy as "guppymoy"08/01/2021 at 8:51 PM #17453408/02/2021 at 6:42 PM #174583Un petit retour pour indiquer que cela répond parfaitement à mon besoin.
Est-il possible de ne pas mentionner dans le code la fonction DRAWHLINE mais d’indiquer la valeur correspondante dans la dernière ligne “return” de façon à ce que je puisse la configurer facilement en cliquant sur “configurer”?
j’espère avoir été clair.
Merci.
08/03/2021 at 3:36 PM #174616C’est bien sûr possible, dans ce cas, les lignes ne seront plus horizontales car étant retournées via la ligne “return”, on aura alors l’historique de leurs emplacements. Il suffit de supprimer les lignes en drawhline, et aussi la première ligne drawonlastbaronly. Au passage j’ai remplacé des noms de variables pour que leur nom soit plus proche du nom affiché à l’écran via as “” de la ligne return. Cela vous donne:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051a = closec1 = 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)/6c7 = 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)/6Ecart = (GuppyCTMoy - GuppyLTMoy)T1 = c7 - C7[1]T2 = c8 - C8[1]T3 = c9 - C9[1]T4 = C10 - C10[1]T5 = c11 - C11[1]T6 = c12 - c12[1]Guppy = (T1 + T2 + T3 + T4 + T5 + T6)/6GuppyMoy = average[20](Guppy)*10if GuppyMoy<GuppyMoy[1] and GuppyMoy[1]>GuppyMoy[2] and GuppyMoy[1]>0 thenRetB5=RetB4RetB4=RetB3RetB3=RetB2RetB2=RetB1RetB1=GuppyMoy[1]RetBmoy=(RetB1+RetB2+RetB3+RetB4+RetB5)/5endifif GuppyMoy>GuppyMoy[1] and GuppyMoy[1]<GuppyMoy[2] and GuppyMoy[1]<0 thenRetH5=RetH4RetH4=RetH3RetH3=RetH2RetH2=RetH1RetH1=GuppyMoy[1]RetHmoy=(RetH1+RetH2+RetH3+RetH4+RetH5)/5endifReturn ecart as "ecart", guppymoy as "guppymoy", RetBmoy as "Moyenne 5 derniers retournements baissiers", RetHmoy as "Moyenne 5 derniers retournements haussiers"08/03/2021 at 4:53 PM #174622 -
AuthorPosts
Find exclusive trading pro-tools on