Standard Deviation (stdev)
[[stdev]] mesure la dispersion de sa source autour de sa moyenne sur une fenêtre length. Il produit une série non négative exprimée dans la même unité que la source. Une valeur faible signifie que les observations restent regroupées près de leur moyenne ; une valeur élevée qu’elles s’en écartent davantage.
L’écart-type ne donne pas le sens du mouvement et ne distingue pas les écarts situés au-dessus de la moyenne de ceux situés en dessous. Le paramètre biased choisit si la fenêtre est traitée comme une population complète ou comme un é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. L’exemple repère des phases d’extension du prix tout en tenant compte de la volatilité récente.
[[ma]]
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.