ATR 14 — Average True Range
Mesure de la volatilité moyenne par bougie, lissée selon Wilder. Conçu par J. Welles Wilder (1978). La référence pour tout calcul de stop-loss et position-sizing.
Définition
ATR répond à : « En moyenne, de combien le prix bouge-t-il par bougie ? » Le True Range capture les gaps overnight et les wicks, pas seulement le close-à-close. Affiché dans l'unité du prix.
Formule
TR[i] = max(
high[i] − low[i],
|high[i] − close[i-1]|,
|low[i] − close[i-1]|
)
ATR[14] = Wilder(TR, 14) = bootstrap SMA des 14 premiers TR,
puis ATR[i] = (ATR[i-1] × 13 + TR[i]) / 14
Lissage Wilder = EMA avec α = 1/N.
Paramètres dans le code
- Période : 14
- Implémentation :
forex-assistant.tsx:553— fonctionatr(highs, lows, closes, period = 14) - Sortie : valeur scalaire (en unité de prix)
- Cas dégénéré : retourne 0 si
closes.length < period + 1
Interprétation
ATR est un nombre absolu — sa lecture est contextuelle. Sur EUR/USD H1, ATR ≈ 0.0008 ≈ 8 pips. En unités de prix, on le compare au pip pour décisions opérationnelles.
| Usage | Description |
|---|---|
| Stop-loss | stop = entry ± 1.5 × ATR (compromis classique) |
| Position sizing | lot = risk_amount / (stop_pips × pip_value) |
| Filtre | Si ATR < 50% de sa moyenne 100 barres → marché calme, signal moins fiable |
Logique de score
score = 0 (max 0) // informatif uniquement
ATR ne contribue pas au score normalisé. Il est exposé pour informer le calcul de position-size dans le composant principal :
stopPips = max(15, round((ATR × 1.5) / pipValue))
positionSize = floor(riskAmount / (stopPips × pipValue × jpyAdjust))
Pièges
- Pas comparable entre paires : ATR sur EUR/USD ≠ ATR sur USD/JPY (units différentes — pips vs gros pips). Toujours diviser par
pipValuepour comparer. - Wilder vs SMA : si tu compares avec d'autres outils, vérifie qu'ils utilisent Wilder. Notre implémentation est canonique.
- Choisir N selon le timeframe : N=14 sur D1 = 2-3 semaines de mémoire ; sur M5, ~1h. Le ratio à des seuils dépend du contexte.
- Volatilité ≠ direction : ATR ne dit rien du sens du marché. Un ATR élevé pendant un range est aussi élevé qu'en tendance — mais l'interprétation diffère.
Indicateurs liés
- Régime ATR — percentile de l'ATR sur 100 barres pour comparabilité
- Vol hist. ann. — alternative en σ × √252
- Keltner — canal centré sur EMA ± mult × ATR
- Supertrend — utilise ATR pour le trailing
- Chaikin Vol — autre lecture de la volatilité (range high-low)