DEMA
DEMA i ProBuilder returnerer Double Exponential Moving Average, et glidende gjennomsnitt med redusert forsinkelse bygget av to EMA-er. Syntaks, formel, eksempler, fallgruver.
Syntaks
DEMA[N](price)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
N | heltall | 20 | Antall perioder for begge EMA-gjennomløpene. Lavere verdier følger kursen tett, høyere verdier glatter mer. |
price | priskilde | lukk | Serien gjennomsnittet beregnes på, for eksempel close, open, high, low, eller en egendefinert variabel. |
Formel
EMA1 = ExponentialAverage[N](price)
EMA2 = ExponentialAverage[N](EMA1)
DEMA = 2 * EMA1 - EMA2Slik fungerer det
Alle glidende gjennomsnitt ligger etter prisen, og å glatte en EMA en gang til ligger enda mer etter. DEMA-konstruksjonen utnytter dette: differansen EMA1 - EMA2 tilnærmer den aktuelle forsinkelsen, og å legge den tilbake oppå EMA1 (som er det 2 * EMA1 - EMA2 gjør) skyver linjen fremover mot de nyeste prisene.
Resultatet er ikke et gjennomsnitt av gjennomsnitt. Til tross for navnet reagerer DEMA raskere enn en enkeltstående EMA med samme periode, ikke langsommere. I markeder med trend vender den tidligere ved swing-punkter, som er grunnen til at den brukes i krysningssystemer der signalforsinkelse er kostbar.
Avveiningen er stabilitet. Fordi forsinkelseskompensasjonen er en ekstrapolering, kan DEMA skyte over kursen etter skarpe bevegelser og gi whipsaw-krysninger i hakkete forhold. Bekreftelse fra et langsommere gjennomsnitt eller et filter for trendstyrke er den vanlige løsningen.
Eksempler
Eksempel 1, Sammenligning av forsinkelse mellom DEMA og EMA (Indikator)
// Same period, two smoothing methods, plotted on price
fastLine = DEMA[20](close)
slowLine = ExponentialAverage[20](close)
RETURN fastLine COLOURED(200, 60, 60) AS "DEMA 20", slowLine COLOURED(60, 60, 200) AS "EMA 20"Legger en DEMA over 20 perioder og en EMA over 20 perioder oppå kursen. DEMA vender synlig tidligere ved swing-topper og swing-bunner, og viser forsinkelsesreduksjonen.
Eksempel 2, Telling av barer under gjennomsnittet (Indikator)
// 10-period DEMA of the opening price
i1 = DEMA[10](open)
a = 0
// Count how many consecutive past opens sit below the current DEMA value
WHILE Open[a + 1] < i1 DO
a = a + 1
WEND
RETURN aGår baklengs gjennom barene og teller hvor mange påfølgende tidligere åpningskurser som ligger under gjeldende DEMA, et grovt mål på hvor strukket kursen er mot gjennomsnittet.
Eksempel 3, System med dobbel DEMA-krysning (ProOrder)
// Fast and slow DEMA crossover with position reversal
fastDema = DEMA[10](close)
slowDema = DEMA[40](close)
IF fastDema CROSSES OVER slowDema THEN
BUY 1 CONTRACT AT MARKET
ELSIF fastDema CROSSES UNDER slowDema THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIFEt klassisk system med to glidende gjennomsnitt som bruker DEMA på begge ben. Den reduserte forsinkelsen flytter inngangene nærmere den faktiske vendingen enn det samme systemet bygget på enkle gjennomsnitt.
Tolkning
DEMA leses som ethvert glidende gjennomsnitt, bare raskere:
- Kurs over en stigende DEMA. Opptrendlesning. Pullbacks mot linjen er potensielle fortsettelsessoner.
- Kurs under en fallende DEMA. Nedtrendlesning, symmetrisk med det ovenfor.
- Kryssinger. En rask DEMA som krysser en langsom gir signal om et momentum-skifte tidligere enn den tilsvarende SMA- eller EMA-krysningen, med tilsvarende flere falske starter i sideveis markeder.
Vanlige feil og fallgruver
- Å anta at DEMA er langsommere enn EMA. Navnet antyder dobbel glatting, men formelen trekker fra den andre EMA-en. En DEMA reagerer raskere enn en EMA med samme periode, så å overføre periodeinnstillinger fra EMA-systemer endrer oppførselen.
- Overskyting etter gap og spisser. Den
2 * EMA1 - EMA2ekstrapolering kan flytte linjen utenfor prisen etter brå bevegelser. Betingelser somclose CROSSES OVER demakan utløses oftere enn forventet rett etter volatilitetshendelser. - Feil bruk av parenteser. Perioden skal i hakeparenteser og prisen i parenteser:
DEMA[10](open).DEMA(10, open)gir en syntaksfeil. - Baklengs løkker må avsluttes. Når du skanner tidligere barer med
WHILE, som i eksempel 2, sørg for at løkkebetingelsen til slutt feiler på tilgjengelig historikk, ellers treffer indikatoren plattformens løkkegrense på lange diagrammer.
Relaterte instruksjoner
ExponentialAverage, den enkeltstående EMA-en som DEMA er bygget av.TEMA, trippel eksponentiell variant med enda mindre forsinkelse og mer overskyting.ZLEMA, zero-lag EMA, en annen tilnærming til forsinkelseskompensasjon.HullAverage, lavforsinkelsesalternativ basert på vektet gjennomsnitt.Average, enkelt glidende gjennomsnitt som basislinje.WeightedAverage, lineært vektet gjennomsnitt.WilderAverage, langsom glatting brukt inne i RSI og ADX.TimeSeriesAverage, gjennomsnitt basert på lineær regresjon.