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

TR

TR i ProBuilder returnerar True Range för en bar, den bredaste av tre spreads byggda från high, low och föregående stängning, som mäter volatilitet. Exempel inuti.

Syntax

probuilder
TR(price)

Parametrar

NamnTypStandardBeskrivning
pricepriskällaclosePrisserien som skickas till funktionen, vanligen close. Själva intervallet härleds från barens högsta, lägsta och föregående stängning.

Formel

kod
TR = MAX(high - low,
         ABS(high - close[1]),
         ABS(low  - close[1]))

Absolutvärdena har betydelse när baren gapar helt över eller under föregående stängning. I det fallet definieras true range av avståndet från föregående stängning, inte av barens eget high-low-spann.

Så fungerar det

Den enkla Range för en bar (högsta minus lägsta) underskattar volatiliteten när marknaden gapar. Om en bar öppnar långt över föregående stängning har priset faktiskt förflyttat sig från den stängningen till de nya nivåerna, även om barens kropp aldrig täckte gapet. True Range åtgärdar detta genom att ta med föregående stängning i jämförelsen, så att gap över natten och limitrörelser räknas som rörelse.

Utdata uttrycks i instrumentets prisenheter. För sig själv är ett enskilt TR-värde brusigt, en enda bred bar räcker för att få det att skjuta i höjden. Av det skälet utjämnas det nästan alltid över ett antal barer, vilket är precis vad AverageTrueRange gör med Wilder-utjämning. Rå TR är fortfarande användbar när detaljer per bar har betydelse, till exempel vid upptäckt av enskilda expansionsbarer eller när egna volatilitetsmått byggs med en annan utjämningsmetod.

Eftersom den första baren i dataserien inte har någon föregående stängning faller det tidigaste värdet tillbaka på den information som finns för den baren. Beräkningar som refererar till historik bör tillåta en uppvärmningsperiod.

Exempel

Exempel 1, Rå true range för varje bar (Indikator)

probuilder
// True range of the current bar, in price units
variable1 = TR(close)
RETURN variable1

Ritar true range bar för bar. Toppar markerar barer med ovanligt stor rörelse, inklusive gapöppningar som ett enkelt high minus low-intervall skulle missa.

Exempel 2, Volatilitetsskalat stoppavstånd (ProBacktest)

probuilder
// Smooth the raw true range to size the protective stop
myTR = TR(close)
smoothTR = Average[14](myTR)

IF NOT ONMARKET AND close CROSSES OVER Average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP LOSS 2 * smoothTR
ENDIF

Stoppen placeras två utjämnade true ranges från entryn, så dess avstånd vidgas i volatila marknader och dras åt i lugna i stället för att vara ett fast antal punkter.

Exempel 3, Skanning av intervallexpansion (ProScreener)

probuilder
myTR = TR(close)
avgTR = Average[20](myTR)
SCREENER[myTR > 2 * avgTR] (myTR AS "True Range")

Returnerar instrument vars aktuella bar täcker mer än dubbla deras average true range för de senaste 20 barerna, ett enkelt sätt att lyfta fram breakout-kandidater och nyhetsdrivna rörelser.

Tolkning

Högre TR-värden betyder större prisutslag per bar, med andra ord högre kortsiktig volatilitet. Det finns inga fasta trösklar, måttet anges i absoluta prisenheter, så ett TR på 5 är enormt på ett instrument och försumbart på ett annat. Jämförelser är meningsfulla mot instrumentets egen senaste historik, vanligen som en kvot mot ett genomsnitt som TR(close) / Average[20](TR(close)). Stigande TR följer ofta med breakouts och nyhetshändelser, krympande TR kännetecknar konsolideringsfaser.

Vanliga fel och fallgropar

  • Att blanda ihop TR med Range. Range är bara high minus low. Vid en gapöppning skiljer sig de två kraftigt, och TR är det korrekta måttet på faktisk rörelse.
  • Att använda rå TR där ATR avses. En enskild bars true range är stökig. Logik för position sizing och stopplacering använder normalt AverageTrueRange eller ett explicit medelvärde av TR, inte råvärdet.
  • Att jämföra TR mellan instrument. TR uttrycks i instrumentets prisenheter. Screeners som rangordnar olika marknader på rå TR rangordnar mest prisnivåer. Dividera först med priset eller med instrumentets eget genomsnittliga TR.
  • Den första baren har ingen föregående stängning. Formeln refererar till close[1], som inte finns på den första baren i den inlästa historiken, så de tidigaste värdena är inte meningsfulla. Bortse från uppvärmningsbarerna.
  • AverageTrueRange, Wilder-utjämnat genomsnitt av TR, standardindikatorn ATR.
  • Range, enkel high minus low för baren, ignorerar gap.
  • High, högsta pris för den aktuella baren.
  • Low, lägsta pris för den aktuella baren.
  • Highest, högsta värde i en serie över N barer.
  • Lowest, det lägsta värdet i en serie över N barer.
  • STD, standardavvikelse, ett alternativt volatilitetsmått.
  • HistoricVolatility, statistisk volatilitet beräknad från avkastningar.
  • Volatility, Chaikin Volatility baserad på high-low-spread.