Jetzt beitreten
Indikatoren/probuilder · probacktest · proorder · proscreener

MACDLine

MACDLine in ProBuilder gibt die rohe MACD-Linie zurück, den kurzen EMA minus den langen EMA des Kurses, zu unterscheiden vom MACD-Histogramm. Syntax, Formel, Beispiele.

Syntax

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

Parameter

NameTypStandardBeschreibung
SGanzzahl12Periode des kurzen exponentiellen Durchschnitts.
LGanzzahl26Periode des langen exponentiellen Durchschnitts.
SiGanzzahl9Signalperiode. Von der gemeinsamen MACD-Signatur verlangt, hat aber keine Auswirkung auf den Wert der Linie selbst.
priceKursquelleSchlusskursReihe, auf der beide Durchschnitte berechnet werden, meist close.

Formel

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

Die drei MACD-Funktionen passen wie folgt zusammen:

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

So funktioniert es

Die MACD-Linie misst den Spread zwischen einem schnellen und einem langsamen exponentiellen Durchschnitt. Wenn sich der kurze Durchschnitt nach oben vom langen entfernt, steigt die Linie über null und spiegelt ein sich beschleunigendes Aufwärtsmomentum; wenn der kurze Durchschnitt darunter fällt, wird die Linie negativ. Da beide Eingaben Durchschnitte derselben Reihe sind, schwankt die Linie um null, ohne begrenzt zu sein.

Die Benennung der drei verwandten Funktionen ist die übliche Quelle von Verwirrung, und sie unterscheidet sich von einigen anderen Plattformen. In ProBuilder, MACD[S,L,Si](price) gibt das Histogramm zurück, also die Linie minus ihr Signal. MACDLine gibt die auf dieser Seite beschriebene Rohlinie zurück. MACDsignal liefert den Si-Perioden-exponentieller Durchschnitt der Linie. Jede Strategie, die aus einer Umgebung portiert wurde, in der MACD() bedeutet, die rohe Zeile muss umgeschrieben werden zum Aufruf von MACDLine stattdessen.

Eine praktische Folge: da das Histogramm gleich MACDLine - MACDsignal, ist das Histogramm genau dann positiv, wenn die Linie über ihrem Signal liegt, und eine Nulllinienkreuzung des Histogramms ist dasselbe Ereignis wie ein Crossover von Linie und Signal.

Beispiele

Beispiel 1, Vergleich von Histogramm und Linie (Indikator)

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

Vergleicht das Histogramm mit der Linie. Da das Histogramm Linie minus Signal entspricht, liegt das Histogramm genau dann unter der Linie, wenn die Signallinie positiv ist, sodass diese Kreuzungen den Durchgang der Signallinie durch null markieren.

Beispiel 2, Einstieg beim Kreuzen von Linie und 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

Steigt beim klassischen Kreuzen ein, beschränkt auf Kreuzungen unterhalb der Nulllinie, und steigt beim entgegengesetzten Kreuzen aus.

Beispiel 3, Scan auf Nulllinien-Kreuzung (ProScreener)

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

Gibt Instrumente zurück, bei denen der Spread der exponentiellen Durchschnitte 12-26 auf dem aktuellen Bar über null gekreuzt ist, ein Wechsel des Momentum-Regimes.

Interpretation

Eine positive Linie bedeutet, dass der kurze Durchschnitt über dem langen liegt, die Standarddefinition von Aufwärtsmomentum; eine negative Linie bedeutet das Gegenteil. Der Nulldurchgang markiert daher einen Wechsel des Momentum-Regimes und entspricht in etwa einem Kreuzen von schnellem und langsamem Durchschnitt im Kurschart.

Kreuzungen zwischen der Linie und MACDsignal sind der klassische Trade-Auslöser, schneller als die Nullkreuzung, aber verrauschter. Divergenzen, bei denen der Kurs ein neues Extrem setzt, das die Linie nicht bestätigt, sind die dritte verbreitete Lesart; DivergenceMACD automatisiert deren Erkennung.

Häufige Fehler und Stolperfallen

  • MACD ist nicht die Linie. In ProBuilder, MACD[12,26,9](close) gibt das Histogramm zurück. Von Plattformen übertragener Code, in denen die MACD-Funktion die rohe Linie zurückgibt, erzeugt andere Signale, sofern er nicht geändert wird zu MACDLine.
  • Der Si Parameter ist hier wirkungslos. MACDLine[12,26,9](close) und MACDLine[12,26,2](close) geben identische Werte zurück. Die Signalperiode existiert in den Klammern nur, damit die drei MACD-Funktionen eine Signatur teilen.
  • Die Werte skalieren mit dem Kurs. Die Linie ist eine absolute Kursdifferenz, die Werte sind daher nicht über Instrumente hinweg oder nach großen Kursänderungen vergleichbar. Für instrumentenübergreifende Scans normalisieren Sie, zum Beispiel durch Division durch close.
  • Kurz minus lang, in dieser Reihenfolge. Die erste Periode muss die kleinere sein. Sie zu tauschen, wie in MACDLine[26,12,9](close), kehrt das Vorzeichen der Ausgabe um und invertiert jedes Signal.
  • MACD, das Histogramm, Linie minus Signal.
  • MACDsignal, exponentieller Durchschnitt der Linie, der Auslöser für das Kreuzen.
  • DivergenceMACD, integrierte Divergenzerkennung auf dem MACD.
  • ExponentialAverage, die Glättung, aus der beide Komponenten aufgebaut sind.
  • PriceOscillator, prozentbasierte Variante derselben Spread-Idee.
  • Momentum, rohe Preisdifferenz über N Bars.
  • ROC, Änderungsrate, Momentum als Prozentsatz.
  • Average, einfacher gleitender Durchschnitt zum Vergleich.