Point Pivot Horaire

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #173213 quote
    Roland57800
    Participant
    Veteran

    Bonjour,
    j’ai repris dans la bibliothèque de PRT un code concernant les points pivots horaire

    et je voulais pouvoir tracer à l’aide d’un segment le point pivot sur le durée de l’heure

    et je n’y arrive pas.

    Merci pour une aide sur ce sujet
    Cordialement

    Pivot = 1
     
    IF Openhour <> openhour [ 1 ]  THEN
    myLastHigh = myHigh
    myLastLow = myLow
    myLastClose = Close [ 1 ]
    myHigh = High
    myLow = Low
    myopen = open
    ELSE
    myHigh = Max(myHigh, High)
    myLow = Min(myLow, Low)
    ENDIF
     
    // Formule en fonction de la valeur du paramètre Pivot
    IF Pivot = 2 THEN
    // Point pivot : PP= (Hveille + Bveille + Cveille + Ojour) / 4
    PP = (myLastHigh + myLastLow + myLastClose + myopen) / 4
    ELSIF Pivot = 3 THEN
    // Point pivot : PP= (Hveille + Bveille + Ojour) / 3
    PP = (myLastHigh + myLastLow + myopen) / 3
    ELSE
    // Point pivot : PP= (Hveille + Bveille + Cveille) / 3
    PP = (myLastHigh + myLastLow + myLastClose) / 3
    
    ENDIF
    
    Res1 = 2 * PP - myLastLow
    Res2 = PP + myLastHigh - myLastLow
    Res3 = myLastHigh + 2 * (PP - myLastLow)
    Sup1 = 2 * PP - myLastHigh
    Sup2 = PP - myLastHigh + myLastLow
    Sup3 = myLastLow - 2 * (myLastHigh - PP)
    
    Return pp
    #173215 quote
    robertogozzi
    Moderator
    Master

    Comme c'est maintenant le cas, tracez une ligne différente toutes les heures, n'est-ce pas ?

    #173218 quote
    robertogozzi
    Moderator
    Master

    Peut-être?

    //DEFPARAM DrawOnLastBarOnly = true
    Pivot = 1
     
    IF Openhour <> openhour [ 1 ]  THEN
    MyPP        = PP
    StartBar    = BarIndex
    myLastHigh  = myHigh
    myLastLow   = myLow
    myLastClose = Close [ 1 ]
    myHigh = High
    myLow = Low
    myopen = open
    ELSE
    myHigh = Max(myHigh, High)
    myLow = Min(myLow, Low)
    ENDIF
     
    // Formule en fonction de la valeur du paramètre Pivot
    IF Pivot = 2 THEN
    // Point pivot : PP= (Hveille + Bveille + Cveille + Ojour) / 4
    PP = (myLastHigh + myLastLow + myLastClose + myopen) / 4
    ELSIF Pivot = 3 THEN
    // Point pivot : PP= (Hveille + Bveille + Ojour) / 3
    PP = (myLastHigh + myLastLow + myopen) / 3
    ELSE
    // Point pivot : PP= (Hveille + Bveille + Cveille) / 3
    PP = (myLastHigh + myLastLow + myLastClose) / 3
     
    ENDIF
     
    Res1 = 2 * PP - myLastLow
    Res2 = PP + myLastHigh - myLastLow
    Res3 = myLastHigh + 2 * (PP - myLastLow)
    Sup1 = 2 * PP - myLastHigh
    Sup2 = PP - myLastHigh + myLastLow
    Sup3 = myLastLow - 2 * (myLastHigh - PP)
    DrawSegment(StartBar,MyPP,BarIndex,MyPP) coloured(0,255,0,255) style(Line, 1)
    Return //pp
    #173220 quote
    Roland57800
    Participant
    Veteran

    Merci Roberto pour cette réponse rapide

    ça marche, toutefois j’aurais voulu que le tracé se fasse sur la distance totale de l’heure
    c’est à dire pour l’exemple

    à 10heures on a le début du tracé, et jusqu’à 10h58 immédiatement
    Le code tel qu’il est trace au fur et mesure de l’avancement des chandeliers, par exemple quand je suis en m2

    et je voudrais le tracé complet de 10heures (début) jusqu’à 10h58 (heure de fin)
    Merci
    Cordialement

    #173230 quote
    robertogozzi
    Moderator
    Master

    Voilà:

    //DEFPARAM DrawOnLastBarOnly = true
    Pivot = 1
     
    IF Openhour <> openhour [ 1 ]  THEN
    //
    MyEnd      = (Opendate * 1000000) + (OpenHour * 10000) + (5900)   //YYYYMMDDHHMMSS
    MyPP        = PP
    StartBar    = BarIndex
    //
    myLastHigh  = myHigh
    myLastLow   = myLow
    myLastClose = Close [ 1 ]
    myHigh = High
    myLow = Low
    myopen = open
    ELSE
    myHigh = Max(myHigh, High)
    myLow = Min(myLow, Low)
    ENDIF
     
    // Formule en fonction de la valeur du paramètre Pivot
    IF Pivot = 2 THEN
    // Point pivot : PP= (Hveille + Bveille + Cveille + Ojour) / 4
    PP = (myLastHigh + myLastLow + myLastClose + myopen) / 4
    ELSIF Pivot = 3 THEN
    // Point pivot : PP= (Hveille + Bveille + Ojour) / 3
    PP = (myLastHigh + myLastLow + myopen) / 3
    ELSE
    // Point pivot : PP= (Hveille + Bveille + Cveille) / 3
    PP = (myLastHigh + myLastLow + myLastClose) / 3
     
    ENDIF
     
    Res1 = 2 * PP - myLastLow
    Res2 = PP + myLastHigh - myLastLow
    Res3 = myLastHigh + 2 * (PP - myLastLow)
    Sup1 = 2 * PP - myLastHigh
    Sup2 = PP - myLastHigh + myLastLow
    Sup3 = myLastLow - 2 * (myLastHigh - PP)
    DrawSegment(StartBar,MyPP,DateToBarIndex(MyEnd),MyPP) coloured(0,255,0,255) style(Line, 1)
    Return //pp
    #173231 quote
    Roland57800
    Participant
    Veteran

    Merci Roberto

    Je vais regarder ça

    Bon après-midi
    Cordialement

    #173290 quote
    Roland57800
    Participant
    Veteran

    Bonjour,
    il subsiste un petit problème dans le code précédent publié.
    Le traçage se fait sur l’heure concernée, exemple de 13h00 à 13h58

    Seule problème, le niveau de la ligne n’est pas remonté au bon endroit
    le PP Horaire est actuellement de 15 640.90 et la ligne reste au niveau
    du PP horaire précédent.

    Quel peut être le problème dans cette présentation
    Merci pour la réponse
    Cordialement

    #173292 quote
    robertogozzi
    Moderator
    Master

    Parce qu'il ne le met à jour qu'au changement d'heure. Pour le maintenir à jour, remplacez simplement MyPP par PP , dans tous les cas.

    #173294 quote
    Roland57800
    Participant
    Veteran

    Ah, ok

    Merci pour la réponse Roberto

    Bon après-midi

    Cordialement

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

Point Pivot Horaire


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
Summary

This topic contains 8 replies,
has 2 voices, and was last updated by Roland57800
4 years, 8 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 07/06/2021
Status: Active
Attachments: No files
Logo Logo
Loading...