MACD : 3 formules

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.

.

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)

MACDHisto = MMC - MML
ligne = Average[S](MACDHisto)

RETURN MACDHisto - 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 = MACDHisto).

// Paramètres
C = 12
L = 26
S = 9

MMC = exponentialAverage[C](close)
MML = exponentialAverage[L](close)

MACDHisto = MMC - MML
ligne = exponentialAverage[S](MACDHisto)

RETURN MACDHisto - 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 :

// Paramètres
//C = 12
//L = 26

MMC = exponentialAverage[C](close)
MML = exponentialAverage[L](close)

MACDHisto = MMC - MML

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"

.

.

.


Share Button