Cumulative Volume Zig Zag – Divergences

Viewing 15 posts - 1 through 15 (of 33 total)
  • Author
    Posts
  • #61585 quote
    Alai-n
    Participant
    Veteran

    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).

    //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+volume
    
    if peak then
    
    
    
    cumV = Volume
    color = -1
    
    
    elsif tough then
    
    
    
    cumV = Volume
    color = 1
    
    
    endif
    
    Return cumV coloured by color
    
    #62032 quote
    Alai-n
    Participant
    Veteran

    UP

    #62044 quote
    Nicolas
    Keymaster
    Master

    Pas simple, on va voir ce qu’on peut faire .. Donc les divergences baissières sont à identifier uniquement sur les histogrammes vert ? et vice-versa pour les divergences haussières ?

    #62081 quote
    Alai-n
    Participant
    Veteran

    Affirmatif 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

    #62748 quote
    Alai-n
    Participant
    Veteran

    Salut Nicolas,

     

    As-tu eu le temps de te pencher dessus?!

    #62750 quote
    Nicolas
    Keymaster
    Master

    Non pas encore, je vais voir ça de suite …

    #62843 quote
    Nicolas
    Keymaster
    Master

    Est-ce que les divergences doivent être trouvé sur des pics ou des creux successifs ou doit-on aller chercher loin dans le passé ?

    #62863 quote
    Alai-n
    Participant
    Veteran

    Bonsoir,

    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.

    #62894 quote
    Nicolas
    Keymaster
    Master

    Ci 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.

    //PRC_CumVol ZigZag Divergences | indicator
    //14.02.2018
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    
    // --- parameters
    percentVariation = 3
    
    zz = ZigZag[percentVariation](close)
    
    peak = zz<zz[1] and zz[1]>zz[2]
    tough = zz>zz[1] and zz[1]<zz[2]
    
    if color=1 then
    cumV = cumV+volume
    else
    cumV = cumV-volume
    endif
    
    if peak then
    
    lastpeakvol = peakvol
    lastpeakhigh = peakhigh
    lastpeakbar = peakbar
    peakvol = cumV[1]
    peakhigh = high[1]
    peakbar = barindex[1]
    
    cumV = -Volume
    
    color = -1
    r=255
    g=0
    
    elsif tough then
    
    lasttoughvol = toughvol
    lasttoughlow = toughlow
    lasttoughbar = toughbar
    toughvol = cumV[1]
    toughlow = low[1]
    toughbar = barindex[1]
    
    cumV = Volume
    
    color = 1
    r=0
    g=255
    
    endif
    
    //divergences finder
    divbear=0
    divbull=0
    //bearish divergence
    if(peak) then
    if peakhigh<lastpeakhigh and peakvol>lastpeakvol then
    divbear = peakvol
    drawsegment(lastpeakbar,lastpeakvol,peakbar,peakvol) coloured(r,g,0)
    drawarrowdown(peakbar,peakvol) coloured(r,g,0)
    endif
    endif
    //bearish divergence
    if(tough) then
    if toughlow<lasttoughlow and toughvol>lasttoughvol then
    divbull = toughvol
    drawsegment(lasttoughbar,lasttoughvol,toughbar,toughvol) coloured(r,g,0)
    drawarrowup(toughbar,toughvol) coloured(r,g,0)
    endif
    endif
    
    return cumV coloured(r,g,0) style(histogram), divbear coloured(255,100,0) style(histogram), divbull coloured(100,255,0) style(histogram)
    #62907 quote
    Alai-n
    Participant
    Veteran

    Super 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

    #62914 quote
    Nicolas
    Keymaster
    Master

    A/ 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 ?

    #62922 quote
    Alai-n
    Participant
    Veteran

    C’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…;)

    #62961 quote
    Alai-n
    Participant
    Veteran

    Salut Nicolas,

    J’ai juste modifié le sens sur les lignes 57 et 65 et cela fonctionne!!!

    Merci beaucoup pour ton travail.

    Bon week-end.

    57 - if peakhigh>lastpeakhigh and peakvol<lastpeakvol then
    
    65 - if toughlow<lasttoughlow and toughvol<lasttoughvol then
    #62995 quote
    Nicolas
    Keymaster
    Master

    Formidable, repost le code complet dès que tu pourras, cela facilitera les références futures, merci. Je posterai sans doute l’indicateur dans la bibliothèque la semaine prochaine. Bon week-end.

    #62996 quote
    Alai-n
    Participant
    Veteran
    //PRC_CumVol ZigZag Divergences | indicator
    //14.02.2018
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    
    // --- parameters
    percentVariation = 3
    
    zz = ZigZag[percentVariation](close)
    
    peak = zz<zz[1] and zz[1]>zz[2]
    tough = zz>zz[1] and zz[1]<zz[2]
    
    if color=1 then
    cumV = cumV+volume
    else
    cumV = cumV-volume
    endif
    
    if peak then
    
    lastpeakvol = peakvol
    lastpeakhigh = peakhigh
    lastpeakbar = peakbar
    peakvol = cumV[1]
    peakhigh = high[1]
    peakbar = barindex[1]
    
    cumV = -Volume
    
    color = -1
    r=255
    g=0
    
    elsif tough then
    
    lasttoughvol = toughvol
    lasttoughlow = toughlow
    lasttoughbar = toughbar
    toughvol = cumV[1]
    toughlow = low[1]
    toughbar = barindex[1]
    
    cumV = Volume
    
    color = 1
    r=0
    g=255
    
    endif
    
    //divergences finder
    divbear=0
    divbull=0
    //bearish divergence
    if(peak) then
    if peakhigh>lastpeakhigh and peakvol<lastpeakvol then
    divbear = peakvol
    drawsegment(lastpeakbar,lastpeakvol,peakbar,peakvol) coloured(r,g,0)
    drawarrowdown(peakbar,peakvol) coloured(r,g,0)
    endif
    endif
    //bearish divergence
    if(tough) then
    if toughlow<lasttoughlow and toughvol<lasttoughvol then
    divbull = toughvol
    drawsegment(lasttoughbar,lasttoughvol,toughbar,toughvol) coloured(r,g,0)
    drawarrowup(toughbar,toughvol) coloured(r,g,0)
    endif
    endif
    
    return cumV coloured(r,g,0) style(histogram), divbear coloured(255,100,0) style(histogram), divbull coloured(100,255,0) style(histogram)
Viewing 15 posts - 1 through 15 (of 33 total)
  • You must be logged in to reply to this topic.

Cumulative Volume Zig Zag – Divergences


Support ProBuilder

New Reply
Author
author-avatar
Alai-n @alai-n Participant
Summary

This topic contains 32 replies,
has 8 voices, and was last updated by pyc
5 years, 4 months ago.

Topic Details
Forum: Support ProBuilder
Language: French
Started: 02/05/2018
Status: Active
Attachments: 13 files
Logo Logo
Loading...