Bonjour à tous,
Dans cet article, je réponds à une question souvent posée :
Pourquoi l’indicateur MACD est différent sur certaines plateformes de trading ?
Je prend l’exemple sur Metatrader et ProRealTime.
.
En fait, la vidéo vous montre que l’un des deux indicateurs ne répond pas tout à fait à la véritable définition du MACD. Nous allons en effet distinguer :
- le MACD
- l’OsMA
.
Je vous livre les codes pour ProRealTime.
Pensez évidemment à faire basculer l’affichage de l’indicateur en histogrammes.
.
Voici le code de l’indicateur MACD (idem à Metatrader) :
// Paramètres
C = 12
L = 26
MMC = exponentialAverage[C](close)
MML = exponentialAverage[L](close)
MACDHisto = MMC - MML
RETURN MACDHisto as "MACD Histogramme"
.
Voici le code de l’indicateur OsMA (proche du MACD de ProRealTime) :
// Paramètres
C = 12
L = 26
S = 9
MMC = exponentialAverage[C](close)
MML = exponentialAverage[L](close)
MACDligne = MMC - MML
ligne = Average[S](MACDHisto)
RETURN MACDligne - ligne as "MACD Histogramme"
.
MISE A JOUR : 24 mars 2019
Voici le code du MACD de ProRealTime :
Merci à un ami lecteur de m’avoir signalé que le code de MACD pour ProRealTime est simplement le même que plus haut… mais avec une moyenne mobile EXPONENTIELLE pour la « ligne ».
Pour les deux lignes, c’est cela : la ligne rouge pour le Signal (calcul = ligne) et la ligne bleue pour le MACD mais représenté en ligne et non pas en histogramme (calcul = MACDligne).
// Paramètres
C = 12
L = 26
S = 9
MMC = exponentialAverage[C](close)
MML = exponentialAverage[L](close)
MACDligne = MMC - MML
ligne = exponentialAverage[S](MACDHisto)
RETURN MACDligne - ligne as "MACD Histogramme", MACDhisto COLOURED(0,0,250) as "ligne", ligne coloured(250,0,0) as "Signal"
.
MISE A JOUR : 20 AOÛT 2019
Petit ajout à ce code « MACD ProRealTime », pour faire figurer le MACD sous formes de couleurs aux changements de tendance :
.
MACD version Metatrader :
// Paramètres C = 12 L = 26 MMC = exponentialAverage[C](close) MML = exponentialAverage[L](close) MACDligne = MMC - MML IF MACDligne >= MACDligne [1] THEN r = 0 g = 255 b = 0 ELSIF MACDligne < MACDligne [1] THEN r = 255 g = 0 b = 0 ENDIF RETURN MACDligne coloured(r,g,b) as "MACD Histogramme"
.
MACD version Prorealtime :
// Paramètres
C = 12
L = 26
MMC = exponentialAverage[C](close)
MML = exponentialAverage[L](close)
MACDligne = MMC - MML
ligne = exponentialAverage[9](MACDligne)
MACDHisto = MACDligne - ligne
IF MACDHisto >= MACDHisto [1] THEN
r = 0
g = 255
b = 0
ELSIF MACDHisto < MACDHisto [1] THEN
r = 255
g = 0
b = 0
ENDIF
RETURN MACDHisto coloured(r,g,b) as "MACD Histogramme"
.

.
.