La stratégie de rupture de la fourchette RSI est une stratégie typique de suivi de tendance.
La stratégie repose principalement sur l'indicateur RSI pour déterminer les niveaux de surachat et de survente sur le marché. La formule de calcul du RSI est la suivante: RSI = (Valeur moyenne de hausse / (Valeur moyenne de hausse + Valeur moyenne de baisse)) x 100. La valeur moyenne de hausse est la moyenne mobile simple des amplitudes de rapprochement au cours des N derniers jours.
Lorsque le RSI est supérieur à la ligne de surachat (défaut 80), il indique que le marché est dans un état de surachat. Lorsque le RSI est inférieur à la zone de survente (défaut 35), il indique que le marché est dans un état de survente. La stratégie recherche des opportunités courtes lorsque le RSI brise la ligne de surachat et des opportunités longues lorsque le RSI brise la zone de survente.
Plus précisément, la stratégie utilise deux lignes SMA pour déterminer la tendance de l'indicateur RSI. Lorsque la ligne SMA plus rapide brise la ligne SMA plus lente, tandis que le RSI traverse la zone de survente, allez long. Lorsque la ligne SMA plus rapide brise la ligne SMA plus lente, tandis que le RSI brise la ligne de surachat, allez court. La stratégie définit également des lignes stop loss et take profit pour contrôler les risques.
La stratégie de rupture de gamme du RSI est une stratégie de suivi de tendance typique dans l'ensemble. Elle détermine les signaux de trading par l'intermédiaire de l'indicateur RSI, filtre les signaux avec des lignes de SMA doubles et définit un stop loss et un take profit pour contrôler les risques.
/*backtest start: 2023-09-10 00:00:00 end: 2023-10-10 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //strategy("Strategy RSI | Fadior", shorttitle="Strategy RSI", pyramiding=10, calc_on_order_fills=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100, overlay=false) len = input(3, minval=1, title="RSI Length") threshLow = input(title="Treshold Low", defval=35) threshHigh = input(title="Treshold High", defval=80) rsiLength1 = input(title="RSI Smoothing 1", defval=3) rsiLength2 = input(title="RSI Smoothing 2", defval=5) SL = input(title="Stop loss %", type=float, defval=.026, step=.001) TP = input( defval=300) // 3 40 70 2 // 14 40 70 2 16 0.05 50 src = close 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)) plot(sma(rsi,rsiLength2), color=orange) plot(sma(rsi,rsiLength1), color=green) band1 = hline(threshHigh) band0 = hline(threshLow) fill(band1, band0, color=purple, transp=90) strategy = input(type=bool, title="Long only ?", defval=true) strategy.risk.allow_entry_in(strategy ? strategy.direction.long : strategy.direction.all) longCondition = sma(rsi,rsiLength1) < threshLow and sma(rsi,rsiLength2) > sma(rsi,rsiLength2)[1] if (longCondition) strategy.entry("Long", strategy.long) //, qty=10) strategy.exit("Close Long", "Long", stop=src-close*SL, profit=TP) shortCondition = sma(rsi,rsiLength1) > threshHigh and sma(rsi,rsiLength2) < sma(rsi,rsiLength2)[1] if (shortCondition) strategy.entry("Short", strategy.short) //, qty=10) strategy.exit("Close Short", "Short") //, stop=src-close*SL, profit=TP)