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 = 21Recherche 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 = 2Recherche 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ètre | Description |
|---|---|
idTexte Obligatoire | Nom unique de la série RSI. |
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 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) |
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é.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. |
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 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 :
| Variable | Description |
|---|---|
rsi oursi[0]Décimal | Valeur actuelle du RSI. |
rsi[n]Décimal | Valeur du RSI il y a n bougies. |
rsi.lengthDécimal | Longueur du RSI utilisée (valeur fixe ou issue d’une grille). |
rsi.sourceTexte | Nom de la série d’entrée (ex. close, hlc3 ou l’id d’un autre indicateur). |
rsi.symbolTexte | Symbole de marché utilisé (format d’affichage). |
rsi.timeframeTexte | 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").