Indicador ATR Stop (long): fórmula, ajustes y cómo leerlo
ATR Stop (largo) dibuja una línea de referencia a un número fijo de Average True Range por debajo del cierre de cada barra, lo que da un nivel ajustado a la volatilidad para una posición larga. Es una superposición sobre el precio y solo un dibujo: no coloca ninguna orden.
Senzoukria · Indicadores · Updated September 2026
ATR Stop (long) — Volatilidad, sobre el gráfico de precios.
Qué mide ATR Stop (long)
La línea es el cierre menos multiplicador × el ATR de Wilder de N periodos, con 14 barras y un multiplicador de 2 por defecto. Expresar la distancia en ATR y no en puntos fijos mantiene más o menos comparable la probabilidad de que se toque el nivel entre una apertura rápida y una sesión nocturna tranquila, donde veinte puntos significan cosas muy distintas. Esta versión sigue al cierre en ambos sentidos: sube cuando sube el cierre y vuelve a bajar cuando baja, así que no funciona como un trinquete. No se dibuja nada mientras el ATR se está calentando, en lugar de un nivel parcial construido con una media incompleta.
La fórmula, tal como está implementada
No es la definición habitual en otros sitios: es lo que calcula el código que se distribuye, documentado junto a su implementación:
Param entier ≥ 1 (les périodes n'ont pas de sens en fractions de barre). */ function intParam( params: Record<string, unknown>, key: string, fallback: number, ): number { return Math.max(1, Math.floor(numParam(params, key, fallback))); } /** Plus haut des N dernières barres (fenêtre [i−N+1, i]). Warm-up → null : fenêtre incomplète = période mensongère (règle `donchian`). */ function rollingHigh( bars: readonly FootprintBar[], n: number, ): Array<number | null> { const out: Array<number | null> = new Array(bars.length).fill(null); for (let i = n - 1; i < bars.length; i++) { let hi = Number.NEGATIVE_INFINITY; for (let j = i - n + 1; j <= i; j++) { if (bars[j].high > hi) hi = bars[j].high; } out[i] = hi; } return out; } /** Plus bas des N dernières barres — symétrique de `rollingHigh`. */ function rollingLow( bars: readonly FootprintBar[], n: number, ): Array<number | null> { const out: Array<number | null> = new Array(bars.length).fill(null); for (let i = n - 1; i < bars.length; i++) { let lo = Number.POSITIVE_INFINITY; for (let j = i - n + 1; j <= i; j++) { if (bars[j].low < lo) lo = bars[j].low; } out[i] = lo; } return out; } /** Range COMPLET d'une session (max high − min low). Les tranches de `splitSessions` sont non vides par construction → extrêmes finis. */ function sessionRange( bars: readonly FootprintBar[], ses: SessionSlice, ): number { let hi = Number.NEGATIVE_INFINITY; let lo = Number.POSITIVE_INFINITY; for (let i = ses.start; i <= ses.end; i++) { if (bars[i].high > hi) hi = bars[i].high; if (bars[i].low < lo) lo = bars[i].low; } return hi - lo; } /** `to` d'un niveau de session : borne droite pour une session passée, null (= bord droit du chart) pour la dernière session chargée. */ function sessionTo( ses: SessionSlice, isLast: boolean, bars: readonly FootprintBar[], ): number | null { return isLast ? null : bars[ses.end].bucketTsNs; } /** Sortie ligne alignée sur un tableau de valeurs déjà calculé. */ function valuesLine( bars: readonly FootprintBar[], vals: ReadonlyArray<number | null>, ): SeriesPoint[] { return bars.map((b, i) => ({ time: b.bucketTsNs, value: vals[i] })); } // ── 1-2. Stops ATR ────────────────────────────────────────────────────────── /** ATR Stop (long) — stop suiveur THÉORIQUE d'une position longue : stop[i] = close[i] − mult × ATR_N[i] Défauts N=14 (Wilder), mult=2 : deux ATR sous le close, la distance classique pour laisser respirer un indice CME sans se faire sortir par le bruit d'une barre. POURQUOI en ATR et pas en points fixes : un stop à 20 points est serré à 09:30 et large à 03:00 — l'ATR le met à l'échelle de la volatilité de l'instant, donc la probabilité de touche reste comparable d'un régime à l'autre. ATTENTION (documenté, assumé) : cette version SUIT le close, elle ne cliquete PAS (elle peut redescendre si le close redescend). Le stop qui ne recule jamais est `volatility-stop`. Warm-up ATR → null (le renderer lève le crayon), jamais de stop partiel.
Cómo leerlo
- La distancia entre el precio y la línea es el margen de volatilidad actual: cuando se amplía, las barras recorren más terreno y un stop de puntos fijos saltaría con el ruido normal.
- Un cierre por debajo de la línea marca que se ha cedido el nivel, pero comprueba cuál de los dos se movió: el precio puede atravesarla, o la línea puede haber seguido al precio a la baja.
- Como sigue al cierre, un retroceso profundo arrastra el nivel con él. El estudio diseñado para no retroceder nunca es el volatility stop; el chandelier exit cambia el ancla a un máximo de ventana, que es otro comportamiento distinto.
- Subir el multiplicador aleja la línea: menos toques, más distancia; bajarlo hace lo contrario. Ninguna opción es más segura, simplemente cambian frecuencia por distancia.
- Una línea que cae dentro de una zona de precio muy negociada se sitúa donde la actividad ya está concentrada, algo que el cálculo no conoce.
Parámetros y valores por defecto
El periodo del ATR es 14 por defecto y decide lo rápido que se adapta la distancia: un periodo corto acerca la línea poco después de una fase tranquila, uno largo mantiene la distancia a lo largo de ella. El multiplicador es 2 por defecto, admite de 0,1 a 10 y escala el desplazamiento de forma lineal; es el parámetro que decide cuánto movimiento normal tolera el nivel.
| Parámetro | Tipo | Por defecto | Rango |
|---|---|---|---|
| ATR period | number | 14 | 1 – 200 |
| ATR multiplier | number | 2 | 0.1 – 10 |
Lo que no muestra
La línea es un estudio del gráfico, no una orden ni una posición: nada envía, mueve ni cancela un stop a partir de ella, y el enrutamiento real en Senzoukria pasa por la vía de trading explícita con su propio armado manual. No sabe nada de tu entrada, tu tamaño ni tu cuenta, así que la distancia al precio no es una cifra de pérdida. Como sigue al cierre, puede retroceder durante una caída, que es lo contrario de un trailing stop bloqueado. Y el ATR solo mide el rango, así que el nivel es ciego al order flow: la absorción o una gran orden bid en reposo a ese precio quedan fuera de sus datos de entrada.
Indicadores relacionados
- True Range — Volatilidad
- Std Dev — Volatilidad
- Squeeze — Volatilidad
- Chaikin Volatility — Volatilidad
- Realized Vol — Volatilidad
- Skewness — Volatilidad
Esta página en otros idiomas
Frequently asked questions
- ¿El indicador ATR Stop coloca una orden stop real?
- No. Dibuja una línea en el gráfico y nada más. La entrada de órdenes en Senzoukria es una acción aparte que exige un armado humano explícito, y este estudio no está conectado a ella.
- ¿Por qué baja mi línea de stop ATR?
- Esta versión se ancla en el cierre, no en un máximo acumulado, así que cuando baja el cierre la línea baja con él. Es un comportamiento documentado, no un error. Si necesitas un nivel que nunca se mueva en contra de una posición larga, usa el volatility stop, diseñado para funcionar como trinquete.
- ¿Qué multiplicador de ATR debo usar?
- El valor por defecto es 2 ATR con una media de 14 periodos, la distancia habitual para dejar respirar a un futuro sobre índice. Un multiplicador menor sitúa el nivel dentro del rango de una barra normal y se tocará a menudo; uno mayor lo mantiene alejado a costa de distancia. No hay un valor correcto con independencia del instrumento y del tipo de barra.