ZLEMA
ZLEMA i ProBuilder returnerer Zero Lag Exponential Moving Average, en EMA-variant som reduserer forsinkelsen for raskere trendsignaler. Syntaks, formel, eksempler.
Syntaks
ZLEMA[period](price)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
period | heltall | 20 | Lengden på det eksponentielle gjennomsnittet og grunnlaget for forsinkelseskorreksjonen. |
price | priskilde | lukk | Serien som gjennomsnittsberegnes. Godtar close, open, high, low, eller en egendefinert variabel. |
Formel
lag = (period - 1) / 2
ZLEMA = EMA[period](price + (price - price[lag]))Begrepet price - price[lag] anslår hvor langt et konvensjonelt gjennomsnitt ligger bak prisen, og å legge det til inndataene forskyver dataene fremover med omtrent den mengden før EMA-en brukes.
Slik fungerer det
Hvert glidende gjennomsnitt ligger etter, fordi det oppsummerer et vindu av historiske data med tyngdepunkt bak gjeldende bar. For en EMA med lengde period den forskyvningen er omtrent (period - 1) / 2 barer. ZLEMA kompenserer ved å gi EMA en modifisert serie: gjeldende pris pluss endringen siden lag barer tilbake. Når prisen trender jevnt, opphever korreksjonen det meste av forsinkelsen og linjen følger prisen tett; når prisen er flat, er korreksjonsleddet nær null og ZLEMA oppfører seg som en vanlig EMA.
Kompensasjonen er en ekstrapolering, så den har en kostnad. Ved brå vendepunkter peker den etterslepsfrie inndataen kortvarig feil vei, noe som gir oversving og av og til whipsaw-signaler som et saktere gjennomsnitt ville filtrert bort. ZLEMA hører til samme familie med lavt etterslep som DEMA, TEMA, og HullAverage, som hver bytter jevnhet mot responsivitet med en annen konstruksjon.
Eksempler
Eksempel 1, 15-periode ZLEMA av sluttkursen (Indikator)
// Zero lag exponential average over 15 bars
myZLEMA = ZLEMA[15](close)
RETURN myZLEMAKildeeksempelet: beregner og tegner 15-periode ZLEMA av sluttkurser, som holder seg synlig nærmere prisen enn en 15-periode EMA.
Eksempel 2, Kryssing mellom ZLEMA og 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
ENDIFFordi ZLEMA ligger foran en EMA med samme lengde, gir kryssing av de to linjene med samme periode et momentum-aktig signal uten at det trengs to ulike lengder.
Eksempel 3, Screening for en ny endring i ZLEMA-stigningstallet (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")Returnerer instrumenter der ZLEMA-stigningstallet snudde fra ikke-stigende til stigende på gjeldende bar, en skanning etter tidlige trendvendinger som har nytte av den reduserte forsinkelsen.
Tolkning
ZLEMA leses som alle glidende gjennomsnitt. Pris over en stigende linje antyder en opptrend, pris under en fallende linje en nedtrend, og kryssinger, enten pris mot linjen eller to gjennomsnitt mot hverandre, markerer mulige trendendringer. Signaler kommer tidligere enn med en EMA eller SMA med samme lengde.
Tidligere betyr ikke bedre. Reduksjonen av forsinkelsen kommer fra ekstrapolering av nylig momentum, så i hakkete markeder genererer ZLEMA flere falske starter enn langsommere gjennomsnitt. Den passer for systemer der sene innganger er den dominerende kostnaden, og den kombineres naturlig med et bekreftelsesfilter som et lengre gjennomsnitt eller et volatilitetsmål.
Vanlige feil og fallgruver
- Feil parentestyper. Perioden skal i hakeparenteser og prisen i parenteser:
ZLEMA[20](close).ZLEMA(20, close)kompilerer ikke. - Å forvente EMA-aktig jevnhet. For samme periode er ZLEMA mer hoppende og skyter over ved vendepunkter. Å sette den inn i et system som er tilpasset
ExponentialAverageendrer handelsfrekvens og resultater. - Svært korte perioder. Med små
period-verdier er etterslepsleddet nesten null, og linjen faller sammen mot råprisen og legger til støy uten nytte. Teknikken trenger et meningsfullt etterslep å fjerne. - Å ta null forsinkelse bokstavelig. Navnet er en ambisjon. Korreksjonen fjerner det meste av forsinkelsen i stabil tilstand, men kan ikke forutse vendinger, og den gjenværende forsinkelsen vokser nettopp når det betyr noe, ved reverseringer.
Relaterte instruksjoner
ExponentialAverage, standard EMA som ZLEMA modifiserer.Average, enkelt glidende gjennomsnitt som basislinje.WeightedAverage, lineært vektet glidende gjennomsnitt.HullAverage, et annet gjennomsnitt med lav forsinkelse bygget av WMA-er.DEMA, dobbelt eksponentielt glidende gjennomsnitt, likt formål.TEMA, trippelt eksponentielt glidende gjennomsnitt, ytterligere reduksjon av forsinkelsen.WilderAverage, langsomt utjevnet gjennomsnitt i det motsatte ytterpunktet.TimeSeriesAverage, regresjonsbasert gjennomsnitt med lav forsinkelse.