Indicateur Bollinger : formule, réglages et lecture
Les bandes de Bollinger tracent une moyenne mobile simple des clôtures, entourée d'une bande haute et d'une bande basse placées à un nombre choisi d'écarts-types de part et d'autre. Les bandes s'écartent quand les clôtures se dispersent autour de leur moyenne et se resserrent quand elles s'y agglutinent.
Senzoukria · Indicateurs · Updated September 2026
Bollinger — Moyennes et volatilité, sur le graphique des prix.
Ce que mesure Bollinger
La base est la moyenne mobile simple des N dernières clôtures. Les bandes sont cette base plus et moins k fois l'écart-type de la même fenêtre, calculé avec la convention de population : la somme des écarts au carré est divisée par N, pas par N - 1. Ce choix correspond à la façon dont TradingView et ATAS calculent les bandes de Bollinger, et il rend les bandes très légèrement plus étroites qu'un écart-type d'échantillon. Toute la construction n'utilise que des clôtures : le mouvement survenu entre deux clôtures n'atteint donc les bandes qu'à travers les clôtures qu'il a produites.
La formule, telle qu’implémentée
Ce n'est pas la définition habituelle ailleurs : c'est ce que calcule le code livré, documenté à côté de son implémentation :
True Range et ATR de Wilder : TR[0] = high − low ; TR[i] = max(high−low, |high−closeₚ|, |low−closeₚ|) ATR[N−1] = moyenne des N premiers TR ; ATR[i] = (ATR[i−1]·(N−1)+TR[i])/N Warm-up (< N barres) → null. Défaut N=14 (Wilder, 1978). */ export function atrSeries( bars: readonly FootprintBar[], period: number, ): Array<number | null> { const n = Math.max(1, Math.floor(period)); const out: Array<number | null> = new Array(bars.length).fill(null); if (bars.length < n) return out; const tr: number[] = new Array(bars.length); for (let i = 0; i < bars.length; i++) { const b = bars[i]; if (i === 0) { tr[i] = b.high - b.low; } else { const pc = bars[i - 1].close; tr[i] = Math.max(b.high - b.low, Math.abs(b.high - pc), Math.abs(b.low - pc)); } } let atr = 0; for (let i = 0; i < n; i++) atr += tr[i]; atr /= n; out[n - 1] = atr; for (let i = n; i < bars.length; i++) { atr = (atr * (n - 1) + tr[i]) / n; out[i] = atr; } return out; } const atr: SeriesIndicatorDef = { id: "atr", label: "ATR (Wilder)", group: "Averages & volatility", target: "pane", params: [ { key: "period", label: "Period", type: "number", default: 14, min: 1, max: 200, step: 1 }, { key: "color", label: "Color", type: "color", default: C.gray }, ], compute(bars, params) { const n = Math.max(1, Math.floor(numParam(params, "period", 14))); return [lineOut(toPoints(bars, atrSeries(bars, n)), strParam(params, "color", C.gray))]; }, }; /** Bollinger sur close : basis = SMA_N, bandes = basis ± k·σ où σ est l'écart-type de POPULATION de la fenêtre (÷N, pas ÷(N−1) — la convention TradingView/ATAS pour les BB). Défauts N=20, k=2 (Bollinger, 1983).
Comment le lire
- La largeur des bandes est la lecture principale : des bandes qui se resserrent signifient que les clôtures sont restées serrées autour de leur moyenne, des bandes qui s'écartent signifient l'inverse.
- Une clôture hors d'une bande est un constat sur cette clôture au regard de la fenêtre, pas un signal ; dans un mouvement directionnel, les clôtures peuvent rester hors de la bande sur une longue série de barres.
- Quand le prix longe une bande, la base est en général inclinée dans le même sens : traitez les deux ensemble plutôt que la bande seule.
- Un retour à l'intérieur des bandes après une sortie vous dit que la dispersion est retombée, ce qui peut arriver alors que le prix continue dans le même sens.
- La base est une moyenne simple : elle tourne après le prix. Une traversée de la base n'est pas un événement précoce.
Paramètres et valeurs par défaut
Les valeurs par défaut sont une période de 20 et un multiplicateur de 2,0, le couple publié par Bollinger en 1983. Augmenter la période rend la base et la largeur plus lentes et moins sensibles à une barre isolée. Augmenter le multiplicateur met les bandes à l'échelle proportionnellement, sans changer le moment où elles s'écartent ou se resserrent. Le multiplicateur accepte 0,5 à 5 par pas de 0,1, et la période 2 à 200.
| Paramètre | Type | Par défaut | Bornes |
|---|---|---|---|
| Period | number | 20 | 2 – 200 |
| σ multiplier | number | 2 | 0.5 – 5 |
Ce qu’il ne montre pas
Les bandes décrivent la dispersion des clôtures passées, rien d'autre. Elles ne portent aucune information sur qui a traité à ces prix : un resserrement qui se résout par de l'absorption et un autre qui se résout par une agression unilatérale ont exactement la même apparence sur le graphique. Rien dans le calcul ne suppose une distribution particulière des rendements : il ne faut donc pas attendre que la proportion d'observations qu'une loi normale placerait dans deux écarts-types se vérifie sur des données de marché. Les gaps de séance sont invisibles, puisque seules les clôtures entrent dans la somme. Et après une barre très grande, la largeur reste élevée jusqu'à la fin de la fenêtre, même si le marché est redevenu calme.
Indicateurs liés
- SMA — Moyennes et volatilité
- EMA — Moyennes et volatilité
- WMA — Moyennes et volatilité
- Hull MA — Moyennes et volatilité
- ATR (Wilder) — Moyennes et volatilité
- Keltner — Moyennes et volatilité
Cette page dans d’autres langues
Frequently asked questions
- Les bandes de Bollinger utilisent-elles l'écart-type de population ou d'échantillon ?
- Cette implémentation divise la somme des écarts au carré par N, la convention de population, celle qu'emploient TradingView et ATAS pour les bandes de Bollinger. Un écart-type d'échantillon, divisé par N - 1, donnerait des bandes marginalement plus larges. L'écart se réduit quand la période augmente et il est à peine visible à la période par défaut de 20.
- Que signifie un squeeze de Bollinger ?
- Un squeeze est une phase où les deux bandes se rapprochent, ce qui se produit quand les clôtures récentes sont restées serrées autour de leur moyenne mobile. Il décrit le marché qui vient de se traiter ; il n'indique ni la direction du mouvement qui suit, ni le moment où il commence.
- Les bandes voient-elles les gaps entre séances ?
- Non. Seuls les prix de clôture entrent dans la moyenne et dans l'écart-type : un gap ne modifie donc les bandes qu'à travers les clôtures qui le suivent. Un canal construit sur le true range, comme le Keltner, inclut la distance à la clôture précédente et réagit au gap lui-même.