
Le RSI est une stratégie de trading quantitative qui combine un indicateur relativement faible (le RSI) et une moyenne mobile. Elle utilise le RSI pour juger de l’excédent ou de l’excédent de la valeur d’un titre, et combine le RSI avec ses signaux de croisement et de dérivation de la moyenne pour établir une position bullish ou bearish.
Le RSI est basé sur la hausse et la baisse d’une période de temps, en comparant la hausse et la baisse de clôture moyennes, afin de déterminer si un titre est suracheté ou survendu.
Calculer la moyenne mobile du RSI en utilisant une moyenne mobile indexée (EMA) ou une moyenne mobile simple (SMA).
Lorsque l’indicateur RSI dépasse sa moyenne mobile, il génère un signal de croix dorée, faisant plus; lorsque l’indicateur RSI dépasse sa moyenne mobile, il génère un signal de fourche morte, faisant moins.
Lorsque le RSI est supérieur à la ligne de surachat, considérez que le titre est suracheté et faites un short; lorsque le RSI est inférieur à la ligne de survente, considérez que le titre est survendu et faites plus.
La combinaison de l’indicateur et du signal croisé de la moyenne évite de s’appuyer sur un seul indicateur et améliore la précision de la prise de décision.
L’indicateur RSI est utilisé pour déterminer le moment de l’achat et de la vente, pour définir la ligne d’achat et de vente, pour déterminer le moment de la prise de position et de l’arrêt des pertes.
L’utilisation de l’indicateur croisé avec la moyenne pour faire plus de courtage permet de saisir les points de retournement du marché en temps opportun.
L’indicateur RSI est sujet à des signaux erronés en cas de choc.
Le RSI peut être surchargé ou survendu en fonction d’un ajustement, mais un mauvais réglage peut conduire à un relâchement ou à une rigidité excessifs.
Les systèmes de ligne moyenne sont trop sensibles aux fluctuations anormales à court terme et peuvent être bloqués.
Ajustez le paramètre RSI pour trouver le paramètre de longueur optimal.
Optimiser les paramètres des moyennes mobiles pour trouver les meilleures périodes moyennes.
Test de différents paramètres de la chaîne de surachat et de survente pour optimiser les opportunités de création de positions.
Le filtrage des signaux, combiné à d’autres indicateurs, permet d’éviter les transactions erronées.
L’indicateur RSI est associé à une stratégie de croisement de la moyenne, qui utilise le RSI pour juger les surachats et les survente combinés avec le signal de croisement de la moyenne mobile, permettant de déterminer efficacement les zones de points chauds du marché et de capturer les opportunités de revers à des points clés. Grâce à l’optimisation des paramètres et au filtrage des signaux, la performance de la stratégie peut être améliorée et le risque de négociation réduit.
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//dfurrer45
strategy(title="Relative Strength Index", shorttitle="RSI", overlay=true)
src = close, len = input(13, minval=1, title="Length"), maLen = input(9, minval=1, title="MA Lenght"), exponential = input(false, title="Exponential")
// === BACKTEST RANGE ===
FromMonth = input(defval = 10, title = "From Month", minval = 1)
FromDay = input(defval = 3, title = "From Day", minval = 1)
FromYear = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth = input(defval = 1, title = "To Month", minval = 1)
ToDay = input(defval = 1, title = "To Day", minval = 1)
ToYear = input(defval = 9999, title = "To Year", minval = 2014)
// === BACKTEST END ===
backtestdaterange = (time > timestamp(FromYear, FromMonth, FromDay, 00, 00))
rsioverbought = input(90, minval=1, title="RSI % start overbought")
rsioversold = input(10, minval=1, title="RSI % start oversold")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ma = exponential ? ema(rsi, maLen) : sma(rsi, maLen)
rsimacrossup = cross(rsi,ma) and rsi > ma
rsimacrossdown = cross(rsi,ma) and rsi < ma
plotchar(rsimacrossup, char='⇧', location = location.belowbar, color = green, text = "", textcolor = green, size=size.small)
plotchar(rsimacrossdown, char='⇩', location = location.abovebar, color = red, text = "", textcolor = red, size=size.small)
plotchar(rsi > rsioverbought, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)
plotchar(rsi < rsioversold, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)
closetrade = rsimacrossup or rsimacrossdown
strategy.close_all(closetrade)
strategy.close_all((rsi > rsioverbought) or (rsi < rsioversold))
strategy.entry("Short Overbought",strategy.short, when=(rsi > rsioverbought) and backtestdaterange)
strategy.entry("Buy Overbought",strategy.long, when=(rsi < rsioversold) and backtestdaterange)
strategy.entry("Long Cross", strategy.long, when=rsimacrossup and backtestdaterange)
strategy.entry("Short Cross", strategy.short, when=rsimacrossdown and backtestdaterange)