zones verticales sur graphe du macd reloaded
Forums › ProRealTime forum Français › Support ProBuilder › zones verticales sur graphe du macd reloaded
-
-
08/28/2025 at 12:17 PM #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 + DifferenceShortEMAlong1 = Average[long1,mmlong1](close)
EMAlong2 = Average[long2,mmlong2](EMAlong1)
DifferenceLong = EMAlong1 – EMAlong2
ReloadedLong = EMAlong1 + DifferenceLongReloadedMACD = ReloadedShort – ReloadedLong
signal1=ExponentialAverage[signal](RELOADEDMACD)
signal2=ExponentialAverage[signal](signal1)
DIFFERENCE2=signal1-signal2SignalMACD=signal1+DIFFERENCE2
if signalMACD>=ReloadedMACD then
r=250
g=0
b=0
else
r=0
g=250
b=0
endifDRAWCANDLE(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”
08/28/2025 at 2:41 PM #250163Certaines variables manquent de définition. Veuillez les indiquer ou joindre le fichier ITF.
08/28/2025 at 2:51 PM #25016808/28/2025 at 6:03 PM #25017308/31/2025 at 8:56 PM #250228voici 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 + DifferenceShortEMAlong1 = Average[long1,mmlong1](close)
EMAlong2 = Average[long2,mmlong2](EMAlong1)
DifferenceLong = EMAlong1 – EMAlong2
ReloadedLong = EMAlong1 + DifferenceLongReloadedMACD = 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 = ReloadedMACDDRAWCANDLE(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 < SignalMACDONCE 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.02IF 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”09/01/2025 at 9:06 AM #250232Pardon. 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 :12345IF ReloadedMACD > 0 THENBACKGROUNDCOLOR(0, 255, 0, 30) // greenELSEBACKGROUNDCOLOR(255, 0, 0, 30) // RedENDIFLe code complet serait celui-ci.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950short1 = 12mmshort1 = 1short2 = 6mmshort2 = 1long1 = 26mmlong1 = 1long2 = 13mmlong2 = 1signal = 9EMAshort1 = Average[short1,mmshort1](close)EMAshort2 = Average[short2,mmshort2](EMAshort1)DifferenceShort = EMAshort1 - EMAshort2ReloadedShort = EMAshort1 + DifferenceShortEMAlong1 = Average[long1,mmlong1](close)EMAlong2 = Average[long2,mmlong2](EMAlong1)DifferenceLong = EMAlong1 - EMAlong2ReloadedLong = EMAlong1 + DifferenceLongReloadedMACD = ReloadedShort - ReloadedLongsignal1 = ExponentialAverage[signal](ReloadedMACD)signal2 = ExponentialAverage[signal](signal1)DIFFERENCE2 = signal1 - signal2SignalMACD = signal1 + DIFFERENCE2IF SignalMACD >= ReloadedMACD THENr = 250g = 0b = 0ELSEr = 0g = 250b = 0ENDIFDRAWCANDLE(SignalMACD, ReloadedMACD, SignalMACD, ReloadedMACD) COLOURED(r, g, b)IF ReloadedMACD CROSSES OVER SignalMACD OR ReloadedMACD CROSSES UNDER SignalMACD THENDRAWTEXT("▲", barindex, SignalMACD, Dialog, Bold, 40) COLOURED(r, g, b)ENDIFIF ReloadedMACD > 0 THENBACKGROUNDCOLOR(0, 255, 0, 30) // greenELSEBACKGROUNDCOLOR(255, 0, 0, 30) // RedENDIFRETURN 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"1 user thanked author for this post.
09/01/2025 at 9:42 AM #25023309/02/2025 at 6:44 AM #250258Bonjour,
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/
-
AuthorPosts
Find exclusive trading pro-tools on