ADX
ADX i ProBuilder returnerar Average Directional Index, ett mått på trendstyrka från 0 till 100 som härleds från DIplus och DIminus. Syntax, formel, exempel.
Syntax
// N as number of periods for the calculation
ADX[N]Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
N | heltal | 14 | Utjämningsperiod i barer. ADX tar inget prisargument; det beräknas internt från high, low och close. |
Formel
Beräkningen sker i fyra steg:
+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)Eftersom DX är ett normaliserat förhållande är ADX begränsad mellan 0 och 100 oavsett instrumentets prisskala.
Så fungerar det
På varje bar jämför ProBuilder aktuell högsta och lägsta med föregående bars för att mäta positiv och negativ riktningsrörelse. Att utjämna dessa rörelser och dividera med true range ger +DI och -DI, de två riktningsindikatorerna. När den ena klart dominerar den andra är DX högt; när de är nästan lika faller DX mot noll.
ADX är sedan ett Wilder-utjämnat genomsnitt av DX. Den dubbla utjämningen gör den avsiktligt långsam: den stiger först efter att riktad rörelse har hållit i sig under flera barer, och den faller först efter att en trend verkligen har stannat av.
Den viktigaste egenskapen är symmetri. ADX stiger under starka nedtrender precis som under starka upptrender. Riktningen måste komma från DIplus och DIminus, de fristående versionerna av de två riktningsindikatorerna.
Exempel
Exempel 1, Rita ADX med en egen period (Indicator)
// 21-period ADX rendered in blue
myPeriod = 21
myADX = ADX[myPeriod]
RETURN myADX coloured(9,169,243) as "Average Directional Index"Bevarat från källsidan. Perioden hålls i en variabel så att den kan exponeras som en optimerbar inställning, och linjen returneras med en fast färg och etikett.
Exempel 2, Trendfilter för ett crossover-system (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-villkoret blockerar entries på platta marknader, där crossovers för glidande medelvärden producerar de flesta av sina falska signaler.
Exempel 3, Sök efter framväxande 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")Returnerar instrument vars trendstyrka är både förhöjd och fortfarande ökande, sorterade efter ADX-värdet.
Tolkning
| Zon | Range | Avläsning |
|---|---|---|
| Svag eller ingen trend | ADX < 20 | Den riktade rörelsen är balanserad. Intervallbundna förhållanden; breakout- och crossover-signaler är opålitliga. |
| Under utveckling | 20 till 25 | En trend kan vara på väg att bildas. Kombineras ofta med ett DIplus och DIminus korsning för riktning. |
| Stark trend | ADX > 25 | Uthållig riktad rörelse, upp eller ner. Trendföljande logik har de odds den designades för. |
En stigande ADX betyder att den aktuella trenden, oavsett riktning, förstärks. En fallande ADX betyder att den tappar kraft, vilket inte är samma sak som att vända; marknader driver ofta sidledes efter att ADX har vänt ner.
Vanliga fel och fallgropar
- Inget prisargument.
ADX[14](close)ger ett syntaxfel. ADX läserhigh,lowochcloseinternt, så det korrekta anropet är helt enkeltADX[14]. - Styrka är inte riktning. En läsning på 40 säger ingenting om marknaden stiger eller faller. Att filtrera longs enbart på högt ADX köper utan vidare in i en stark nedåttrend; kombinera det med
DIplus > DIminuseller ett motsvarande riktningstest. - Eftersläpning från dubbel utjämning. ADX bekräftar trender, den förutser dem inte. När den korsar 25 kan en betydande del av rörelsen redan ha skett. Att korta
Nminskar eftersläpningen men gör linjen ryckig. - Tröskelvärden är konventioner. Nivåerna 20 och 25 kommer från dagsdiagram för likvida marknader. Intraday-data och instrument med låg volatilitet behöver ofta omkalibrerade nivåer; granska indikatorns egen historik innan du hårdkodar en gräns.
Relaterade instruktioner
ADXR, utjämnad variant som tar genomsnittet av aktuell ADX och ett äldre värde.DIplus, den positiva riktningsindikatorn (+DI).DIminus, den negativa riktningsindikatorn (-DI).DI, spreaden för directional movement.TR, true range för en enskild bar.AverageTrueRange, det utjämnade true range som används i DI-beräkningen.WilderAverage, utjämningsmetoden som används genomgående i ADX-familjen.Supertrend, ett trendföljande överlägg som ofta kombineras med ADX-filter.