Center of Gravity (cog)
Le Center of Gravity (COG) décrit la position temporelle des valeurs d’une source dans une fenêtre de length bougies. Lorsque ces valeurs gardent le même signe, notamment avec une source de prix positive, chaque valeur peut être comprise comme un poids attaché à l’âge de sa bougie. La sortie représente alors l’âge moyen pondéré de la fenêtre.
Dans cette lecture, l’échelle s’étend de -1 lorsque les poids se concentrent du côté des bougies récentes à -length lorsqu’ils se concentrent du côté des plus anciennes. Une répartition uniforme se situe près du milieu de cette échelle. Le COG n’exprime donc ni un prix ni une variation, mais la position relative de ces poids dans la fenêtre. Lorsque source mélange des valeurs positives et négatives, cette lecture conventionnelle ne s’applique plus directement.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[cog]]. Chaque bloc [[cog]] produit une série numérique unique, identifiée par son champ id.
Exemples
Configuration minimale
Ce bloc calcule le COG sur la source close, avec la longueur par défaut 10 et avec le symbole et le timeframe principaux définis dans [backtest].
[[cog]]
id = "cog"Configuration fixe personnalisée
Ce bloc utilise une valeur personnalisée pour length.
[[cog]]
id = "cog"
length = 21Recherche de la longueur optimale
Ce bloc explore une plage de valeurs pour length afin d’identifier la longueur la plus performante.
[[cog]]
id = "cog"
length.start = 5
length.stop = 20Tester close et hlc3 comme sources
Ce bloc teste le COG avec deux sources d’entrée, close et hlc3 (moyenne de high, low, close). Une combinaison est générée pour chaque source. Le bloc utilise toujours le symbole et le timeframe principaux.
[[cog]]
id = "cog"
source = ["close", "hlc3"]Symbole et timeframe dédiés
Ce bloc calcule le COG sur la série journalière de BINANCE:ETHUSDT, indépendamment du symbole et du timeframe principaux utilisés par le reste de la stratégie. Voir la page Exchanges, Symboles et Timeframes pour les règles d’alignement.
[[cog]]
id = "cog"
symbol = "BINANCE:ETHUSDT"
timeframe = "D"Paramètres
| Paramètre | Description |
|---|---|
idTexte Obligatoire | Nom unique utilisé pour identifier la série COG. |
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 : "close" |
lengthEntier Optionnel | Taille de la fenêtre de calcul ; doit être strictement supérieure à 0 lorsqu’elle est renseignée. Si length est omis, la valeur par défaut est 10.Usage : • Fixe : length = valeur• Grille : – length.start = valeur_minimale– length.stop = valeur_maximale– length.step = valeur (optionnel, par défaut 1) |
symbolTexte ou Tableau Optionnel | Symbole(s) de marché fournissant la série source lorsque source contient 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é.Pour le format et les règles d’alignement, voir le guide Exchanges, Symboles et Timeframes. |
timeframeTexte ou Tableau Optionnel | Timeframe sur lequel cet indicateur est calculé. Si omis, le calcul se fait sur le timeframe principal de la grille. Pour les formats acceptés et le comportement multi‑timeframes, voir Exchanges, Symboles et Timeframes. |
Variables disponibles
Le bloc COG expose une série numérique, ses paramètres de configuration et des métadonnées sur la source d’entrée, le symbole et le timeframe. Vous pouvez utiliser directement ces identifiants dans vos expressions.
Supposons le bloc configuré ainsi :
[[cog]]
id = "cog"Alors :
| Variable | Description |
|---|---|
cog ou cog[0]Décimal | Valeur actuelle du COG. |
cog[n]Décimal | Valeur du COG il y a n bougies. |
cog.lengthDécimal | Longueur de fenêtre effectivement utilisée. |
cog.sourceTexte | Nom de la série d’entrée utilisée. |
cog.symbolTexte | Symbole de marché à partir duquel les données d’entrée sont lues. |
cog.timeframeTexte | Timeframe sur lequel le COG est calculé. |
Notes
- Si la somme des valeurs de
sourcedans la fenêtre vaut zéro, la valeur du COG n’est pas disponible (NaN). - Si
sourcemélange des valeurs positives et négatives, le résultat peut sortir de l’intervalle conventionnel compris entre-lengthet-1. - Les variables numériques se combinent librement (arithmétique, comparaisons, opérateurs logiques).
- Les variables textuelles sont destinées aux comparaisons d’égalité/inégalité ou à la journalisation et à l’export.