Die RSI-Umkehrstrategie berechnet den RSI-Indikator und einen glätteten gleitenden Durchschnitt, um festzustellen, ob eine Aktie überkauft oder überverkauft ist, wodurch Kauf- und Verkaufssignale generiert werden.
Die Strategie berechnet zunächst den 14-Perioden-RSI und normalisiert ihn auf 0-100. Dann berechnet sie den 5-Perioden-gewichteten gleitenden Durchschnitt des RSI und kartiert ihn mit der Tangenzfunktion auf -1 zu 1. Wenn der abgebildeten RSI über -0,8 geht, wird ein Kaufsignal generiert. Wenn er unter 1 geht, wird ein Verkaufssignal generiert. Die Mapping- und Schwellenwertbeurteilungsmethoden werden hier verwendet, um die Umkehrsignale des RSI-Indikators zu erkennen.
Die Strategie legt auch den Laufmonat und den Laufdatumsbereich fest, so dass er nur in bestimmten Monaten und Daten läuft.
Die RSI-Umkehrstrategie erfasst effektiv Preisumkehrchancen, indem sie einfache Umkehrhandelsregeln auf der Grundlage des RSI-Indikators konstruiert.
/*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")