zones verticales sur graphe du macd reloaded

Forums ProRealTime forum Français Support ProBuilder zones verticales sur graphe du macd reloaded

Viewing 8 posts - 1 through 8 (of 8 total)
  • #250158

    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

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

     

    #250168

    oui les voici

    #250173

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

    #250228

    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

    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 :

    Le code complet serait celui-ci.

    1 user thanked author for this post.
    #250233

    Oui merci Ivan

    #250258

    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)

Create your free account now and post your request to benefit from the help of the community
Register or Login