Standard Deviation (stdev)
[[stdev]] mesure l’ampleur des écarts d’une série autour de sa moyenne sur une fenêtre donnée. Il sert à quantifier la variabilité récente d’un prix ou d’une série calculée, par exemple pour comparer plusieurs régimes de marché, normaliser un écart à la moyenne ou construire des seuils adaptatifs.
Le bloc stdev ne donne pas le sens du mouvement. Une valeur faible traduit une série peu dispersée autour de sa moyenne récente. Une valeur plus élevée signale au contraire des écarts plus marqués sur la période considérée.
Le paramètre biased permet de choisir entre l’écart-type population et l’écart-type échantillon.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[stdev]]. Chaque bloc génère une série numérique représentant la valeur de l’écart-type.
Exemples
Configuration minimale
Ce bloc calcule stdev avec une fenêtre de 20 périodes. Comme source et biased sont omis, le bloc utilise les valeurs par défaut, soit source = "close" et biased = true.
[[stdev]]
id = "stdev"
length = 20Ecart-type sur le prix de clôture
Ce bloc calcule l’écart-type des prix de clôture sur les 20 dernières bougies.
[[stdev]]
id = "stdev"
source = "close"
length = 20Ecart normalisé à une moyenne mobile
Cet exemple utilise stdev pour exprimer l’écart entre le prix et une moyenne mobile en nombre d’écarts-types.
La condition devient vraie lorsque le prix de clôture s’éloigne de plus de 1.5 écart-type au-dessus de sa moyenne mobile. Ce type de montage sert à repérer des phases d’extension du prix tout en tenant compte de la volatilité récente.
[[moving_average]]
id = "baseline"
source = "close"
type = "ema"
length = 50
[[stdev]]
id = "volatility"
source = "close"
length = 50
[[condition]]
id = "price_extension"
condition = "(close - baseline) / volatility > 1.5"
next_block_id = "..."Paramètres
| Paramètre | Description |
|---|---|
idTexte Obligatoire | Nom unique de la série. |
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 ou Plage Obligatoire | Fenêtre d’écart-type. Elle doit être ≥ 1 lorsque biased = true, et ≥ 2 lorsque biased = false.Usage : • Fixe : length = valeur• Grille : – length.start = valeur_minimale– length.stop = valeur_maximale– length.step = valeur (optionnel, par défaut 1) |
biasedBooléen Optionnel | Choisit le type d’écart-type. Lorsque true, le bloc utilise l’écart-type population (division par ). Lorsque false, il utilise l’écart-type échantillon (division par ). La valeur par défaut est true. |
symbolTexte 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. |
timeframeTexte 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 stdev expose une série numérique, ses paramètres et les métadonnées d’entrée.
Supposons le bloc configuré ainsi :
[[stdev]]
id = "stdev"
length = 20Alors :
| Variable | Description |
|---|---|
stdev ou stdev[0]Décimal | Valeur actuelle de l’écart-type. |
stdev[n]Décimal | Valeur de l’écart-type il y a n bougies. |
stdev.lengthDécimal | Longueur de fenêtre utilisée. |
stdev.biasedDécimal | Indicateur de biais utilisé : 1 pour l’écart-type population, 0 pour l’écart-type échantillon. |
stdev.sourceTexte | Nom de la série d’entrée. |
stdev.symbolTexte | Symbole utilisé. |
stdev.timeframeTexte | Timeframe utilisé pour ce bloc. |
Notes
- Lorsque
biased = false, la fenêtre doit contenir au moins deux valeurs, car l’écart-type échantillon utilise un diviseur . - Le moteur ignore les valeurs
nalors de la construction de la fenêtre et commence à produire des valeurs seulement après avoir accumulé suffisamment d’échantillons valides.