Únete hoy
Indicadores/probuilder · probacktest · proorder · proscreener

TR

TR en ProBuilder devuelve el True Range de una bar, el más amplio de tres spreads construidos a partir del máximo, el mínimo y el cierre anterior, que mide la volatilidad. Ejemplos dentro.

Sintaxis

probuilder
TR(price)

Parámetros

NombreTipoPor defectoDescripción
pricefuente de preciocloseSerie de precios pasada a la función, habitualmente close. El propio rango se deriva del máximo y el mínimo de la bar y del cierre anterior.

Fórmula

código
TR = MAX(high - low,
         ABS(high - close[1]),
         ABS(low  - close[1]))

Los valores absolutos importan cuando la bar abre con un gap completamente por encima o por debajo del cierre anterior. En ese caso, la distancia desde el cierre anterior, y no la propia amplitud máximo-mínimo de la bar, define el true range.

Cómo funciona

El simple Range de un bar (máximo menos mínimo) subestima la volatilidad siempre que el mercado abre con hueco. Si un bar abre muy por encima del cierre anterior, el precio recorrió realmente la distancia desde ese cierre hasta los nuevos niveles, aunque el cuerpo del bar nunca cubriera el hueco. El True Range corrige esto incluyendo el cierre anterior en la comparación, de modo que los huecos de una sesión a otra y los movimientos de límite cuentan como movimiento.

La salida se expresa en unidades de precio del instrumento. Por sí solo, un único valor de TR es ruidoso: basta un bar amplio para dispararlo. Por eso casi siempre se suaviza a lo largo de varios bars, que es exactamente lo que AverageTrueRange hace con el suavizado de Wilder. Los datos brutos TR sigue siendo útil cuando importa el detalle por bar, por ejemplo al detectar bars de expansión individuales o al construir medidas de volatilidad personalizadas con un método de suavizado distinto.

Como la primera bar de la serie de datos no tiene cierre anterior, el valor más antiguo recurre a la información disponible para esa bar. Los cálculos que hacen referencia al historial deberían prever un periodo de calentamiento.

Ejemplos

Ejemplo 1, True range bruto de cada bar (Indicador)

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

Representa el true range bar a bar. Los picos marcan bars con un movimiento inusualmente amplio, incluidas las aperturas con gap que un simple rango de máximo menos mínimo pasaría por alto.

Ejemplo 2, Distancia de stop escalada por volatilidad (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

El stop se coloca a dos true ranges suavizados de distancia de la entrada, por lo que su distancia se amplía en mercados volátiles y se estrecha en los tranquilos, en lugar de ser un número fijo de puntos.

Ejemplo 3, Escaneo de expansión de rango (ProScreener)

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

Devuelve los instrumentos cuya bar actual abarca más del doble de su average true range de las últimas 20 bars, una forma sencilla de hacer aparecer candidatos a breakout y movimientos impulsados por noticias.

Interpretación

Valores de TR más altos significan excursiones de precio mayores por bar, es decir, más volatilidad a corto plazo. No hay umbrales fijos, la medida está en unidades absolutas de precio, así que un TR de 5 es enorme en un instrumento y despreciable en otro. Las comparaciones tienen sentido frente al propio histórico reciente del instrumento, normalmente como ratio respecto a una media como TR(close) / Average[20](TR(close)). Un TR creciente suele acompañar a los breakouts y a las noticias, mientras que un TR que se contrae caracteriza las fases de consolidación.

Errores y trampas habituales

  • Confundir TR con Range. Range es solo el máximo menos el mínimo. En una apertura con gap ambos divergen notablemente, y TR es la medida correcta del movimiento real.
  • Usar TR en bruto cuando lo que se pretende es ATR. El rango verdadero de una sola bar es ruidoso. La lógica de position size y de colocación de stops suele usar AverageTrueRange o una media explícita de TR, no el valor en bruto.
  • Comparar TR entre instrumentos. TR se expresa en las unidades de precio del instrumento. Los screeners que clasifican mercados distintos por el TR bruto clasifican sobre todo niveles de precio. Divide primero por el precio o por la propia media de TR del instrumento.
  • La primera bar no tiene cierre anterior. La fórmula hace referencia a close[1], que no existe en el primer bar del histórico cargado, por lo que los primeros valores no son significativos. Ignora los bars de calentamiento.
  • AverageTrueRange, media de TR suavizada por Wilder, el indicador ATR estándar.
  • Range, simplemente el máximo menos el mínimo de la bar, ignora los gaps.
  • High, precio más alto de la bar actual.
  • Low, precio más bajo de la bar actual.
  • Highest, valor más alto de una serie en N bars.
  • Lowest, valor más bajo de una serie en N bars.
  • STD, desviación típica, una medida de volatilidad alternativa.
  • HistoricVolatility, volatilidad estadística calculada a partir de los rendimientos.
  • Volatility, Chaikin Volatility basado en el spread máximo-mínimo.