CCI 20 — Commodity Channel Index
Oscillateur non-borné (théoriquement de −∞ à +∞, en pratique ±200) créé par Donald Lambert pour les matières premières. Mesure l'écart du typical price à sa moyenne mobile, normalisé par la déviation moyenne.
Définition
CCI répond à : « De combien le prix typique actuel s'écarte-t-il du prix typique moyen, en unités de bruit habituel ? » Au-delà de ±100, on considère le mouvement comme statistiquement notable.
Formule
typical[i] = (high[i] + low[i] + close[i]) / 3
mean = SMA(typical, 20)
mean_dev = moyenne de |typical[i] − mean| sur 20 barres
CCI = (typical_now − mean) / (0.015 × mean_dev)
Le facteur 0.015 est une constante "magique" choisie par Lambert pour que ~70-80% des valeurs tombent dans [−100, +100] sur les commodities historiques.
Paramètres dans le code
- Période N : 20
- Implémentation :
forex-assistant.tsx:338— fonctioncci(highs, lows, closes, period = 20) - Constante : 0.015 (fixe)
- Cas dégénéré : retourne 0 si déviation moyenne nulle ou pas assez de données.
Interprétation
| Zone | Lecture |
|---|---|
| > +200 | Surachat extrême — score amplifié |
| +100 à +200 | Surachat modéré |
| −100 à +100 | Mouvement "normal" |
| −200 à −100 | Survente modérée |
| < −200 | Survente extrême — score amplifié |
Logique de score (forex-assistant.tsx:1422)
> 200 → score = -1.2 (max 1.2) // surachat extrême
> 100 → score = -0.6
< -200 → score = +1.2
< -100 → score = +0.6
sinon → score = 0
Particularité : la zone "extrême" (±200) double le score par rapport à la zone modérée (±100). C'est l'un des rares indicateurs avec une amplification non-linéaire. max = 1.2.
Pièges
- Non-borné : peut atteindre ±400 sur un gap. Le scoring sature à ±1.2 mais l'affichage texte montre la valeur brute, qui peut surprendre.
- Sensibilité au calcul de la déviation : Lambert utilise la mean deviation, pas la standard deviation. Notre code respecte ça (
Σ |t - mean| / N). - 20 barres = à adapter au timeframe : sur D1, 20 barres = 1 mois de trading ; sur M5, 20 barres = 100 minutes. Le seuil ±100 conserve le même sens statistique.
- En tendance forte : peut rester > 100 longtemps. CCI > 100 n'est pas un signal de vente direct — c'est un signal de surveillance.
Indicateurs liés
- RSI 14 — oscillateur de surachat borné, philosophie similaire
- Z-score 20 — version "pure" du CCI sans la constante 0.015 et avec stddev
- Bollinger Bands — autre lecture de l'écart à la moyenne (en σ)
- DPO 20 — détrended price, mesure aussi l'écart à la moyenne