Word nu lid
Indicatoren/probuilder · probacktest · proorder · proscreener

TR

TR geeft in ProBuilder de True Range van een bar terug, de breedste van drie spreads opgebouwd uit high, low en de voorgaande slotkoers, als maat voor volatiliteit. Voorbeelden binnen.

Syntaxis

probuilder
TR(price)

Parameters

NaamTypeStandaardBeschrijving
priceprijsbronclosePrijsreeks die aan de functie wordt doorgegeven, meestal close. De range zelf wordt afgeleid van de high en low van de bar en de vorige close.

Formule

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

De absolute waarden zijn van belang wanneer de bar volledig boven of onder de voorgaande slotkoers gapt. In dat geval bepaalt de afstand tot de voorgaande slotkoers de true range, niet de eigen high-low spanne van de bar.

Hoe het werkt

De gewone Range van een bar (high minus low) onderschat de volatiliteit zodra de markt gapt. Opent een bar ver boven de vorige close, dan heeft de koers daadwerkelijk de weg van die close naar de nieuwe niveaus afgelegd, ook al heeft het barlichaam de gap nooit gedekt. True Range lost dit op door de vorige close in de vergelijking mee te nemen, zodat overnight gaps en limit moves als beweging worden meegeteld.

De uitkomst wordt uitgedrukt in prijseenheden van het instrument. Op zichzelf is een enkele TR-waarde ruis, één brede bar is genoeg om hem te laten uitschieten. Daarom wordt hij bijna altijd over een aantal bars gesmooth, en dat is precies wat AverageTrueRange doet met Wilder-afvlakking. Ruwe TR blijft nuttig wanneer detail per bar van belang is, bijvoorbeeld bij het detecteren van afzonderlijke expansiebars of bij het bouwen van eigen volatiliteitsmaten met een andere smoothingmethode.

Omdat de eerste bar van de datareeks geen voorgaande slotkoers heeft, valt de vroegste waarde terug op de informatie die voor die bar beschikbaar is. Berekeningen die naar historie verwijzen, moeten ruimte laten voor een warm-upperiode.

Voorbeelden

Voorbeeld 1, Ruwe true range van elke bar (Indicator)

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

Plot de true range bar voor bar. Pieken markeren bars met een ongewoon brede beweging, inclusief openingen met een gap die een eenvoudige range van high min low zou missen.

Voorbeeld 2, Stopafstand geschaald op volatiliteit (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

De stop wordt twee geëffende true ranges van de instap geplaatst, zodat de afstand ruimer wordt in volatiele markten en krapper in rustige markten in plaats van een vast aantal punten te zijn.

Voorbeeld 3, Scan op range-expansie (ProScreener)

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

Geeft instrumenten terug waarvan de huidige bar meer dan twee keer hun gemiddelde true range van de laatste 20 bars beslaat, een eenvoudige manier om breakout-kandidaten en door nieuws gedreven bewegingen naar boven te halen.

Interpretatie

Hogere TR-waarden betekenen grotere koersuitslagen per bar, met andere woorden een hogere kortetermijnvolatiliteit. Er zijn geen vaste drempels, de maat staat in absolute prijseenheden, dus een TR van 5 is enorm op het ene instrument en verwaarloosbaar op het andere. Vergelijkingen zijn zinvol tegen de eigen recente historie van het instrument, meestal als verhouding tot een gemiddelde zoals TR(close) / Average[20](TR(close)). Een stijgende TR gaat vaak samen met breakouts en nieuwsgebeurtenissen, een krimpende TR kenmerkt consolidatiefases.

Veelvoorkomende fouten en valkuilen

  • TR verwarren met Range. Range is alleen high min low. Bij een gap-opening lopen de twee sterk uiteen, en TR is de juiste maat voor de werkelijke beweging.
  • Ruwe TR gebruiken waar ATR bedoeld is. De true range van één enkele bar is ruizig. Position size- en stopplaatsingslogica gebruiken normaal AverageTrueRange of een expliciet gemiddelde van TR, niet de ruwe waarde.
  • TR vergelijken tussen instrumenten. TR wordt uitgedrukt in de koerseenheden van het instrument. Screeners die verschillende markten rangschikken op ruwe TR, rangschikken vooral koersniveaus. Deel eerst door de koers of door de eigen gemiddelde TR van het instrument.
  • Eerste bar heeft geen voorgaande slotkoers. De formule verwijst naar close[1], die niet bestaat op de eerste bar van de geladen historie, waardoor de eerste waarden niet zinvol zijn. Negeer de warm-upbars.
  • AverageTrueRange, met Wilder geëffend gemiddelde van TR, de standaard ATR-indicator.
  • Range, simpelweg high min low van de bar, negeert gaps.
  • High, hoogste koers van de huidige bar.
  • Low, laagste koers van de huidige bar.
  • Highest, hoogste waarde van een reeks over N bars.
  • Lowest, laagste waarde van een reeks over N bars.
  • STD, standaarddeviatie, een alternatieve maat voor volatiliteit.
  • HistoricVolatility, statistische volatiliteit berekend op basis van rendementen.
  • Volatility, Chaikin Volatility op basis van de high-low spread.