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

MACDLine

MACDLine dans ProBuilder renvoie la ligne MACD brute, l'EMA courte moins l'EMA longue du prix, distincte de l'histogramme MACD. Syntaxe, formule, exemples.

Syntaxe

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

Paramètres

NomTypePar défautDescription
Sentier12Période de la moyenne exponentielle courte.
Lentier26Période de la moyenne exponentielle longue.
Sientier9Période du signal. Requise par la signature MACD commune mais sans effet sur la valeur de la ligne elle-même.
pricesource de prixcloseSérie sur laquelle les deux moyennes sont calculées, généralement close.

Formule

code
MACDLine = ExponentialAverage[S](price) - ExponentialAverage[L](price)

Les trois fonctions MACD s'articulent ainsi :

code
MACDsignal = ExponentialAverage[Si](MACDLine)
MACD       = MACDLine - MACDsignal        // the histogram

Comment ça marche

La ligne MACD mesure le spread entre une moyenne exponentielle rapide et une lente. Lorsque la moyenne courte s'éloigne au-dessus de la longue, la ligne monte au-dessus de zéro, reflétant un momentum haussier qui accélère ; lorsque la moyenne courte passe en dessous, la ligne devient négative. Comme les deux entrées sont des moyennes de la même série, la ligne oscille autour de zéro sans être bornée.

La dénomination des trois fonctions apparentées est la source habituelle de confusion, et elle diffère de celle de certaines autres plateformes. Dans ProBuilder, MACD[S,L,Si](price) renvoie l'histogramme, c'est-à-dire la ligne moins son signal. MACDLine renvoie la ligne brute décrite sur cette page. MACDsignal renvoie le Si-périodes, moyenne exponentielle de la ligne. Toute stratégie portée depuis un environnement où MACD() indique que la ligne brute doit être réécrite pour appeler MACDLine à la place.

Une conséquence pratique : comme l'histogramme est égal à MACDLine - MACDsignal, l'histogramme est positif exactement lorsque la ligne est au-dessus de son signal, et un franchissement de zéro de l'histogramme est le même événement qu'un croisement de la ligne et du signal.

Exemples

Exemple 1, Comparaison entre l'histogramme et la ligne (Indicateur)

probuilder
// MACD[...] returns the histogram (line minus signal)
i1 = MACD[12,26,9](close)
// MACDLine returns the raw line (12 EMA minus 26 EMA)
i2 = MACDLine[12,26,9](close)
IF i1 < i2 AND i1[1] > i2[1] THEN
  bullishSignal = 1
  bearishSignal = 0
ELSIF i1 > i2 AND i1[1] < i2[1] THEN
  bullishSignal = 0
  bearishSignal = -1
ELSE
  bullishSignal = 0
  bearishSignal = 0
ENDIF
RETURN bullishSignal, bearishSignal

Compare l'histogramme avec la ligne. Comme l'histogramme vaut la ligne moins le signal, l'histogramme se situe sous la ligne exactement lorsque la ligne de signal est positive ; ces croisements marquent donc le passage de la ligne de signal par zéro.

Exemple 2, Entrée sur croisement de la ligne et du signal (ProOrder)

probuilder
// Long on a MACD line cross above the signal while still below zero
line   = MACDLine[12,26,9](close)
signal = MACDsignal[12,26,9](close)

IF NOT LongOnMarket AND line CROSSES OVER signal AND line < 0 THEN
  BUY 1 CONTRACT AT MARKET
ELSIF LongOnMarket AND line CROSSES UNDER signal THEN
  SELL AT MARKET
ENDIF

Entre sur le croisement classique, limité aux croisements qui se produisent sous la ligne de zéro, et sort sur le croisement inverse.

Exemple 3, Scan de croisement de la ligne de zéro (ProScreener)

probuilder
// Instruments whose MACD line just turned positive
line = MACDLine[12,26,9](close)
SCREENER[line CROSSES OVER 0](line AS "MACD line")

Renvoie les instruments dont le spread des moyennes exponentielles 12-26 a croisé au-dessus de zéro sur le bar courant, un changement de régime de momentum.

Interprétation

Une ligne positive signifie que la moyenne courte est au-dessus de la longue, la définition standard du momentum haussier ; une ligne négative signifie l'inverse. Le croisement de zéro marque donc un changement de régime de momentum et équivaut à peu près à un croisement d'une moyenne rapide et d'une moyenne lente sur le graphique de prix.

Les croisements entre la ligne et MACDsignal sont le déclencheur classique de trade, plus rapide que le croisement de zéro mais plus bruité. Les divergences, lorsque le prix inscrit un nouvel extrême que la ligne ne confirme pas, constituent la troisième lecture courante ; DivergenceMACD automatise leur détection.

Erreurs et pièges courants

  • MACD n'est pas la ligne. Dans ProBuilder, MACD[12,26,9](close) renvoie l'histogramme. Le code traduit depuis des plateformes où la fonction MACD renvoie la ligne brute produira des signaux différents s'il n'est pas modifié en MACDLine.
  • Le Si paramètre est inopérant ici. MACDLine[12,26,9](close) et MACDLine[12,26,2](close) renvoient des valeurs identiques. La période de signal n'existe entre crochets que pour que les trois fonctions MACD partagent une même signature.
  • Les valeurs varient avec le prix. La ligne est une différence de prix absolue, les lectures ne sont donc pas comparables entre instruments ni après de fortes variations de prix. Pour les scans multi-instruments, normalisez, par exemple en divisant par close.
  • Courte moins longue, dans cet ordre. La première période doit être la plus petite. Les inverser, comme dans MACDLine[26,12,9](close), change le signe de la sortie et inverse chaque signal.
  • MACD, l'histogramme, la ligne moins le signal.
  • MACDsignal, moyenne exponentielle de la ligne, le déclencheur de croisement.
  • DivergenceMACD, détection de divergence intégrée sur le MACD.
  • ExponentialAverage, le lissage à partir duquel les deux composantes sont construites.
  • PriceOscillator, variante en pourcentage de la même idée de spread.
  • Momentum, différence de prix brute sur N barres.
  • ROC, taux de variation, le momentum en pourcentage.
  • Average, moyenne mobile simple pour comparaison.