Rejoignez-nous
Indicateurs/probuilder · probacktest · proorder · proscreener

MACD

MACD dans ProBuilder renvoie l'histogramme MACD, l'écart entre la ligne MACD et sa ligne de signal, avec les réglages standard 12/26/9. Syntaxe et exemples.

Syntaxe

probuilder
MACD[S, L, Si](price)

Paramètres

NomTypePar défautDescription
Sentier12Période de la moyenne mobile exponentielle courte.
Lentier26Période de la moyenne mobile exponentielle longue. Doit être supérieure à S.
Sientier9Période de la moyenne mobile exponentielle appliquée au MACD pour former la ligne de signal.
pricesource de prixcloseLa série de prix sur laquelle le calcul s'effectue. Généralement close, accepte aussi open, high, low, typicalprice, ou une variable personnalisée.

Formule

code
MACD line = EMA[S](price) - EMA[L](price)
Signal    = EMA[Si](MACD line)
MACD[S, L, Si](price) = MACD line - Signal   // the histogram

Le résultat n'est pas borné et s'exprime dans les unités de prix de l'instrument. Lorsque la ligne MACD se situe au-dessus de sa ligne de signal, la valeur est positive ; lorsqu'elle se situe en dessous, la valeur est négative.

Comment ça marche

Sur chaque bar, ProBuilder calcule la ligne MACD, l'EMA courte de price moins l'EMA longue, puis lisse cette ligne avec une Si-périodes de l'EMA pour former la ligne de signal. La MACD instruction renvoie la différence entre les deux, la série que les logiciels graphiques tracent sous forme d'histogramme. Un passage par zéro marque donc un croisement de la ligne de signal, pas un croisement d'EMA.

Les deux séries composantes sont disponibles comme instructions distinctes : MACDLine renvoie la ligne brute et MACDsignal renvoie la ligne de signal. MACDLine - MACDsignal reproduit la valeur renvoyée par MACD.

Le MACD a été conçu par Gerald Appel comme un indicateur de momentum suiveur de tendance. Il combine deux questions en une seule série : de quel côté de la tendance se trouve la moyenne courte, et à quelle vitesse l'écart entre les moyennes évolue.

Exemples

Exemple 1, MACD en hausse pendant que le prix recule (Indicateur)

probuilder
// MACD with the standard 12, 26, 9 settings on closing prices
i1 = MACD[12,26,9](close)
FOR i = 20 DOWNTO 0 DO
    IF(close[i] < close[i+1] AND i1 > i1[1]) THEN
        result = 100
    ELSE
        result = 0
    ENDIF
NEXT
RETURN result

Conservé depuis la page source. La condition associe une clôture en baisse à un MACD en hausse. Notez que chaque passage de la boucle écrase result, donc la valeur renvoyée ne reflète que la dernière itération (i = 0), le bar en cours.

Exemple 2, Stratégie de croisement de la ligne de signal (ProOrder)

probuilder
// Go long when the histogram turns positive, exit when it turns negative
DEFPARAM CumulateOrders = false
m = MACD[12,26,9](close)

IF NOT LongOnMarket AND m CROSSES OVER 0 THEN
  BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND m CROSSES UNDER 0 THEN
  SELL AT MARKET
ENDIF

Parce que MACD renvoie l'histogramme, un franchissement de zéro signifie que la ligne MACD a croisé sa ligne de signal, le déclencheur d'entrée MACD classique exprimé en une seule condition.

Exemple 3, Momentum en amélioration sous zéro (ProScreener)

probuilder
// Instruments where a negative histogram has risen two bars in a row
hist = MACD[12,26,9](close)
improving = hist < 0 AND hist > hist[1] AND hist[1] > hist[2]
SCREENER[improving](hist AS "MACD hist")

Renvoie les instruments encore sous la ligne de signal mais dont l'écart se resserre, un scan d'amélioration du momentum qui se déclenche avant le croisement effectif.

Interprétation

SignalLecture
Histogramme au-dessus de zéroLigne MACD au-dessus de sa ligne de signal, momentum haussier.
Histogramme en dessous de zéroLigne MACD en dessous de sa ligne de signal, momentum baissier.
L'histogramme croise au-dessus de zéroCroisement haussier de la ligne de signal, une condition de déclenchement courante.
Histogramme qui se resserre vers zéroMomentum qui s'essouffle avant un croisement possible.

Pour les croisements de la ligne zéro par la ligne MACD elle-même, la lecture du croisement d'EMA, testez MACDLine à zéro à la place.

Divergences. Une divergence haussière se produit lorsque le prix inscrit un plus bas plus bas alors que le MACD forme un plus bas plus haut. Une divergence baissière se produit lorsque le prix inscrit un plus haut plus haut alors que le MACD forme un plus haut plus bas. Les deux sont lues comme des signes précoces d'un retournement possible, et le DivergenceMACD instruction les détecte directement.

Erreurs et pièges courants

  • Histogramme, pas ligne. MACD renvoie l'histogramme. Le code porté depuis des plateformes où MACD() renvoie, la ligne se déclenchera à tort. Utilisez MACDLine pour la ligne et MACDsignal pour le signal.
  • Les trois périodes sont requises. MACD[12,26](close) déclenche une erreur de syntaxe. Les périodes vont entre crochets, la source de prix entre parenthèses : MACD[12,26,9](close).
  • Écrasement dans la boucle. Dans le motif source de l'exemple 1, la boucle FOR affecte result à chaque itération, de sorte que les bars antérieurs sont perdus. Pour compter les correspondances sur 21 bars, accumulez dans un compteur au lieu d'écraser.
  • Non comparable d'un instrument à l'autre. Le MACD n'est pas borné et varie avec le prix. Une lecture de 2.5 sur un indice et de 0.002 sur une paire forex n'ont aucune signification relative. Les screeners qui classent par MACD brut mélangent les échelles.
  • Retard sur les marchés lents. Deux EMA imbriquées font du MACD une mesure retardée. Les croisements arrivent bien après le retournement avec des réglages élevés, et raccourcir les périodes échange du retard contre des faux signaux.
  • MACDLine, la ligne MACD comme série autonome.
  • MACDsignal, la ligne de signal, une EMA du MACD.
  • DivergenceMACD, détection de divergence intégrée.
  • ExponentialAverage, l'EMA à partir de laquelle le MACD est construit.
  • PriceOscillator, variante en pourcentage de la même idée.
  • Momentum, variation brute du prix sur N bars.
  • TRIX, taux de variation d'une EMA triplement lissée.
  • Average, moyenne mobile simple pour lisser la sortie du MACD.