La stratégie d'inversion de l'indicateur RSI calcule l'indicateur RSI et la moyenne mobile lissée pour déterminer si un stock est suracheté ou survendu, générant ainsi des signaux d'achat et de vente.
La stratégie calcule d'abord le RSI de 14 périodes et le normalise à 0-100. Ensuite, elle calcule la moyenne mobile pondérée de 5 périodes du RSI et la cartographie à -1 à 1 en utilisant la fonction tangente. Lorsque le RSI cartographié dépasse -0,8, un signal d'achat est généré. Lorsqu'il dépasse 1, un signal de vente est généré. Les méthodes de cartographie et de jugement de seuil sont utilisées ici pour détecter les signaux d'inversion de l'indicateur RSI.
La stratégie définit également l'intervalle de mois et de dates d'exécution afin qu'elle ne s'exécute que pendant les mois et les dates spécifiés.
La stratégie d'inversion du RSI capture efficacement les opportunités d'inversion des prix en construisant des règles de trading d'inversion simples basées sur l'indicateur RSI.
/*backtest start: 2023-01-12 00:00:00 end: 2024-01-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="RSI Reverse", shorttitle="RSI Reverse") RSI_main = input(14, title="RSI Main Period") RSI_smooth = input(5, title="RSI Smooth Period") //Functions RVS(input) => (exp(2*input)-1) / (exp(2*input)+1) //RSI Calculation raw_RSI=0.1*(rsi(close,RSI_main)-50) wma_RSI=wma(raw_RSI,RSI_smooth) RVS_RSI = RVS(wma_RSI) threshold1 = RVS_RSI < 0.8? 1 : 0 threshold2 = -0.8 plot(RVS_RSI,color=red) plot(threshold1,color=blue) plot(threshold2,color=blue) buycon = crossover(RVS_RSI,threshold2) sellcon = crossunder(RVS_RSI , threshold1) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( buycon ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( sellcon) strategy.close("BUY")