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 = 21

Recherche 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  = 20

Tester 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ètreDescription
id
 Texte
 Obligatoire
Nom unique utilisé pour identifier la série COG.
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
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)
symbol
 Texte
 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.
timeframe
 Texte
 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 :

VariableDescription
cog ou cog[0]
Décimal
Valeur actuelle du COG.
cog[n]
Décimal
Valeur du COG il y a n bougies.
cog.length
Décimal
Longueur de fenêtre effectivement utilisée.
cog.source
Texte
Nom de la série d’entrée utilisée.
cog.symbol
Texte
Symbole de marché à partir duquel les données d’entrée sont lues.
cog.timeframe
Texte
Timeframe sur lequel le COG est calculé.

Notes

  • Si la somme des valeurs de source dans la fenêtre vaut zéro, la valeur du COG n’est pas disponible (NaN).
  • Si source mélange des valeurs positives et négatives, le résultat peut sortir de l’intervalle conventionnel compris entre -length et -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.