AverageTrueRange
AverageTrueRange en ProBuilder devuelve el ATR, una medida de volatilidad basada en el True Range suavizado de Wilder sobre N bars. Sintaxis, fórmula, ejemplos resueltos.
Sintaxis
AverageTrueRange[N](price)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
N | entero | 14 | Periodo de suavizado en bars. 14 es el ajuste original de Wilder. Los periodos más cortos siguen los cambios de volatilidad más rápido, los más largos dan una línea base más estable. |
price | fuente de precio | close | Serie de precios pasada a la función, por convención close. |
Fórmula
TR = Max(High - Low, Abs(High - Close[1]), Abs(Low - Close[1]))
ATR = WilderAverage[N] of TREl True Range es la mayor de tres distancias: el rango del bar actual, la distancia del cierre anterior al máximo actual y la distancia del cierre anterior al mínimo actual. Los dos términos basados en el cierre incorporan los huecos de una sesión a otra a la medición. El suavizado usa el método de Wilder, una media exponencial con alpha = 1/N.
Cómo funciona
Un rango simple de máximo menos mínimo subestima la volatilidad siempre que el mercado hace un hueco, porque el movimiento se produjo entre bars y no dentro de uno. El True Range lo corrige anclando la medición al cierre anterior, de modo que un bar que abre lejos del cierre de ayer registra el salto completo.
Suavizar el True Range sobre N bars produce una estimación estable del movimiento por bar expresada en unidades de precio. Como el ATR está denominado en las unidades propias del instrumento, una lectura de 25 puntos significa algo completamente distinto en un índice que en un par de divisas. Para comparar entre instrumentos, el ATR se suele dividir por el precio para obtener un porcentaje.
El ATR no aporta información direccional. Un ATR creciente significa bars y huecos más grandes, tanto si el mercado sube como si se desploma. Sus principales usos prácticos son el position size, la colocación de stops y el filtrado por volatilidad, y todos ellos necesitan una estimación del movimiento, no de la dirección.
Ejemplos
Ejemplo 1, Trazar el ATR de 14 periodos (Indicador)
// 14-bar Average True Range, drawn in dark red
ATR = AverageTrueRange[14](close)
RETURN ATR coloured(100,0,0)La configuración estándar. Los valores crecientes indican expansión de la volatilidad, los decrecientes indican contracción.
Ejemplo 2, Distancia de stop basada en ATR (ProOrder)
// 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 * 2La distancia del stop escala con la volatilidad actual: amplia en mercados rápidos, estrecha en mercados tranquilos. Así el riesgo por operación se mantiene proporcional a cuánto se mueve realmente el instrumento.
Ejemplo 3, Buscar expansión de volatilidad (ProScreener)
// 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")Devuelve los instrumentos en fase de expansión de volatilidad, clasificados por el ATR como porcentaje del precio para que distintos mercados sean comparables.
Interpretación
| Observación | Lectura |
|---|---|
| ATR ascendente | Los bars y los huecos se hacen más grandes, la volatilidad se expande. Habitual en torno a breakouts y pánicos. |
| ATR descendente | El movimiento se está contrayendo. Las contracciones prolongadas suelen preceder a una expansión direccional. |
| ATR alto frente a su propio historial | Lo apropiado son stops amplios y position sizes más pequeñas. |
| ATR bajo frente a su propio historial | Los setups de breakout resultan más interesantes, los rangos se están comprimiendo. |
Como el ATR no tiene límites y es específico de cada instrumento, toda interpretación es relativa a las lecturas recientes del propio instrumento, no a umbrales fijos.
Errores y trampas habituales
- Tipo de corchete incorrecto.
AverageTrueRange(14)yAverageTrueRange(14, close)fallan. El periodo va entre corchetes, la fuente de precio entre paréntesis:AverageTrueRange[14](close). - Comparar el ATR en bruto entre instrumentos. El ATR está en unidades de precio. Un ATR de 50 en un mercado y 0.005 en otro no dice nada hasta que ambos se normalicen, normalmente como
atr / close * 100. - Usar el ATR como señal de dirección. El ATR sube en los desplomes igual que en los rallies. Una lógica como comprar porque el ATR aumenta confunde volatilidad con tendencia.
- Los cambios de marco temporal reescalan todo. El mismo instrumento tiene un ATR completamente distinto en bars de 5 minutos y en bars diarios. Las distancias de stop y los filtros ajustados en un marco temporal deben recalcularse al cambiar de marco.
Instrucciones relacionadas
TR, el True Range en bruto antes del suavizado.Volatility, medida de volatilidad alternativa integrada.HistoricVolatility, volatilidad estadística a partir de rendimientos logarítmicos.STD, desviación típica del precio en una ventana.Supertrend, nivel de seguimiento de tendencia construido sobre ATR.KeltnerBandUp, canal de volatilidad que usa el rango medio.ChandeKrollStopUp, nivel de trailing stop basado en ATR.Highest, valor más alto de un periodo de referencia, utilizado en lógica de breakout.Lowest, valor más bajo de una ventana de referencia.