La stratégie s'appelle
La stratégie construit des signaux de trading en comparant un RSI de période rapide (défaut 55 jours) et un RSI de période lente (défaut 126 jours). Lorsque le RSI rapide franchit le niveau du RSI lent, un signal d'achat est généré. Lorsque le RSI rapide tombe en dessous du RSI lent, un signal de vente est déclenché. En comparant la force relative entre deux délais différents, il détecte les opportunités lorsque les tendances à court et à long terme s'inversent.
Après avoir entré une position, l'objectif de profit et le stop loss seront définis. L'objectif de profit par défaut est de 0,9 fois le prix d'entrée. Le stop loss par défaut est de 3% inférieur au prix d'entrée. Les positions seront également fermées si un signal inverse est déclenché.
La stratégie
/*backtest start: 2022-11-29 00:00:00 end: 2023-12-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="Relative Strength Index", shorttitle="RSI") slen = input(55, title="Short length") llen = input(126, title="Long length") sup = ema(max(change(close), 0), slen) sdown = ema(-min(change(close), 0), slen) rsi1 = sdown == 0 ? 100 : sup == 0 ? 0 : 100 - (100 / (1 + sup / sdown)) lup = ema(max(change(close), 0), llen) ldown = ema(-min(change(close), 0), llen) rsi2 = ldown == 0 ? 100 : lup == 0 ? 0 : 100 - (100 / (1 + lup / ldown)) ob = input(55, title="Overbought") os = input(45, title="Oversold") tp = input(.9, title="Take profit level %")*.01 sl = input(3, title="Stoploss level %")*.01 mid = avg(ob,os) plot (mid, color=#4f4f4f, transp=0) hline (ob, color=#4f4f4f) hline (os, color=#4f4f4f) long = crossover(rsi1,rsi2) short = crossunder(rsi1,rsi2) vall = valuewhen(long,close,0) lexit1 = high>=(vall*tp)+vall lexit2 = low<=vall-(vall*sl) vals = valuewhen(short,close,0) sexit1 = low<=vals - (vals*tp) sexit2 = high>=vals + (vals*sl) bgcolor (color=long?lime:na,transp=50) bgcolor (color=short?red:na, transp=50) strategy.entry("Long", strategy.long, when=long) strategy.close("Long", when=lexit1) strategy.close("Long", when=lexit2) strategy.close("Long", when=short) strategy.entry("Short", strategy.short, when=short) strategy.close("Short", when=sexit1) strategy.close("Short", when=sexit2) strategy.close("Short", when=long) plot (rsi1, color=orange, transp=0,linewidth=1, title="Short period RSI") plot (rsi2, color=aqua , transp=0,linewidth=1, title="Long period RSI")