Relative Strength Index (rsi)

[[rsi]] est un oscillateur de momentum borné entre 0 et 100. Il compare la force moyenne des hausses à celle des baisses sur une période donnée afin de montrer si le mouvement du prix se renforce, ralentit ou s’essouffle.

Le RSI sert à repérer des phases d’excès, filtrer des entrées ou construire des conditions de retournement. Plus sa valeur monte, plus les hausses récentes dominent. Plus elle baisse, plus les baisses récentes prennent le dessus.

Déclaration du bloc

Une stratégie peut contenir plusieurs blocs [[rsi]]. Chaque bloc génère une série numérique représentant la valeur du RSI.

Exemples

Configuration minimale

Ce bloc calcule un RSI sur la série close. Comme length est omis, le bloc utilise la longueur par défaut 14.

[[rsi]]
id = "rsi"

Configuration fixe personnalisée

Ce bloc utilise une valeur personnalisée pour length.

[[rsi]]
id     = "rsi"
length = 21

Recherche de la longueur optimale

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

[[rsi]]
id           = "rsi"
source       = "hlc3"
length.start = 8
length.stop  = 30
length.step  = 2

Recherche des zones de surachat et de survente

Cet exemple combine un bloc [[rsi]] et deux blocs [[constant]] pour explorer différentes zones de surachat et de survente. Il permet de tester quels seuils s’adaptent le mieux au symbole, au timeframe et à la logique de la stratégie.

[[constant]]
id    = "overbought"
start = 65
stop  = 80

[[constant]]
id    = "oversold"
start = 20
stop  = 35

[[rsi]]
id     = "rsi"
length = 14

[[condition]]
id            = "rsi_buy_signal"
condition     = "rsi < oversold"
next_block_id = "..."

[[condition]]
id            = "rsi_sell_signal"
condition     = "rsi > overbought"
next_block_id = "..."

Paramètres

ParamètreDescription
id
 Texte
 Obligatoire
Nom unique de la série RSI.
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
 Optionnel
Fenêtre d’observation pour le RSI, doit être ≥ 2 lorsqu’elle est renseignée.
Si length est omis, la valeur par défaut est 14.

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).
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é.
Si symbol est omis, le bloc utilise le symbole principal 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 suivants dans vos expressions. Le bloc RSI expose une série numérique et ses paramètres (longueur, source, marché, timeframe).

Supposons le bloc configuré ainsi :

[[rsi]]
id = "rsi"

Alors :

VariableDescription
rsi ou
rsi[0]
Décimal
Valeur actuelle du RSI.
rsi[n]
Décimal
Valeur du RSI il y a n bougies.
rsi.length
Décimal
Longueur du RSI utilisée (valeur fixe ou issue d’une grille).
rsi.source
Texte
Nom de la série d’entrée (ex. close, hlc3 ou l’id d’un autre indicateur).
rsi.symbol
Texte
Symbole de marché utilisé (format d’affichage).
rsi.timeframe
Texte
Timeframe utilisé pour ce RSI.

Notes

  • Les variables numériques peuvent être combinées librement dans vos formules (arithmétique, comparaisons, opérateurs logiques).
  • Les variables textuelles sont des chaînes ; elles sont destinées aux comparaisons d’égalité/inégalité (ex. rsi_std.timeframe == "60").