ZLEMA
ZLEMA in ProBuilder gibt den Zero Lag Exponential Moving Average zurück, eine EMA-Variante, die die Verzögerung für schnellere Trendsignale reduziert. Syntax, Formel, Beispiele.
Syntax
ZLEMA[period](price)Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
period | Ganzzahl | 20 | Länge des exponentiellen Durchschnitts und Basis der Verzögerungskorrektur. |
price | Kursquelle | Schlusskurs | Die gemittelte Serie. Akzeptiert close, open, high, low, oder eine eigene Variable. |
Formel
lag = (period - 1) / 2
ZLEMA = EMA[period](price + (price - price[lag]))Der Begriff price - price[lag] schätzt, wie weit ein herkömmlicher Durchschnitt dem Kurs nachläuft, und das Addieren zum Input verschiebt die Daten etwa um diesen Betrag nach vorn, bevor der EMA angewendet wird.
So funktioniert es
Jeder gleitende Durchschnitt läuft nach, weil er ein Fenster vergangener Daten zusammenfasst, dessen Schwerpunkt hinter dem aktuellen Bar liegt. Für eine EMA der Länge period diese Verschiebung beträgt etwa (period - 1) / 2 Bars. Die ZLEMA kompensiert dies, indem sie der EMA eine veränderte Reihe zuführt: den aktuellen Kurs plus die Veränderung seit lag Bars zurück. Wenn der Kurs stetig tendiert, hebt die Korrektur den größten Teil der Verzögerung auf und die Linie verläuft nahe am Kurs; wenn der Kurs seitwärts läuft, liegt der Korrekturterm nahe null und die ZLEMA verhält sich wie eine einfache EMA.
Die Kompensation ist eine Extrapolation und hat daher einen Preis. An scharfen Wendepunkten zeigt die entzerrte Eingabe kurz in die falsche Richtung, was Überschießen und gelegentliche Whipsaw-Signale erzeugt, die ein langsamerer Durchschnitt gefiltert hätte. ZLEMA gehört zur gleichen Familie mit geringer Verzögerung wie DEMA, TEMA, und HullAverage, die jeweils mit einer anderen Konstruktion Glätte gegen Reaktionsfähigkeit abwägen.
Beispiele
Beispiel 1, 15-Perioden-ZLEMA des Schlusskurses (Indikator)
// Zero lag exponential average over 15 bars
myZLEMA = ZLEMA[15](close)
RETURN myZLEMADas Quellbeispiel: berechnet und zeichnet die 15-Perioden-ZLEMA der Schlusskurse, die sichtbar näher am Kurs bleibt als eine 15-Perioden-EMA.
Beispiel 2, Kreuzung ZLEMA gegen EMA (ProBacktest)
// Use the faster ZLEMA against a plain EMA of the same length
fastLine = ZLEMA[20](close)
slowLine = ExponentialAverage[20](close)
IF fastLine CROSSES OVER slowLine THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF fastLine CROSSES UNDER slowLine THEN
SELL AT MARKET
ENDIFDa ZLEMA einer EMA gleicher Länge vorausläuft, erzeugt die Kreuzung der beiden Linien derselben Periode ein Signal im momentum-Stil, ohne dass zwei verschiedene Längen nötig sind.
Beispiel 3, Screening nach einem frischen Wechsel der ZLEMA-Steigung (ProScreener)
// Instruments whose 20-bar ZLEMA just turned upward
z = ZLEMA[20](close)
turnedUp = z > z[1] AND z[1] <= z[2]
SCREENER[turnedUp](((close / z) - 1) * 100 AS "% vs ZLEMA")Gibt Instrumente zurück, bei denen die ZLEMA-Steigung auf dem aktuellen Bar von nicht steigend auf steigend umgeschlagen ist, ein Scan für frühe Trendwenden, der von der reduzierten Verzögerung profitiert.
Interpretation
ZLEMA wird wie jeder gleitende Durchschnitt gelesen. Kurs über einer steigenden Linie deutet auf einen Aufwärtstrend hin, Kurs unter einer fallenden Linie auf einen Abwärtstrend, und Kreuzungen, entweder Kurs gegen die Linie oder zwei Durchschnitte gegeneinander, markieren mögliche Trendwechsel. Signale kommen früher als bei einer EMA oder SMA gleicher Länge.
Früher heißt nicht besser. Die Verringerung der Verzögerung entsteht durch Extrapolation des jüngsten Momentum, daher erzeugt die ZLEMA in seitwärts schwankenden Phasen mehr Fehlstarts als langsamere Durchschnitte. Sie eignet sich für Systeme, bei denen späte Einstiege der dominierende Kostenfaktor sind, und sie lässt sich natürlich mit einem Bestätigungsfilter kombinieren, etwa einem längeren Durchschnitt oder einem Volatilitätsmaß.
Häufige Fehler und Stolperfallen
- Falsche Klammertypen. Die Periode steht in eckigen Klammern und der Preis in runden Klammern:
ZLEMA[20](close).ZLEMA(20, close)lässt sich nicht kompilieren. - EMA-ähnliche Glätte erwarten. Bei gleicher Periode ist die ZLEMA sprunghafter und schießt an Umkehrpunkten über das Ziel hinaus. Sie in ein System einzusetzen, das abgestimmt ist auf
ExponentialAverageändert Handelsfrequenz und Ergebnisse. - Sehr kurze Perioden. Bei kleinen
periodWerten ist der Lag-Term nahezu null und die Linie fällt auf den rohen Kurs zusammen, was Rauschen ohne Nutzen hinzufügt. Die Technik braucht einen nennenswerten Lag, den sie entfernen kann. - Null Verzögerung wörtlich nehmen. Der Name ist ein Anspruch. Die Korrektur entfernt den größten Teil der stationären Verzögerung, kann Wendepunkte aber nicht vorwegnehmen, und die verbleibende Verzögerung wächst genau dann, wenn es darauf ankommt, bei Umkehrungen.
Verwandte Befehle
ExponentialAverage, die Standard-EMA, die ZLEMA abwandelt.Average, einfacher gleitender Durchschnitt als Basislinie.WeightedAverage, linear gewichteter gleitender Durchschnitt.HullAverage, ein weiterer Durchschnitt mit geringer Verzögerung, aufgebaut aus WMAs.DEMA, Double Exponential Moving Average, ähnliches Ziel.TEMA, Triple Exponential Moving Average, weitere Verringerung der Verzögerung.WilderAverage, langsamer geglätteter Durchschnitt am entgegengesetzten Extrem.TimeSeriesAverage, regressionsbasierter Durchschnitt mit geringer Verzögerung.