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

Configuration 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     = 4

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

Recherche 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ètreDescription
k_id
d_id
 Texte
 Obligatoire
Identifiants uniques pour les lignes %K et %D.
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"
rsi_length
 Entier
 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_length
 Entier
 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_k
 Entier
 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_d
 Entier
 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)
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).
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.
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 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 :

VariableDescription
stoch_k ou
stoch_k[0]
Décimal
Valeur actuelle de %K.
stoch_d ou
stoch_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_length
Décimal
Longueur du RSI interne.
stoch_k.stoch_length
Décimal
Fenêtre du stochastique appliqué au RSI.
stoch_k.smooth_k
Décimal
Longueur du lissage de %K.
stoch_k.smooth_d
Décimal
Longueur de la moyenne de %K utilisée pour %D.
stoch_k.source
Texte
Nom de la série d’entrée de %K.
stoch_d.source
Texte
Nom de la série d’entrée de %D.
stoch_k.symbol
Texte
Symbole de marché utilisé pour %K.
stoch_d.symbol
Texte
Symbole de marché utilisé pour %D.
stoch_k.timeframe
Texte
Timeframe utilisé pour %K.
stoch_d.timeframe
Texte
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.