Bollinger Bands (bb)

[[bb]] entoure une moyenne mobile par deux bandes calculées à partir de l’écart-type. Vous l’utilisez pour visualiser la volatilité récente, situer le prix par rapport à son équilibre de court ou moyen terme, ou comparer plusieurs configurations dans une recherche par grille.

Quand les bandes s’écartent, la volatilité augmente. Quand elles se resserrent, le marché traverse une phase plus calme. La ligne médiane représente la moyenne du prix sur la période étudiée. Les bandes supérieure et inférieure montrent jusqu’où le prix s’éloigne de cette moyenne.

Déclaration du bloc

Une stratégie peut contenir plusieurs blocs [[bb]]. Chaque bloc génère trois séries de valeurs : bande supérieure, médiane et inférieure. Chaque série est identifiée via les clés upper_id, middle_id et lower_id.

Exemples

Configuration minimale

Ce bloc calcule les bandes de Bollinger avec les valeurs par défaut du bloc, soit source = "close", length = 20, multiplier_upper = 2.0, multiplier_lower = 2.0 et type = "sma".

[[bb]]
upper_id  = "bb_up"
middle_id = "bb_mid"
lower_id  = "bb_low"

Configuration fixe personnalisée

Ce bloc utilise des valeurs personnalisées pour length, multiplier_upper et multiplier_lower.

[[bb]]
upper_id         = "bb_up"
middle_id        = "bb_mid"
lower_id         = "bb_low"
length           = 22
multiplier_upper = 2.2
multiplier_lower = 2.2

Recherche de la période et des écarts-types optimaux

Ce bloc explore des plages de valeurs pour length, multiplier_upper et multiplier_lower afin d’identifier la combinaison la plus performante.

[[bb]]
upper_id  = "bb_up"
middle_id = "bb_mid"
lower_id  = "bb_low"

length.start = 15
length.stop  = 25
length.step  = 1

multiplier_upper.start = 1.5
multiplier_upper.stop  = 2.5
multiplier_upper.step  = 0.2

multiplier_lower.start = 1.5
multiplier_lower.stop  = 2.5
multiplier_lower.step  = 0.2

Type de moyenne mobile médiane (multiple)

Ce bloc teste deux types de moyenne mobile pour la bande médiane : sma et ema.

[[bb]]
upper_id  = "bb_up"
middle_id = "bb_mid"
lower_id  = "bb_low"
type      = ["sma", "ema"]

Paramètres

ParamètreDescription
upper_id
 Texte
 Obligatoire
Nom de la série pour la bande supérieure.
Exemple : upper_id = "bande_sup"
middle_id
 Texte
 Obligatoire
Nom de la série pour la bande médiane.
Exemple : middle_id = "bande_milieu"
lower_id
 Texte
 Obligatoire
Nom de la série pour la bande inférieure.
Exemple : lower_id = "bande_inf"
source
 Texte
 ou Tableau
 Optionnel
Série d’entrée utilisée pour le calcul.
Formats acceptés : source = "hl2" ou source = ["close", "hl2"].
Chaque valeur peut être soit une source de prix standard (open, close, high, low, hl2, hlc3, ohlc4, hlcc4, volume), soit l’id d’un autre indicateur.
Valeur par défaut : "close"
length
 Entier
 Optionnel
Période utilisée pour la moyenne mobile et l’écart‑type, doit être strictement supérieure à 1. Valeur par défaut : 20.

Usage :
• Fixe : length = valeur avec valeur >= 2
• Grille :
 – length.start = valeur_minimale avec valeur_minimale >= 2
 – length.stop = valeur_maximale
 – length.step = valeur (optionnel, par défaut 1)
multiplier_upper
 Décimal
 Optionnel
Multiplicateur pour la bande supérieure ; la valeur doit être strictement supérieure à 0. Valeur par défaut : 2.0.

Usage :
• Fixe : multiplier_upper = 2.0
• Grille :
 – multiplier_upper.start = valeur_minimale
 – multiplier_upper.stop = valeur_maximale
 – multiplier_upper.step = valeur (optionnel, par défaut 1)
