Dieser Artikel erklärt detailliert eine quantitative Handelsstrategie, die mehrjährige RSI-Indikatoren verwendet, um Umkehrpunkte zu identifizieren.
I. Strategische Logik
Die Strategie verwendet 3 Gruppen von RSI-Indikatoren mit unterschiedlichen Parametern:
Berechnen Sie die RSI-Werte für die Periode 2, 7 bzw. 14.
Wenn der RSI-2 unter 10, der RSI-7 unter 20 und der RSI-14 unter 30 liegt, wird ein Boden ermittelt.
Wenn der RSI-2 über 90, der RSI-7 über 80 und der RSI-14 über 70 liegt, wird ein Top ermittelt.
Erstellen Sie Kauf-/Verkaufssignale auf der Grundlage der Einstimmigkeit des RSI.
Voreinstellungen von Einstellparametern für den Konsens der Indikatoren, Steuerung der Signalfrequenz.
Durch die gemeinsame Analyse der RSI-Indikatoren über die Perioden hinweg kann die Genauigkeit des Umkehrpunkts verbessert werden.
II. Vorteile der Strategie
Der größte Vorteil besteht darin, dass die Verwendung einer mehrfachen Zeitrahmen-RSI-Analyse die Identifizierung von Schlüsselpunkten verbessert und falsche Signale herausfiltert.
Ein weiterer Vorteil ist die Flexibilität bei der Anpassung von Konsensparametern und der Anpassung an unterschiedliche Marktumgebungen.
Schließlich bieten die RSI-Kombinationen auch mehr Einstellmöglichkeiten.
III. Potenzielle Risiken
Es bestehen jedoch folgende Risiken:
Erstens hat der RSI selbst eine inhärente Verzögerung bei der Identifizierung von Umkehrungen.
Zweitens führen mehrere Indikatoren zu einer Signalzweideutigkeit, die klare Regeln erfordert.
Abschließend ist zu erwähnen, daß bei Umkehrgeschäften die Ausfallrate sehr hoch ist, was eine psychologische Vorbereitung erfordert.
IV. Zusammenfassung
Zusammenfassend wurde in diesem Artikel eine quantitative Strategie zur Identifizierung von Umkehrungen auf der Grundlage der mehrjährigen RSI-Analyse erläutert. Sie verbessert die Erkennung von Marktturnpunkten, indem die RSI-Einmütigkeit beurteilt wird. Aber Risiken wie Verzögerungen und falsche Signale müssen verwaltet werden. Insgesamt bietet sie einen flexiblen Ansatz zur Optimierung der RSI-Strategie.
/*backtest start: 2023-09-06 00:00:00 end: 2023-09-13 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Triple RSI Top/Bottom v1.1", shorttitle = "3RSI Top/Bottom 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") leverage = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage") indi = input(3, defval = 3, minval = 1, maxval = 3, title = "Indicators") accuracy = input(3, defval = 3, minval = 1, maxval = 10, title = "accuracy") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //RSI-2 fastup = rma(max(change(close), 0), 2) fastdown = rma(-min(change(close), 0), 2) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //RSI-7 middleup = rma(max(change(close), 0), 7) middledown = rma(-min(change(close), 0), 7) middlersi = middledown == 0 ? 100 : middleup == 0 ? 0 : 100 - (100 / (1 + middleup / middledown)) //RSI-14 slowup = rma(max(change(close), 0), 14) slowdown = rma(-min(change(close), 0), 14) slowrsi = slowdown == 0 ? 100 : slowup == 0 ? 0 : 100 - (100 / (1 + slowup / slowdown)) //Body body = abs(close - open) abody = sma(body, 10) //Signals acc = 10 - accuracy signalup1 = fastrsi < (5 + acc) ? 1 : 0 signalup2 = middlersi < (10 + acc * 2) ? 1 : 0 signalup3 = slowrsi < (15 + acc * 3) ? 1 : 0 signaldn1 = fastrsi > (95 - acc) ? 1 : 0 signaldn2 = middlersi > (90 - acc * 2) ? 1 : 0 signaldn3 = slowrsi > (85 - acc * 3) ? 1 : 0 up = signalup1 + signalup2 + signalup3 >= indi dn = signaldn1 + signaldn2 + signaldn3 >= indi exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 3 //Trading lot = strategy.position_size == 0 ? strategy.equity / close * leverage : lot[1] if up if strategy.position_size < 0 strategy.close_all() strategy.entry("Bottom", strategy.long, needlong == false ? 0 : lot) if dn if strategy.position_size > 0 strategy.close_all() strategy.entry("Top", strategy.short, needshort == false ? 0 : lot) if time > timestamp(toyear, tomonth, today, 23, 59) or exit strategy.close_all()