zones verticales sur graphe du macd reloaded

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #250158 quote
    geroniman
    Participant
    Junior

    voivi l itf du macd reloaded modifié. Comment faire apparaitre des zones verticales vert/rouge sur le graphe lorsque le macd est positif/négatif ? Merci d’avance

     

    EMAshort1 = Average[short1,mmshort1](close)
    EMAshort2 = Average[short2,mmshort2](EMAshort1)
    DifferenceShort = EMAshort1 – EMAshort2
    ReloadedShort = EMAshort1 + DifferenceShort

    EMAlong1 = Average[long1,mmlong1](close)
    EMAlong2 = Average[long2,mmlong2](EMAlong1)
    DifferenceLong = EMAlong1 – EMAlong2
    ReloadedLong = EMAlong1 + DifferenceLong

    ReloadedMACD = ReloadedShort – ReloadedLong

    signal1=ExponentialAverage[signal](RELOADEDMACD)
    signal2=ExponentialAverage[signal](signal1)
    DIFFERENCE2=signal1-signal2

    SignalMACD=signal1+DIFFERENCE2

    if signalMACD>=ReloadedMACD then
    r=250
    g=0
    b=0
    else
    r=0
    g=250
    b=0
    endif

    DRAWCANDLE(signalMACD,reloadedMACD,signalMACD,reloadedMACD) coloured(r,g,b)

    if reloadedMACD crosses over signalMACD or reloadedMACD crosses under signalMACD then
    drawtext(“▲”,barindex,signalMACD,Dialog,Bold,40) coloured(r,g,b)

    endif

    RETURN ReloadedMACD coloured(250,254,250) style(line,3 ) as “Reloaded MACD”, SignalMACD coloured(255,249,0) style(line,1) as “Signal MACD”, 0 coloured(250,250,250) as “zero line”

    #250163 quote
    robertogozzi
    Moderator
    Master

    Certaines variables manquent de définition. Veuillez les indiquer ou joindre le fichier ITF.

    #250168 quote
    geroniman
    Participant
    Junior

    oui les voici

    #250173 quote
    geroniman
    Participant
    Junior

    les bandes de couleur sur le graphique devraient etre comme ça

    #250228 quote
    geroniman
    Participant
    Junior

    voici le code proposé par gpt5

     

     

    // ==============================
    // MACD RELOADED + ZONES VERT/ROUGE
    // Version corrigée
    // ==============================

    //DEFPARAM CumulateOrders = False

    // —– Paramètres (valeurs par défaut)
    short1 = 12
    mmshort1 = 1
    short2 = 6
    mmshort2 = 1
    long1 = 26
    mmlong1 = 1
    long2 = 13
    mmlong2 = 1
    signal = 9

    // —– Calculs Reloaded MACD
    EMAshort1 = Average[short1,mmshort1](close)
    EMAshort2 = Average[short2,mmshort2](EMAshort1)
    DifferenceShort= EMAshort1 – EMAshort2
    ReloadedShort = EMAshort1 + DifferenceShort

    EMAlong1 = Average[long1,mmlong1](close)
    EMAlong2 = Average[long2,mmlong2](EMAlong1)
    DifferenceLong = EMAlong1 – EMAlong2
    ReloadedLong = EMAlong1 + DifferenceLong

    ReloadedMACD = ReloadedShort – ReloadedLong

    signal1 = ExponentialAverage[signal](ReloadedMACD)
    signal2 = ExponentialAverage[signal](signal1)
    DIFFERENCE2 = signal1 – signal2
    SignalMACD = signal1 + DIFFERENCE2

    // —– Couleurs pour la chandelle MACD (sous-graphique)
    IF SignalMACD >= ReloadedMACD THEN
    r = 250
    g = 0
    b = 0
    ELSE
    r = 0
    g = 250
    b = 0
    ENDIF

    // —– Tracer “chandelle” dans le sous-graphique MACD
    // ordre : open, high, low, close
    openC = SignalMACD
    highC = max(SignalMACD, ReloadedMACD)
    lowC = min(SignalMACD, ReloadedMACD)
    closeC = ReloadedMACD

    DRAWCANDLE(openC, highC, lowC, closeC) COLOURED(r,g,b)

    // —– Flèche sur les croisements
    IF (ReloadedMACD crosses over SignalMACD) OR (ReloadedMACD crosses under SignalMACD) THEN
    DRAWTEXT(“▲”, barindex, SignalMACD, Dialog, Bold, 40) COLOURED(r,g,b)
    ENDIF

    // —– Détection régime (haussier / baissier)
    bull = ReloadedMACD > SignalMACD
    bear = ReloadedMACD < SignalMACD

    ONCE zoneStart = barindex
    ONCE regime = 0 // +1 = bullish, -1 = bearish

    // initialisation du régime sur la première bougie utile
    IF regime = 0 THEN
    IF bull THEN
    regime = 1
    ELSIF bear THEN
    regime = -1
    ENDIF
    zoneStart = barindex
    ENDIF

    // si changement de régime : démarrer une nouvelle zone
    IF (bull AND regime <> 1) OR (bear AND regime <> -1) THEN
    zoneStart = barindex
    IF bull THEN
    regime = 1
    ELSE
    regime = -1
    ENDIF
    ENDIF

    // —– Bornes Y pour tracer les rectangles sur le graphique prix
    // (si tu veux couvrir toujours tout l’écran, tu peux remplacer par yLow=0 / yHigh=close*100)
    yLow = lowest[200](low) * 0.98
    yHigh = highest[200](high) * 1.02

    IF regime = 1 THEN
    // zone haussière — vert semi-transparent
    DRAWRECTANGLE(zoneStart, yLow, barindex, yHigh) COLOURED(0,200,0,30) BORDERCOLOR(0,0,0,0)
    ELSIF regime = -1 THEN
    // zone baissière — rouge semi-transparent
    DRAWRECTANGLE(zoneStart, yLow, barindex, yHigh) COLOURED(200,0,0,30) BORDERCOLOR(0,0,0,0)
    ENDIF

    // —– Retour des courbes MACD (sous-graphique)
    RETURN ReloadedMACD COLOURED(250,254,250) STYLE(line,3) AS “Reloaded MACD”,SignalMACD COLOURED(255,249,0) STYLE(line,1) AS “Signal MACD”,0 COLOURED(200,200,200) AS “zero line”

    #250232 quote
    Iván González
    Moderator
    Master

    Pardon. Je ne comprends pas très bien ce que tu recherches…
    Si ce que tu veux, c’est que le fond du graphique soit vert ou rouge selon le MACD, alors à partir de ton code initial, ce serait quelque chose comme ça :

    IF ReloadedMACD > 0 THEN
        BACKGROUNDCOLOR(0, 255, 0, 30) // green
    ELSE
        BACKGROUNDCOLOR(255, 0, 0, 30) // Red
    ENDIF

    Le code complet serait celui-ci.

    short1 = 12
    mmshort1 = 1
    short2 = 6
    mmshort2 = 1
    long1 = 26
    mmlong1 = 1
    long2 = 13
    mmlong2 = 1
    signal = 9
    
    EMAshort1 = Average[short1,mmshort1](close)
    EMAshort2 = Average[short2,mmshort2](EMAshort1)
    DifferenceShort = EMAshort1 - EMAshort2
    ReloadedShort = EMAshort1 + DifferenceShort
    
    EMAlong1 = Average[long1,mmlong1](close)
    EMAlong2 = Average[long2,mmlong2](EMAlong1)
    DifferenceLong = EMAlong1 - EMAlong2
    ReloadedLong = EMAlong1 + DifferenceLong
    
    ReloadedMACD = ReloadedShort - ReloadedLong
    
    signal1 = ExponentialAverage[signal](ReloadedMACD)
    signal2 = ExponentialAverage[signal](signal1)
    DIFFERENCE2 = signal1 - signal2
    SignalMACD = signal1 + DIFFERENCE2
    
    IF SignalMACD >= ReloadedMACD THEN
        r = 250
        g = 0
        b = 0
    ELSE
        r = 0
        g = 250
        b = 0
    ENDIF
    
    DRAWCANDLE(SignalMACD, ReloadedMACD, SignalMACD, ReloadedMACD) COLOURED(r, g, b)
    
    IF ReloadedMACD CROSSES OVER SignalMACD OR ReloadedMACD CROSSES UNDER SignalMACD THEN
        DRAWTEXT("▲", barindex, SignalMACD, Dialog, Bold, 40) COLOURED(r, g, b)
    ENDIF
    
    IF ReloadedMACD > 0 THEN
        BACKGROUNDCOLOR(0, 255, 0, 30) // green
    ELSE
        BACKGROUNDCOLOR(255, 0, 0, 30) // Red
    ENDIF
    
    RETURN ReloadedMACD COLOURED(250,254,250) STYLE(line,3) AS "Reloaded MACD", SignalMACD COLOURED(255,249,0) STYLE(line,1) AS "Signal MACD", 0 COLOURED(250,250,250) AS "zero line"
    
    robertogozzi thanked this post
    #250233 quote
    geroniman
    Participant
    Junior

    Oui merci Ivan

    #250258 quote
    JC_Bywan
    Moderator
    Master

    Bonjour,

    le sujet semblant relever davantage de la programmation d’indicateur sans problème autre de la plateforme, je le déplace du forum “support plateforme” au forum “support probuilder”. Pour info, si on veut retrouver rapidement un sujet déplacé d’un forum à un autre, on peut passer par sa fiche profil et utiliser les onglets “forum topics” pour les sujets initiés et “forum replies” pour voir aussi les sujets auxquels on a répondu: https://www.prorealcode.com/user/geroniman/

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

zones verticales sur graphe du macd reloaded


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
geroniman @geroniman Participant
Summary

This topic contains 7 replies,
has 4 voices, and was last updated by JC_Bywan
5 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 08/28/2025
Status: Active
Attachments: 4 files
Logo Logo
Loading...