ADX
ADX i ProBuilder returnerer Average Directional Index, et mål på trendstyrke fra 0 til 100 som utledes fra DIplus og DIminus. Syntaks, formel, eksempler.
Syntaks
// N as number of periods for the calculation
ADX[N]Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
N | heltall | 14 | Utjevningsperiode i barer. ADX tar ikke noe prisargument; den beregnes internt fra high, low og close. |
Formel
Beregningen går i fire trinn:
+DM = max(high - high[1], 0) when it exceeds the down move, else 0
-DM = max(low[1] - low, 0) when it exceeds the up move, else 0
+DI = 100 * WilderAverage[N](+DM) / AverageTrueRange[N]
-DI = 100 * WilderAverage[N](-DM) / AverageTrueRange[N]
DX = 100 * ABS(+DI - -DI) / (+DI + -DI)
ADX = WilderAverage[N](DX)Fordi DX er et normalisert forholdstall, er ADX avgrenset mellom 0 og 100 uavhengig av instrumentets prisskala.
Slik fungerer det
På hver bar sammenligner ProBuilder gjeldende høyeste og laveste med forrige bars for å måle positiv og negativ retningsbestemt bevegelse. Å jevne ut disse bevegelsene og dele på true range gir +DI og -DI, de to retningsindikatorene. Når den ene klart dominerer den andre, er DX høy; når de er nesten like, faller DX sammen mot null.
ADX er deretter et Wilder-utjevnet gjennomsnitt av DX. Den doble utjevningen gjør den bevisst langsom: den stiger først etter at retningsbestemt bevegelse har vedvart i flere barer, og den faller først etter at en trend virkelig har stoppet.
Nøkkelegenskapen er symmetri. ADX stiger under sterke nedtrender på akkurat samme måte som under sterke opptrender. Retningen må komme fra DIplus og DIminus, de frittstående versjonene av de to retningsindikatorene.
Eksempler
Eksempel 1, Tegne ADX med en egendefinert periode (Indikator)
// 21-period ADX rendered in blue
myPeriod = 21
myADX = ADX[myPeriod]
RETURN myADX coloured(9,169,243) as "Average Directional Index"Bevart fra kildesiden. Perioden holdes i en variabel slik at den kan eksponeres som en optimerbar innstilling, og linjen returneres med en fast farge og etikett.
Eksempel 2, Trendfilter for et kryssingssystem (ProOrder)
// Take EMA crossover longs only when ADX confirms a trend
DEFPARAM CumulateOrders = false
strength = ADX[14]
fast = ExponentialAverage[20](close)
slow = ExponentialAverage[50](close)
IF NOT LongOnMarket AND strength > 25 AND fast CROSSES OVER slow THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND fast CROSSES UNDER slow THEN
SELL AT MARKET
ENDIFADX-betingelsen blokkerer innganger i flate markeder, der kryssinger av glidende gjennomsnitt gir de fleste av sine falske signaler.
Eksempel 3, Skann etter nye trender (ProScreener)
// Instruments where ADX is above 25 and higher than 5 bars ago
strength = ADX[14]
c1 = strength > 25
c2 = strength > strength[5]
SCREENER[c1 AND c2](strength AS "ADX 14")Returnerer instrumenter der trendstyrken både er forhøyet og fortsatt øker, sortert etter ADX-avlesningen.
Tolkning
| Sone | Range | Avlesning |
|---|---|---|
| Svak eller fraværende trend | ADX < 20 | Retningsbestemt bevegelse er i balanse. Sideveis markedsforhold; breakout- og kryssingssignaler er upålitelige. |
| Utvikler seg | 20 til 25 | En trend kan være i ferd med å dannes. Ofte kombinert med en DIplus og DIminus kryss for retning. |
| Sterk trend | ADX > 25 | Vedvarende retningsbestemt bevegelse, opp eller ned. Trendfølgende logikk har de oddsene den ble utformet for. |
En stigende ADX betyr at den gjeldende trenden, uansett retning, styrker seg. En fallende ADX betyr at den mister kraft, som ikke er det samme som at den reverserer; markeder beveger seg ofte sideveis etter at ADX har snudd ned.
Vanlige feil og fallgruver
- Ingen prisargument.
ADX[14](close)gir en syntaksfeil. ADX leserhigh,lowogcloseinternt, så riktig kall er ganske enkeltADX[14]. - Styrke er ikke retning. En verdi på 40 sier ingenting om markedet stiger eller faller. Å filtrere longs på høy ADX alene vil glatt kjøpe inn i en sterk nedtrend; kombiner den med
DIplus > DIminuseller en tilsvarende retningstest. - Forsinkelse fra dobbel utjevning. ADX bekrefter trender, den forutser dem ikke. Når den krysser 25, kan en betydelig del av bevegelsen allerede ha skjedd. Å forkorte
Nreduserer forsinkelsen, men gjør linjen ustabil. - Terskler er konvensjoner. Nivåene 20 og 25 kommer fra dagsdiagrammer for likvide markeder. Intraday-data og instrumenter med lav volatilitet trenger ofte rekalibrerte nivåer; undersøk indikatorens egen historikk før du hardkoder en grenseverdi.
Relaterte instruksjoner
ADXR, utjevnet variant som gjennomsnitter gjeldende ADX med en eldre verdi.DIplus, den positive retningsindikatoren (+DI).DIminus, den negative retningsindikatoren (-DI).DI, spreaden i retningsbevegelsen.TR, true range for en enkelt bar.AverageTrueRange, den utjevnede true range som brukes i DI-beregningen.WilderAverage, utjevningsmetoden som brukes gjennom hele ADX-familien.Supertrend, et trendfølgende overlegg som ofte kombineres med ADX-filtre.