Régime ATR
Classifie l'ATR actuel par rapport à son historique sur 100 barres. Donne un percentile + une étiquette qualitative (calm / normal / agité / extrême).
Définition
Régime ATR répond à : « Comparé aux 100 dernières barres, le marché est-il calme, normal ou agité aujourd'hui ? » Met l'ATR brut en perspective historique pour rendre le scoring contextuel.
Formule
atrSeries = ATR(highs, lows, closes) calculé sur chaque préfixe
recent = atrSeries[-100:]
percentile = position de l'ATR actuel dans le tri ascendant
Si percentile > 80 → régime "extrême"
Si percentile > 60 → régime "agité"
Si percentile > 30 → régime "normal"
sinon → régime "calme"
Paramètres dans le code
- Fenêtre : 100 barres
- Implémentation :
volatilityRegime()dansforex-assistant.tsx - Sortie :
{ regime: string, percentile: number }
Interprétation
| Régime | Percentile | Lecture |
|---|---|---|
calm |
< 30 | Marché léthargique — signaux fragiles, breakouts vrais rares |
normal |
30 – 60 | Conditions habituelles |
agité |
60 – 80 | Volatilité élevée — bons mouvements directionnels |
extrême |
> 80 | Volatilité historique — événement (news, gap, panique) |
Logique de score
score = 0 (max 0) // purement informatif
Régime ATR ne contribue pas au score. Il colore la décision : un signal RSI < 30 en régime calme est bien moins fiable qu'en régime agité (range vs vraie survente).
Pièges
- Fenêtre 100 barres = court historique : sur D1, ~5 mois. Sur M5, ~8h. Le "régime calme" sur M5 peut être un mardi matin, sur D1 un été 2017.
- Ne dit rien des prochaines barres : la mean-reversion de la volatilité existe mais lentement. Un régime extrême peut persister.
- Distribution gaussienne supposée : le percentile suppose une distribution stable de l'ATR, ce qui n'est pas vrai en cas de régime change (crise).
- Combine avec ATR brut : Régime = qualitatif, ATR brut = quantitatif. Les deux sont complémentaires.
Indicateurs liés
- ATR 14 — la métrique de base
- Vol hist. ann. — autre proxy de la volatilité
- Choppiness — détecte différemment (range vs trend)
- BB Bandwidth — détecte le squeeze plutôt que le régime