Affichage sur graphique 5min des valeurs passé 4h

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #248963 quote
    bertrandpinoy
    Participant
    Veteran

    Objet : Affichage sur graphique 5min du bas de la mèche et du haut du corps de l’avant-dernière bougie H4

    Bonjour à tous,

    Je suis à la recherche d’un indicateur qui affiche sur un graphique 5 minutes un rectangle représentant l’avant-dernière bougie H4 clôturée, avec des règles très précises :


    Objectif de l’indicateur :

    Afficher pendant la bougie H4 en cours (donc pendant 48 bougies 5min) un rectangle horizontal avec les caractéristiques suivantes :

        • Durée : 48 bougies 5min = 4 heures (exactement).
        • Niveaux utilisés (sur l’avant-dernière bougie H4 clôturée) :
          • Niveau bas = le plus bas absolu (mèche) de la bougie H4.
          • Niveau haut = le plus haut du corps, c’est-à-dire max(open, close)pas le high absolu.

    Ce que j’ai observé comme problèmes :

        • Soit le rectangle est trop large (60 bougies / 5h),
        • Soit le niveau haut n’est pas bon : il semble prendre des valeurs de la bougie H4 en cours ou au-delà.
        • Le niveau bas, lui, est bon dans la version actuelle.

    Ce que j’ai déjà testé (version partiellement fonctionnelle) :

    prorealtime

    CopierModifier

    defparam
    drawonlastbaronly = false h4Bars = 48 if barindex > h4Bars * 2
    then low4H = low[h4Bars * 2] highBody4H = max(open[h4Bars * 2],
    close[h4Bars * 2]) for i = h4Bars * 2 - 1 downto h4Bars + 1 do low4H
    = min(low4H, low[i]) highBody4H = max(highBody4H, max(open[i],
    close[i])) next startBar = barindex - (barindex mod h4Bars) if
    islastbarupdate then drawrectangle(startBar, low4H, startBar +
    h4Bars - 1, highBody4H) coloured("blue")
    fillcolor("blue",50) endif endif return


    Résultat de cette version :

        • Le niveau bas (mèche) est juste.
        • Le niveau haut (corps) est trop haut, comme s’il prenait aussi des open/close au-delà de la bougie H4 visée.
        • Et parfois, la largeur dépasse 4h (surtout après un week-end, ou après coupure de marché).

    Ce que je recherche :

    Un code :

        • Qui identifie avec précision les 48 bougies 5min constituant la bougie H4 clôturée précédente,
        • Calcule :
          • le low de la mèche,
          • le haut du corps (max(open, close)) uniquement sur ces 48 bougies,
        • Puis projette un seul rectangle pendant la bougie H4 en cours (48 bougies),
        • Même après les week-ends ou coupures.

    Merci à tous ceux qui pourront m’aiguiller ou corriger proprement l’approche ?
    Je suis sûr que ça aidera aussi d’autres traders intéressés par l’analyse H4 sur des unités intraday.

    #248964 quote
    fifi743
    Participant
    Master

    regarde ce que j’ai fait

    tu as le choix entre le corps de la bougie ou les meches

    #248968 quote
    JS
    Participant
    Senior

    Salut
    Essayez ces…

    TimeFrame(5 minutes, UpdateOnClose)
    
    If OpenTime=000000 or OpenTime=040000 or OpenTime=080000 or OpenTime=120000 or OpenTime=160000 or OpenTime=200000 then
    LL=Lowest[48](Low)
    HLO=Highest[48](Open)
    HLC=Highest[48](Close)
    xBarIndex=BarIndex
    If HLO>HLC then
    DrawRectangle(xBarIndex-48,HLO,xBarIndex,LL)Coloured("Red")
    else
    DrawRectangle(xBarIndex-48,HLC,xBarIndex,LL)Coloured("Red")
    EndIf
    EndIf
    
    Return
    #248984 quote
    robertogozzi
    Moderator
    Master

    Cela fonctionne sur 1 minute, 5 minutes, etc… :

    ONCE t = 40    //transparency
    ONCE N = 20   //18/20=offset on a 5-minute chart for the wicks  (use 1 on a 1-h chart, 2 0n a 30-min chart, 6 on a 15-min.chart)
    IF (OpenHour MOD 4 = 1) AND (OpenHour <> OpenHour[1]) THEN
       r = 255
       b = 0
       IF C4 > O4 THEN
          r = 0
          b = 255
       ENDIF
       DrawRectangle(Bar4,O4,BarIndex[1],C4)               coloured(r,0,b,t) bordercolor("Red",1)
       DrawRectangle(Bar4+N,H4,BarIndex[1]-N,max(O4,C4)) coloured(r,0,b,t) bordercolor("Red",1)
       DrawRectangle(Bar4+N,L4,BarIndex[1]-N,min(O4,C4)) coloured(r,0,b,t) bordercolor("Red",1)
       O4   = open
       H4   = high
       L4   = low
       Bar4 = BarIndex
    ENDIF
    C4 = close
    H4 = max(H4,high)
    L4 = min(L4,low)
    RETURN
    bertrandpinoy and Iván González thanked this post
    #248987 quote
    bertrandpinoy
    Participant
    Veteran

    Bonjour titi,

    Merci beaucoup pour ta contribution claire et bien structurée. Elle correspondait presque parfaitement à mon besoin ! J’ai apporté une petite adaptation pour que les niveaux de la bougie H4 soient figés après clôture, et affichés pendant la H4 suivante, plutôt que recalculés en continu.

    Ta logique est très propre, et ta structuration m’a beaucoup aidé à comprendre les étapes.

    Encore merci 🙏

    (Je poste ici aussi la version modifiée, si ça peut aider d’autres)

    // Initialisation ONCE mechehh = high ONCE mechell = low ONCE corphh = max(open, close) ONCE corpll = min(open, close) ONCE barCount = 0 ONCE save = 0 // Détection du début d’une nouvelle bougie H4 (heures fixes) IF opentime = 010000 OR opentime = 050000 OR opentime = 090000 OR opentime = 130000 OR opentime = 170000 OR opentime = 210000 THEN // Sauvegarder les extrêmes calculés précédemment lastMechehh = mechehh lastMechell = mechell lastCorphh = corphh lastCorpll = corpll save = 1 barCount = 0 // Réinitialisation pour la nouvelle bougie H4 en formation mechehh = high mechell = low corphh = max(open, close) corpll = min(open, close) ENDIF // Pendant la H4 en cours (on accumule les extrêmes) IF save = 1 THEN mechehh = max(mechehh, high) mechell = min(mechell, low) corphh = max(corphh, max(open, close)) corpll = min(corpll, min(open, close)) barCount = barCount + 1 ENDIF // Affichage des niveaux de la bougie H4 PRÉCÉDENTE IF barCount > 0 AND barCount <= 48 THEN if corp = 1 then COLORBETWEEN(lastCorpll, lastCorphh, “RED”) endif if meche = 1 then COLORBETWEEN(lastMechell, lastMechehh, “BLUE”) endif ENDIF RETURN
    Iván González thanked this post
Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

Affichage sur graphique 5min des valeurs passé 4h


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
Summary

This topic contains 4 replies,
has 4 voices, and was last updated by bertrandpinoy
6 months, 2 weeks ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 07/20/2025
Status: Active
Attachments: 3 files
Logo Logo
Loading...