
Die RSI-Umkehrstrategie erzeugt ein Kauf- und Verkaufssignal, indem sie den RSI-Indikator und den gleitenden gleitenden Durchschnitt berechnet, um zu bestimmen, ob eine Aktie überkauft oder überverkauft ist. Die Strategie nutzt die Umkehrcharakteristik des RSI-Indikators, um bei einer Umkehr des Aktienpreises zu profitieren.
Die Strategie berechnet zunächst den RSI-Wert für 14 Zyklen und führt eine 0-100-Formalisierung durch. Dann berechnet man den gewichteten Moving Average des 5-Zyklen-RSI und zeichnet ihn dann mit einer Reverse-Cut-Funktion zwischen -1 und 1 ab. Der nachgebildete RSI erzeugt ein Kaufsignal, wenn er -0.8 durchschreitet, und ein Verkaufsignal, wenn er 1 durchschreitet.
Die Strategie definiert auch einen Monats- und Datumsbereich, so dass sie nur in den angegebenen Monaten und Daten ausgeführt werden kann.
Die RSI-Umkehrstrategie erfasst einfach und effektiv die Gelegenheit, einen Preisumkehr zu erzeugen, indem sie die Umkehrhandelsregeln des RSI-Indikators erstellt. Die Strategie ist einfach umzusetzen, kann jedoch durch Parameteroptimierung, Erweiterung der Risikokontrollmechanismen usw. optimiert werden, um eine quantitative Handelsstrategie zu werden, die stabil und profitabel ist.
/*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")