Sommets et Creux sur 5 Bars

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #245215 quote
    4801
    Participant
    Junior

    Bonjour à tous,

    Je bloque sur un code d’ indicateur :

    Repérer quand un HIGH est plus haut que les  HIGH des 2 bars précédentes  ainsi que des 2 HIGH des bars qui le suivent. Autrement dit pour 5 bars ( 1,2,3,4,5) le HIGH de la 3 est  plus haut que les HIGH des bars 1,2,4,5 .

    Même recherche pour le LOW le plus bas par rapport aux 2 bars précédentes ainsi que pour les 2 low des 2 bars qui le suivent.

    // sur 5 bougies,le HIGH de celle du milieu est supérieur aux HIGH des bars qui l’ encadrent
    A = HIGH[2] > HIGH [1] AND HIGH[2] > HIGH
    B = HIGH[2] > HIGH [3] AND HIGH[2] > HIGH[4]
    IF A AND B THEN
    SOMMET = HIGH[2]
    ENDIF
    // sur 5 bougies,le LOW de celle du milieu est inférieure aux LOW des bars qui l’ encadrent
    C = LOW[2] < LOW [1] AND LOW[2] < LOW
    D = LOW[2] < LOW [3] AND LOW[2] < LOW[4]
    IF C AND D THEN
    CREUX = LOW[2]
    ENDIF
    DRAWPOINT (SOMMET,2)COLOURED(0,0,255)
    DRAWPOINT (CREUX,2) COLOURED(255,0,0)
    RETURN

    Merci  et bonne soirée à tous.

    #245221 quote
    fifi743
    Participant
    Master

    tu as essayé avec min ou max

    #245223 quote
    JC_Bywan
    Moderator
    Master

    Bonsoir,

    Dans l’usage de drawpoint il manque la coordonnée horizontale barindex[2], et son placement serait plutôt dans les blocs if … endif aussi, à tester:

     

    // sur 5 bougies,le HIGH de celle du milieu est supérieur aux HIGH des bars qui l’ encadrent
    A = HIGH[2] > HIGH [1] AND HIGH[2] > HIGH
    B = HIGH[2] > HIGH [3] AND HIGH[2] > HIGH[4]
    IF A AND B THEN
     SOMMET = HIGH[2]
     DRAWPOINT(barindex[2],SOMMET,2)COLOURED(0,0,255)
    ENDIF
    // sur 5 bougies,le LOW de celle du milieu est inférieure aux LOW des bars qui l’ encadrent
    C = LOW[2] < LOW [1] AND LOW[2] < LOW
    D = LOW[2] < LOW [3] AND LOW[2] < LOW[4]
    IF C AND D THEN
     CREUX = LOW[2]
     DRAWPOINT(barindex[2],CREUX,2) COLOURED(255,0,0)
    ENDIF
    
    RETURN
    Iván González thanked this post
    #245225 quote
    LucasBest
    Participant
    Junior

    Autrement dit pour 5 bars ( 1,2,3,4,5) le HIGH de la 3 est plus haut que les HIGH des bars 1,2,4,5 .

    Il suffit de traduire la phrase littéralement…
    n étant le nombre de bars avant et après :
    Sommet = High[n]=Highest[2*n+1](high) // avec n=2 cela fait 2*n+1 => 5 et High[n] n étant la bar du milieu, l’avant avant dernière avec n=2

    de même,
    Creux = Low[n]=lowest[2*n+1](low)

    Si l’on veut un nombre de bar à gauche (ng) différent du nombre de bar à droite (nd), c’est à peu près pareil :
    Sommet = High[nd]=Highest[ng+nd+1](high)
    Creux = Low[nd]=lowest[ng+nd+1](low)

    Iván González thanked this post
    #245226 quote
    JS
    Participant
    Senior

    Vous pouvez également l’afficher de cette façon :

    If High[2]=Highest[2*2+1](High) then
    DrawPoint(BarIndex[2],High[2],2)Coloured("Green")
    EndIf
    
    If Low[2]=Lowest[2*2+1](Low) then
    DrawPoint(BarIndex[2],Low[2],2)Coloured("Red")
    EndIf
    
    Return
    Iván González thanked this post
    #245241 quote
    4801
    Participant
    Junior
    Merci à tous .  C’ est OK pour moi ça fonctionne, j’ avais oublié que pour tracer 1 point il fallait 2 coordonnées. Dans mon cas :  barindex[2] et sommet ou creux. Bonne journée à tous.
Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.

Sommets et Creux sur 5 Bars


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
4801 @4801 Participant
Summary

This topic contains 5 replies,
has 5 voices, and was last updated by 4801
10 months, 2 weeks ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 03/24/2025
Status: Active
Attachments: No files
Logo Logo
Loading...