indicateur Cumulative volume delta

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #261541 quote
    pilou66
    Participant
    Average

    Bonjour à tous,

    sur le graph on peut avoir un indicateur cumulative volume delta.

    Quelle est l’instruction pour utiliser ce delta dans proorder? je n’ai pas trouvé.

    et pour aller plus loin: comment cet indicateur est obtenu, calculé?

    merci de votre aide

    Capture-decran-2026-05-27-111109.png Capture-decran-2026-05-27-111109.png
    #261543 quote
    Nicolas
    Keymaster
    Legend

    Les données de cet indicateur ne sont pas disponibles via le langage de programmation.

    #261544 quote
    Iván González
    Moderator
    Legend

    Bonjour,

    Je réponds aux deux questions séparément :

    1) Utiliser le CVD natif dans ProOrder : ce n’est pas possible directement

    L’indicateur “Cumulative Volume Delta” que tu vois sur le graphique est un indicateur propriétaire de la plateforme qui n’est PAS exposé au langage ProBuilder/ProOrder. C’est pour ça que tu ne trouves pas l’instruction : elle n’existe pas.

    En interne, il travaille avec des données de bande tick-by-tick (chaque trade individuel classé comme agression acheteuse s’il s’exécute au ask, ou agression vendeuse s’il s’exécute au bid). Ces données ne sont pas accessibles depuis le code. Dans ProBuilder/ProOrder tu n’as que VOLUME, qui est le volume total agrégé de la bougie, sans détail acheteur/vendeur.

    2) Comment il est calculé (natif) et comment l’approximer en code

    Calcul natif :

    Pour chaque tick de la bougie : si le trade s’exécute au prix ask → son volume est ajouté au delta. S’il s’exécute au bid → il est soustrait. Le delta de la bougie est la somme de tous ces deltas tick par tick. Le CVD (cumulatif) est la somme courante des deltas de chaque bougie.

    Approximation en ProBuilder/ProOrder :

    Comme on n’a pas les ticks, il faut approximer par la direction de la bougie. Deux méthodes courantes :

    Version 1 — binaire par bougie (la plus simple) :

    once cvd = 0
    IF close > open THEN
        cvd = cvd + volume
    ELSIF close < open THEN
        cvd = cvd - volume
    ENDIF
    RETURN cvd AS "CVD approx"
    

    Version 2 — proportionnelle à la position de la clôture dans le range (plus douce) :

    once cvd = 0
    IF high > low THEN
        buyVol = volume * (close - low) / (high - low)
        sellVol = volume * (high - close) / (high - low)
        cvd = cvd + (buyVol - sellVol)
    ENDIF
    RETURN cvd AS "CVD approx prop"
    

    3) Recommandations pour l’utiliser dans un système ProOrder

    • Le CVD cumulatif depuis le début du graphique croît sans limite et n’est pas comparable d’un jour à l’autre. Pour un usage réel en système, préfère une de ces variantes : Reset par séance (intraday) :
    IF intradaybarindex = 0 THEN
        cvd = 0
    ENDIF
    

    Delta “rolling” sur N bougies (non cumulatif depuis l’origine) :

    N = 20
    cvdN = 0
    FOR i = 0 TO N-1 DO
        IF close[i] > open[i] THEN
            cvdN = cvdN + volume[i]
        ELSIF close[i] < open[i] THEN
            cvdN = cvdN - volume[i]
        ENDIF
    NEXT
    
    • Ne t’attends pas à ce que l’approximation coïncide exactement avec l’indicateur natif du graphique. En M1 ou en bougies de quelques secondes, ils divergent pas mal ; en M5+ ils se rapprochent. L’approximation capte bien le signal de pression, mais elle n’est pas identique.


    J’espère que ça t’aide.


    Nicolas and robertogozzi thanked this post
    #261545 quote
    pilou66
    Participant
    Average

    merci à tous les deux pour ces réponses exhaustives et rapides.

    #261546 quote
    Nicolas
    Keymaster
    Legend

    J’avais ça aussi il y a quelques temps: https://www.prorealcode.com/prorealtime-indicators/cumulative-volume-delta-periods/

    Je me demande si il n’y a pas une autre version qui existe où, en temps réel, à chaque tick reçu on ajoute / retranche les volumes selon la direction du prix, à l’aide du IsLastBarUpdate. Bien entendu, ça ne serait pas disponible dans l’historique, mais uniquement à partir du moment où on place l’indicateur sur le graphique, je vais chercher.

    Iván González thanked this post
    #261548 quote
    Nicolas
    Keymaster
    Legend

    Autre code dispo: https://www.prorealcode.com/topic/conversion-of-delta-volume/

    Sinon, en repartant de ce code de notre bibliothèque de snippets (une mine d’or !): https://www.prorealcode.com/snippet/display-per-bar-volume-accumulation-in-real-time/

    Je dissocie les volumes lorsque le prix grimpe ou descend durant chaque bougie :

    if not isset($volumes[barindex]) then
    $volumesUp[barindex] = 0
    $volumesDn[barindex] = 0
    $volumes[barindex] = 0
    $lastPrice[barindex] = close
    endif
    
    
    if islastbarupdate then
    diff=volume-$volumes[barindex]
    if close>$lastPrice[barindex] then 
    $volumesUp[barindex]=$volumesUp[barindex]+diff
    else
    $volumesDn[barindex]=$volumesDn[barindex]+diff
    endif
    $lastPrice[barindex] = close
    $volumes[barindex] = volume
    endif 
    
    
    return $volumesUp[barindex] coloured("lightgreen") style(histogram,2), -$volumesDn[barindex] coloured("crimson") style(histogram,2)
    

    On obtient ainsi une sorte de Delta du volume par bougie, estimatif 😉

    ot2n4JJhfC.png ot2n4JJhfC.png
    #261571 quote
    pilou66
    Participant
    Average

    merci Nicolas, je vais me plonger là dedans. j’ai construit une sorte d’indicateur de pression de force acheteuse vendeuse avec le force index qui produit un delta sur x bougies. C’est assez efficace mais pas impulsif; ça amène une vision de la tendance (les acheteurs sont en force ou pas) mais pas de l’impulsion de la bougie, c’est là que le delta volume est intéressant: ne pas entrer long sur une bougie qui a un delta négatif.

    #261576 quote
    Nicolas
    Keymaster
    Legend

    Ok, c’est plutôt approximatif puisque la quantité de volume reçu est une agrégation de ce qui s’est passé dans le carnet, hors on ne connaît pas ce détail.

    Il y avait pour projet d’ajouter des instructions pour donner jusqu’à 10 ou 20 niveaux du carnet dans les instructions ; pour le moment en standby.

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

indicateur Cumulative volume delta


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
pilou66 @pilou66 Participant
Summary

This topic contains 7 replies,
has 3 voices, and was last updated by Nicolas
1 day, 8 hours ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 05/27/2026
Status: Active
Attachments: 1 files
Logo Logo
Loading...