Commodity Channel Index (cci)
[[cci]] mesure l’écart entre une série de prix et sa dynamique récente. Vous l’utilisez pour repérer des phases d’extension, filtrer certaines conditions de marché ou comparer plusieurs réglages dans une recherche par grille.
Le CCI oscille autour de zéro. Une valeur positive indique que la série observée évolue au-dessus de son niveau récent, tandis qu’une valeur négative indique qu’elle évolue en dessous. Plus la valeur s’éloigne de zéro, plus l’écart est marqué. En pratique, certains utilisateurs surveillent aussi les zones au-dessus de +100 ou en dessous de -100 pour repérer des mouvements déjà bien étendus.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[cci]]. Chaque bloc produit une série numérique : la valeur du CCI.
Exemples
Configuration minimale
Ce bloc calcule le CCI avec une fenêtre de 20 périodes. Comme source est omise, le bloc utilise la source par défaut hlc3.
[[cci]]
id = "cci"
length = 20Recherche de la longueur optimale
Ce bloc explore une plage de valeurs pour length afin d’identifier la longueur la plus performante. Comme source est omise, le bloc utilise la source par défaut hlc3.
[[cci]]
id = "cci"
length.start = 10
length.stop = 30Filtre de momentum avec seuil
Cet exemple utilise le CCI comme filtre de momentum. cci_threshold définit le niveau minimal à dépasser pour que la condition devienne vraie. Des seuils plus faibles rendent le filtre plus permissif, tandis que des seuils plus élevés ne retiennent que des phases où l’écart à la dynamique récente est plus marqué.
[[constant]]
id = "cci_threshold"
start = 50
stop = 150
step = 10
[[cci]]
id = "cci"
length = 20
[[condition]]
id = "cci_filter"
condition = "cci > cci_threshold"
next_block_id = "..."Timeframe dédié
Ce bloc CCI utilise un timeframe journalier distinct. La série utilisée pour le calcul du CCI est extraite de ce timeframe (timeframe = "D"), et non du timeframe principal défini dans [backtest]. Voir la page Exchanges, Symboles et Timeframes pour les règles d’alignement entre ce timeframe et le timeframe principal.
[[cci]]
id = "cci"
timeframe = "D"
length = 20Symbole spécifique
Ce bloc lit sa série de prix sur le symbole spécifique BINANCE:ETHUSDT. Voir la page Exchanges, Symboles et Timeframes pour l’alignement avec le symbole principal.
[[cci]]
id = "cci"
symbol = "BINANCE:ETHUSDT"
length = 20Paramètres
| Paramètre | Description |
|---|---|
idChaîne Obligatoire | Nom unique de la série CCI. |
sourceTexte 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 : "hlc3" |
lengthEntier Obligatoire | Fenêtre d’observation, doit être ≥ 2. Usage : • Fixe : length = valeur• Grille : – length.start = valeur_minimale– length.stop = valeur_maximale– length.step = valeur (optionnel, par défaut 1) |
symbolChaîne 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é.Si symbol 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. |
timeframeChaîne 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
Référencez directement l’identifiant ci‑dessous dans vos expressions. Le bloc CCI expose une série numérique et ses paramètres (length, source, symbol, timeframe).
Supposons le bloc configuré ainsi :
[[cci]]
id = "cci"
length = 20Alors :
| Variable | Description |
|---|---|
cci ou cci[0]Décimal | Valeur courante du CCI. |
cci[n]Décimal | Valeur du CCI il y a n bougies. |
cci.lengthDécimal | Longueur de fenêtre courante (fixe ou issue d’une plage). |
cci.sourceChaîne | Nom de la source (ex. hlc3, close, ou l’id d’un autre indicateur). |
cci.symbolChaîne | Symbole utilisé (format d’affichage). |
cci.timeframeChaîne | Unité de temps utilisée pour ce CCI. |
Notes
- La série retourne
natant que l’historique disponible ne permet pas encore de calculer le CCI, ainsi que dans certaines fenêtres où l’écart mesuré devient nul.