Bli medlem idag
Indikatorer/probuilder · probacktest · proorder · proscreener

AverageTrueRange

AverageTrueRange i ProBuilder returnerar ATR, ett volatilitetsmått baserat på Wilders utjämnade True Range över N barer. Syntax, formel, genomgångna exempel.

Syntax

probuilder
AverageTrueRange[N](price)

Parametrar

NamnTypStandardBeskrivning
Nheltal14Utjämningsperiod i barer. 14 är Wilders ursprungliga inställning. Kortare perioder följer volatilitetsskiften snabbare, längre perioder ger en stabilare baslinje.
pricepriskällaclosePrisserie som skickas till funktionen, vanligen close.

Formel

kod
TR  = Max(High - Low, Abs(High - Close[1]), Abs(Low - Close[1]))
ATR = WilderAverage[N] of TR

True Range är det största av tre avstånd: den aktuella barens intervall, avståndet från föregående stängning till aktuell högsta, och avståndet från föregående stängning till aktuell lägsta. De två stängningsbaserade termerna väver in gap över natten i måttet. Utjämningen använder Wilders metod, ett exponentiellt medelvärde med alpha = 1/N.

Så fungerar det

En enkel range av högsta minus lägsta underskattar volatiliteten varje gång marknaden gapar, eftersom rörelsen skedde mellan barer snarare än inuti en. True Range löser detta genom att ankra mätningen till föregående stängning, så att en bar som öppnar långt från gårdagens stängning registrerar hela hoppet.

Att jämna ut True Range över N barer ger en stabil skattning av rörelsen per bar uttryckt i prisenheter. Eftersom ATR anges i instrumentets egna enheter betyder ett värde på 25 punkter något helt annat på ett index än på ett valutapar. För jämförelser mellan instrument divideras ATR vanligen med priset för att ge en procentsats.

ATR bär ingen riktningsinformation. Stigande ATR betyder större barer och gap, oavsett om marknaden stiger eller kollapsar. Dess huvudsakliga praktiska roller är position sizing, stopplacering och volatilitetsfiltrering, som alla behöver en uppskattning av rörelse snarare än av riktning.

Exempel

Exempel 1, Rita ut ATR med 14 perioder (Indikator)

probuilder
// 14-bar Average True Range, drawn in dark red
ATR = AverageTrueRange[14](close)
RETURN ATR coloured(100,0,0)

Standardkonfigurationen. Stigande värden indikerar expanderande volatilitet, fallande värden indikerar kontraktion.

Exempel 2, Stoppavstånd baserat på ATR (ProOrder)

probuilder
// Long breakout entry with a stop placed 2 ATR below entry
atr = AverageTrueRange[14](close)

IF NOT LongOnMarket AND close CROSSES OVER Highest[20](high)[1] THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

// Stop loss expressed as a price distance
SET STOP LOSS atr * 2

Stoppavståndet skalar med den aktuella volatiliteten: brett i snabba marknader, snävt i lugna. Detta håller risken per affär proportionell mot hur mycket instrumentet faktiskt rör sig.

Exempel 3, Screening för volatilitetsexpansion (ProScreener)

probuilder
// Instruments whose ATR has grown at least 50% above its quarterly norm
atrNow  = AverageTrueRange[14](close)
atrBase = Average[60](atrNow)
SCREENER[atrNow > atrBase * 1.5]((atrNow / close) * 100 AS "ATR % of price")

Returnerar instrument i en volatilitetsexpansionsfas, rangordnade efter ATR som en procentandel av kursen så att olika marknader är jämförbara.

Tolkning

ObservationAvläsning
ATR stigandeBarer och gap blir större, volatiliteten expanderar. Vanligt kring breakouts och paniker.
ATR fallandeRörelsen kontraherar. Utdragna kontraktioner föregår ofta en riktad expansion.
ATR högt jämfört med sin egen historikBreda stoppar och mindre position sizes är lämpliga.
ATR lågt jämfört med sin egen historikBreakout-setuper blir mer intressanta, rangen komprimeras.

Eftersom ATR är obegränsat och instrumentspecifikt är all tolkning relativ till instrumentets egna senaste värden, inte till fasta tröskelvärden.

Vanliga fel och fallgropar

  • Fel typ av parentes. AverageTrueRange(14) och AverageTrueRange(14, close) misslyckas. Perioden står i hakparenteser, priskällan i parenteser: AverageTrueRange[14](close).
  • Att jämföra rå ATR mellan instrument. ATR anges i prisenheter. En ATR på 50 på en marknad och 0.005 på en annan säger ingenting förrän båda normaliseras, vanligen som atr / close * 100.
  • Att använda ATR som riktningssignal. ATR stiger i krascher precis som i rallyn. Logik som att köpa för att ATR ökar blandar ihop volatilitet med trend.
  • Byte av tidsram skalar om allt. Samma instrument har ett helt annat ATR på 5-minutersbarer och dagsbarer. Stoppavstånd och filter som är intrimmade på en tidsram måste räknas om efter ett byte.
  • TR, den råa True Range före utjämning.
  • Volatility, alternativt inbyggt volatilitetsmått.
  • HistoricVolatility, statistisk volatilitet från logaritmiska avkastningar.
  • STD, standardavvikelse för kursen över ett fönster.
  • Supertrend, trendföljande nivå byggd på ATR.
  • KeltnerBandUp, volatilitetskanal som använder genomsnittlig range.
  • ChandeKrollStopUp, trailing stop-nivå baserad på ATR.
  • Highest, högsta värdet över en lookback, används i breakout-logik.
  • Lowest, lägsta värdet över ett lookback-fönster.