Cumulative Volume Zig Zag – Divergences
Forums › ProRealTime forum Français › Support ProBuilder › Cumulative Volume Zig Zag – Divergences
- This topic has 32 replies, 8 voices, and was last updated 4 years ago by pyc.
Tagged: divergences, volumes, zigzag
-
-
02/05/2018 at 7:35 PM #61585
J’apprécierai bien un petit coup de main pour créer un indicateur permettant de détecter les divergences sur celui déjà existant le “Cumulative volume Zig Zag”.
Image Jointe : Détection de divergences baissières entre les Top marqués par le prix et ceux marqués par l’indicateur.
[High 1] < [High 2] AND [ZZ 3] > [ZZ 4]
Puis inversement pour les divergences haussières…Je ne sais pas par où commencer!
72 heures que je regarde mon écran en espérant un flash, mais à part les yeux tout secs… Pas d’autres résultats!PS : Au cas où… Je suis tout à fait conscient que l’indicateur repeindra d’une barre(bougie).
1234567891011121314151617181920212223242526272829303132333435//PRC_CumulativeVolume ZigZag//17.02.2017//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge// --- parameters//PercentVariation = 0.05%zz = ZigZag[0.05](close)peak = zz<zz[1] and zz[1]>zz[2]tough = zz>zz[1] and zz[1]<zz[2]cumV = cumV+volumeif peak thencumV = Volumecolor = -1elsif tough thencumV = Volumecolor = 1endifReturn cumV coloured by color02/08/2018 at 3:23 PM #6203202/08/2018 at 4:36 PM #6204402/08/2018 at 11:32 PM #62081Affirmatif M.Nicolas… 😉
J’essaie toujours de trouver un moyen, en fouillant sur le net, pour se débarrasser de ce Zig Zag dans le calcul de l’accumulation de Volumes.
J’ai pu constater que je n’étais pas le seul à qui cela posait problème. Mais pour l’heure, mes recherches restent vaines…
Thanks
02/14/2018 at 4:40 PM #6274802/14/2018 at 5:07 PM #6275002/15/2018 at 5:59 PM #6284302/15/2018 at 8:59 PM #62863Bonsoir,
Les divergences doivent être trouvé sur des pics et des creux successifs(Indicateur+Prix)!
La corrélation Indicateur/Prix doit se faire sur le “High Price” pour une divergence Baissière et sur le “Low Price” pour une divergence haussière.
Le paramétrage du ZigZag dans le code doit rester modifiable afin de pouvoir s’adapter aux différents TimeFrame.
PS1 : Si tu as une idée pour se débarrasser du ZigZag dans le fonctionnement de l’indicateur! Car je crains que la formulation actuelle ne fonctionne pas en temps réel à cause de ce même ZigZag…
L’idée étant de déclencher une alerte lorsque la configuration de divergence intervient. Pour l’heure j’utilise beaucoup cet indicateur, mais je passe mon temps à rafraîchir le graphique car il s’écrase et devient illisible sans rafraîchissement récurrent…
PS2 : Au pire si il ne devait pas fonctionner en temps réel, tu m’auras permis de récupérer la trame écrite du code afin de l’adapter à un autre indicateur. Car ça fait un moment que je suis dessus. Et je n’arrive pas à créer une corrélation Indicateur+Prix.
Merci bonne soirée.
02/16/2018 at 9:31 AM #62894Ci joint en l’état ce que j’ai donc fait en suivant tes indications.
Effectivement, par nature le zigzag va forcément indiquer des infos différentes d’une bougie à l’autre en temps réel et les divergences trouvées par l’indicateur seraient peut être dans ce cas invalidées. Cela est du au fait que Prorealtime ne lit qu’une seule fois l’historique, cela limitant l’effet de recalcul (ce que l’on appel le “repaint”) et qui nous donne toujours des signaux parfaits. Par contre, sur l’historique les données seront toujours correctes.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172//PRC_CumVol ZigZag Divergences | indicator//14.02.2018//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge// --- parameterspercentVariation = 3zz = ZigZag[percentVariation](close)peak = zz<zz[1] and zz[1]>zz[2]tough = zz>zz[1] and zz[1]<zz[2]if color=1 thencumV = cumV+volumeelsecumV = cumV-volumeendifif peak thenlastpeakvol = peakvollastpeakhigh = peakhighlastpeakbar = peakbarpeakvol = cumV[1]peakhigh = high[1]peakbar = barindex[1]cumV = -Volumecolor = -1r=255g=0elsif tough thenlasttoughvol = toughvollasttoughlow = toughlowlasttoughbar = toughbartoughvol = cumV[1]toughlow = low[1]toughbar = barindex[1]cumV = Volumecolor = 1r=0g=255endif//divergences finderdivbear=0divbull=0//bearish divergenceif(peak) thenif peakhigh<lastpeakhigh and peakvol>lastpeakvol thendivbear = peakvoldrawsegment(lastpeakbar,lastpeakvol,peakbar,peakvol) coloured(r,g,0)drawarrowdown(peakbar,peakvol) coloured(r,g,0)endifendif//bearish divergenceif(tough) thenif toughlow<lasttoughlow and toughvol>lasttoughvol thendivbull = toughvoldrawsegment(lasttoughbar,lasttoughvol,toughbar,toughvol) coloured(r,g,0)drawarrowup(toughbar,toughvol) coloured(r,g,0)endifendifreturn cumV coloured(r,g,0) style(histogram), divbear coloured(255,100,0) style(histogram), divbull coloured(100,255,0) style(histogram)02/16/2018 at 12:24 PM #62907Super Génial Nicolas. Tu n’as pas idée de mon contentement de voir des Segments et des flèches sur l’indicateur! Cela fait des jours que je m’arrache les cheveux!!!
Cependant…Super génial, mais cela ne va pas du tout ;););)
Je m’explique :
A – Je comprends tout à fait l’utilité, que tu as préféré utiliser ta version modifiée avec passage en zone négative pour repérer les vagues volumes baissières. Mais dans ce cas les divergences haussières doivent se quantifier, comme dans l’Image 1(ci-jointe). L’indicateur original étant destiné à évoluer en zone positive, si l’on retourne son fonctionnement de base il faut donc y apporter un regard inverse.
B – (Image 2 )Sur le code actuel les divergences baissières n’existent pas.
PS : La notion à prendre en compte quant au volumes. Est que lors d’une phase haussière du marché les points hauts doivent être soutenus par des volumes croissants. Dans le cas contraire, si l’on compare les deux derniers points hauts et que l’on constate un manque d’entrain sur le volume(divergences), on peut en déduire un fléchissement du cours à venir. Et inversement, pour les phases baissières.
Merci pour ton travail
02/16/2018 at 1:20 PM #62914A/ Dans ton image, on a donc 2 nouveaux plus bas successifs avec à la fois des volumes croissants, où est la divergence ?
Si on reprend ta description du premier message : Détection de divergences baissières entre les Top marqués par le prix et ceux marqués par l’indicateur.
[High 1] < [High 2] AND [ZZ 3] > [ZZ 4]Comment faudrait-il la modifier dans ce cas ?
02/16/2018 at 3:25 PM #62922C’est toujours compliqué par écrit 😉
2 Problèmatiques :
PB1 : Les divergences Baissières n’existent pas dans le code. Voir Image A1 et ce qu’il faudrait arriver à faire Image A2
PB2 : Les divergences Haussières sont erronés car tu as choisis d’utiliser le code renvoyant les vagues baissières en zone négative. Je comprends tout à fait ce choix pour faciliter la différenciation entre hausse et baisse de l’indicateur en terme de codage! Mais dans ce cas il faut adapter la formulation du code pour repérer ce qu’est une divergence avec le code original qui n’évolue par défaut qu’en zone positive Image A3.
On va y arriver, je n’en doute pas…;)
02/17/2018 at 12:18 PM #62961Salut Nicolas,
J’ai juste modifié le sens sur les lignes 57 et 65 et cela fonctionne!!!
Merci beaucoup pour ton travail.
Bon week-end.
12357 - if peakhigh>lastpeakhigh and peakvol<lastpeakvol then65 - if toughlow<lasttoughlow and toughvol<lasttoughvol then02/17/2018 at 6:32 PM #6299502/17/2018 at 7:23 PM #62996123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172//PRC_CumVol ZigZag Divergences | indicator//14.02.2018//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge// --- parameterspercentVariation = 3zz = ZigZag[percentVariation](close)peak = zz<zz[1] and zz[1]>zz[2]tough = zz>zz[1] and zz[1]<zz[2]if color=1 thencumV = cumV+volumeelsecumV = cumV-volumeendifif peak thenlastpeakvol = peakvollastpeakhigh = peakhighlastpeakbar = peakbarpeakvol = cumV[1]peakhigh = high[1]peakbar = barindex[1]cumV = -Volumecolor = -1r=255g=0elsif tough thenlasttoughvol = toughvollasttoughlow = toughlowlasttoughbar = toughbartoughvol = cumV[1]toughlow = low[1]toughbar = barindex[1]cumV = Volumecolor = 1r=0g=255endif//divergences finderdivbear=0divbull=0//bearish divergenceif(peak) thenif peakhigh>lastpeakhigh and peakvol<lastpeakvol thendivbear = peakvoldrawsegment(lastpeakbar,lastpeakvol,peakbar,peakvol) coloured(r,g,0)drawarrowdown(peakbar,peakvol) coloured(r,g,0)endifendif//bearish divergenceif(tough) thenif toughlow<lasttoughlow and toughvol<lasttoughvol thendivbull = toughvoldrawsegment(lasttoughbar,lasttoughvol,toughbar,toughvol) coloured(r,g,0)drawarrowup(toughbar,toughvol) coloured(r,g,0)endifendifreturn cumV coloured(r,g,0) style(histogram), divbear coloured(255,100,0) style(histogram), divbull coloured(100,255,0) style(histogram) -
AuthorPosts