Stochastic RSI (stoch_rsi)
[[stoch_rsi]] mesure le momentum à partir du RSI plutôt qu’à partir du prix brut. Cet indicateur est plus réactif que le RSI.
Le bloc expose deux séries numériques sur une échelle de 0 à 100. La série %K est la ligne principale lissée. La série %D est une moyenne mobile simple de %K, qui donne une lecture plus régulière.
Les zones de surachat et de survente ne sont pas figées. Vous définissez ces seuils dans votre stratégie et pouvez les explorer via la recherche par grille. Les niveaux 80 et 20 sont des repères fréquents.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[stoch_rsi]].
Chaque bloc génère deux séries numériques : %K et %D.
Exemples
Configuration minimale
Ce bloc calcule le StochRSI sur close et laisse les paramètres optionnels à leur valeur par défaut, indiquée en commentaire.
[[stoch_rsi]]
k_id = "stoch_k"
d_id = "stoch_d"
# source = "close"
# rsi_length = 14
# stoch_length = 14
# smooth_k = 3
# smooth_d = 3Configuration fixe personnalisée
Ce bloc utilise une source et des valeurs personnalisées.
[[stoch_rsi]]
k_id = "stoch_k"
d_id = "stoch_d"
source = "hl2"
rsi_length = 12
stoch_length = 16
smooth_k = 4
smooth_d = 4Recherche des longueurs optimales
Ce bloc utilise la source hl2 et explore des plages de valeurs pour les fenêtres RSI, stochastique et de lissage afin d’identifier la configuration la plus performante.
[[stoch_rsi]]
k_id = "stoch_k"
d_id = "stoch_d"
source = "hl2"
rsi_length.start = 10
rsi_length.stop = 20
rsi_length.step = 2
stoch_length.start = 10
stoch_length.stop = 20
stoch_length.step = 2
smooth_k.start = 2
smooth_k.stop = 6
smooth_d.start = 2
smooth_d.stop = 6Recherche des zones de surachat et de survente
Cet exemple combine le StochRSI avec des blocs [[constant]] pour optimiser les seuils de surachat et de survente tout en imposant oversold < overbought.
[[constant]]
id = "overbought"
start = 70
stop = 90
step = 5
[[constant]]
id = "oversold"
start = 10
stop = 30
step = 5
[[stoch_rsi]]
k_id = "stoch_k"
d_id = "stoch_d"
# source = "close"
# rsi_length = 14
# stoch_length = 14
# smooth_k = 3
# smooth_d = 3
[constraints]
condition = "oversold < overbought"
[[condition]]
id = "k_above_overbought"
condition = "stoch_k > overbought"
next_block_id = "..."
[[condition]]
id = "k_below_oversold"
condition = "stoch_k < oversold"
next_block_id = "..."Paramètres
| Paramètre | Description |
|---|---|
k_idd_idTexte Obligatoire | Identifiants uniques pour les lignes %K et %D. |
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" |
rsi_lengthEntier Optionnel | Fenêtre utilisée pour le RSI interne ; doit être ≥ 2 lorsqu’elle est renseignée. Si rsi_length est omis, la valeur par défaut est 14.Usage : • Fixe : rsi_length = valeur• Grille : – rsi_length.start = valeur_minimale– rsi_length.stop = valeur_maximale– rsi_length.step = valeur (optionnel, par défaut 1) |
stoch_lengthEntier Optionnel | Fenêtre du stochastique appliqué à la série RSI ; doit être ≥ 1 lorsqu’elle est renseignée. Si stoch_length est omis, la valeur par défaut est 14.Usage : • Fixe : stoch_length = valeur• Grille : – stoch_length.start = valeur_minimale– stoch_length.stop = valeur_maximale– stoch_length.step = valeur (optionnel, par défaut 1) |
smooth_kEntier Optionnel | Longueur du lissage appliqué au stochastique pour produire %K ; doit être ≥ 1 lorsqu’elle est renseignée. Si smooth_k est omis, la valeur par défaut est 3.Usage : • Fixe : smooth_k = valeur• Grille : – smooth_k.start = valeur_minimale– smooth_k.stop = valeur_maximale– smooth_k.step = valeur (optionnel, par défaut 1) |
smooth_dEntier Optionnel | Longueur de la moyenne mobile appliquée à %K pour obtenir %D ; doit être ≥ 1 lorsqu’elle est renseignée. Si smooth_d est omis, la valeur par défaut est 3.Usage : • Fixe : smooth_d = valeur• Grille : – smooth_d.start = valeur_minimale– smooth_d.stop = valeur_maximale– smooth_d.step = valeur (optionnel, par défaut 1) |
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).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 l’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 StochRSI expose deux séries numériques (%K et %D) et leurs longueurs, ainsi que la source d’entrée, le symbole et le timeframe.
Supposons le bloc configuré ainsi :
[[stoch_rsi]]
k_id = "stoch_k"
d_id = "stoch_d"Alors :
| Variable | Description |
|---|---|
stoch_k oustoch_k[0]Décimal | Valeur actuelle de %K. |
stoch_d oustoch_d[0]Décimal | Valeur actuelle de %D. |
stoch_k[n]Décimal | Valeur de %K il y a n bougies. |
stoch_d[n]Décimal | Valeur de %D il y a n bougies. |
stoch_k.rsi_lengthDécimal | Longueur du RSI interne. |
stoch_k.stoch_lengthDécimal | Fenêtre du stochastique appliqué au RSI. |
stoch_k.smooth_kDécimal | Longueur du lissage de %K. |
stoch_k.smooth_dDécimal | Longueur de la moyenne de %K utilisée pour %D. |
stoch_k.sourceTexte | Nom de la série d’entrée de %K. |
stoch_d.sourceTexte | Nom de la série d’entrée de %D. |
stoch_k.symbolTexte | Symbole de marché utilisé pour %K. |
stoch_d.symbolTexte | Symbole de marché utilisé pour %D. |
stoch_k.timeframeTexte | Timeframe utilisé pour %K. |
stoch_d.timeframeTexte | Timeframe utilisé pour %D. |
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.