multiplier_lower
 Décimal
 Optionnel
Multiplicateur pour la bande inférieure ; la valeur doit être strictement supérieure à 0. Valeur par défaut : 2.0.

Usage :
• Fixe : multiplier_lower = 2.0
• Grille :
 – multiplier_lower.start = valeur_minimale
 – multiplier_lower.stop = valeur_maximale
 – multiplier_lower.step = valeur (optionnel, par défaut 1)
type
 Texte ou Tableau
 Optionnel
Type de moyenne pour la bande médiane. Défaut : "sma".
Valeurs autorisées : "sma", "ema", "wma", "dema", "tema", "trima", "smma", "zlema", "rma".
• Un seul type : type = "ema"
• Plusieurs types : type = ["sma", "ema", "rma"]
symbol
 Texte
 ou Tableau
 Optionnel
Symbole(s) de marché utilisé(s) lorsque source ne contient que des prix standard (open, close, high, low, hl2, hlc3, ohlc4, hlcc4, volume).
Si source mélange des prix standard et des identifiants d’indicateurs, symbol s’applique uniquement aux combinaisons basées sur des prix standard.
Si source ne contient que des identifiants d’indicateurs, symbol est ignoré.
S’il est omis, le bloc hérite du symbole défini dans [backtest].
Pour le format, les tableaux et l’alignement, voir Exchanges, Symboles et Timeframes.
timeframe
 Texte
 ou Tableau
 Optionnel
Timeframe sur lequel cet indicateur est calculé.
Si timeframe est omis, le calcul se fait sur le timeframe principal de la grille défini dans [backtest].
Pour les formats acceptés et les règles d’alignement entre timeframes, voir Exchanges, Symboles et Timeframes.

Variables disponibles

Vous pouvez utiliser directement les identifiants ci‑dessous dans vos expressions. Le bloc Bandes de Bollinger expose trois séries numériques (supérieure, médiane, inférieure) et leurs paramètres (longueur et multiplicateurs), ainsi que la source d’entrée, le symbole et le timeframe.

Supposons le bloc configuré ainsi :

[[bb]]
upper_id  = "bb_up"
middle_id = "bb_mid"
lower_id  = "bb_lo"

Alors :

VariableDescription
bb_up ou bb_up[0]
Décimal
Valeur actuelle de la bande supérieure.
bb_mid ou bb_mid[0]
Décimal
Valeur actuelle de la bande médiane (type de moyenne choisi).
bb_lo ou bb_lo[0]
Décimal
Valeur actuelle de la bande inférieure.
bb_up[n]
bb_mid[n]
bb_lo[n]
Décimal
Valeur de la bande supérieure il y a n bougies.
Valeur de la bande médiane il y a n bougies.
Valeur de la bande inférieure il y a n bougies.
bb_up.length
bb_mid.length
bb_lo.length
Décimal
Période utilisée pour la moyenne mobile et l’écart‑type.
bb_up.multiplier_upper
bb_mid.multiplier_upper
bb_lo.multiplier_upper
Décimal
Multiplicateur supérieur utilisé.
bb_up.multiplier_lower
bb_mid.multiplier_lower
bb_lo.multiplier_lower
Décimal
Multiplicateur inférieur utilisé.
bb_up.source
bb_mid.source
bb_lo.source
Texte
Nom de la série d’entrée.
bb_up.symbol
bb_mid.symbol
bb_lo.symbol
Texte
Symbole de marché utilisé.
bb_up.timeframe
bb_mid.timeframe
bb_lo.timeframe
Texte
Timeframe utilisé.
bb_up.type
bb_mid.type
bb_lo.type
Texte
Type de moyenne utilisé pour la bande médiane (sma, ema, …).

Notes

  • Les variables numériques se combinent librement (arithmétique, comparaisons, opérateurs logiques).
  • Les variables textuelles sont des chaînes destinées aux comparaisons d’égalité/inégalité uniquement.