Deviation (dev)

[[dev]] mesure la dispersion moyenne d’une série autour de sa moyenne mobile simple sur une fenêtre donnée. Pour chaque bougie, il calcule d’abord la SMA de la fenêtre courante, puis fait la moyenne des écarts absolus entre cette moyenne et chacune des valeurs de la fenêtre.

Le bloc dev ne donne pas la direction du marché. Une valeur élevée indique que la série s’éloigne davantage de sa moyenne récente. Une valeur faible indique au contraire que les valeurs restent plus regroupées autour de cette moyenne. Vous pouvez l’utiliser pour mesurer la dispersion récente d’un prix ou d’une série dérivée, filtrer certaines phases de marché ou comparer plusieurs longueurs dans une recherche par grille.

Déclaration du bloc

Une stratégie peut contenir plusieurs blocs [[dev]]. Chaque bloc produit une série numérique représentant cette déviation moyenne absolue.

Exemples

Configuration minimale

Ce bloc calcule dev à partir de close avec une longueur de 20. Comme source est omis, le bloc utilise la valeur par défaut "close".

[[dev]]
id     = "dev"
length = 20

Recherche de la longueur optimale

Ce bloc explore une plage de valeurs pour length afin d’identifier la longueur la plus performante.

[[dev]]
id           = "dev"
length.start = 10
length.stop  = 30

Paramètres

ParamètreDescription
id
 Texte
 Obligatoire
Nom unique de la série.
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
 Obligatoire
Fenêtre utilisée pour calculer la SMA de référence et la déviation moyenne absolue ; doit être ≥ 1.

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é utilisé(s) lorsque source ne contient que des prix standard (open, close, high, low, hl2, hlc3, ohlc4, hlcc4, volume).
Les symboles doivent inclure le préfixe d’exchange au format EXCHANGE:SYMBOL (par exemple "KUCOIN:BTCUSDT").
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 les règles d’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 DEV expose une série numérique et sa longueur, ainsi que la source d’entrée, le symbole et le timeframe.

Supposons le bloc configuré ainsi :

[[dev]]
id     = "dev"
length = 20

Alors :

VariableDescription
dev ou dev[0]
Décimal
Valeur actuelle de la déviation moyenne absolue.
dev[n]
Décimal
Valeur de la déviation moyenne absolue il y a n bougies.
dev.length
Décimal
Longueur utilisée.
dev.source
Texte
Nom de la série d’entrée.
dev.symbol
Texte
Symbole de marché utilisé.
dev.timeframe
Texte
Timeframe utilisé.

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.