RSI und quantitative Handelsstrategie auf Basis gleitender Durchschnitte

Schriftsteller:ChaoZhang, Datum: 2023-12-01 14:21:18
Tags:

img

Übersicht

Diese Strategie wird Dual Moving Average Strategy genannt. Die Kernidee besteht darin, Handelssignale zu generieren, indem gleichzeitig der Relative Strength Index (RSI) und der Moving Average (MA) Indikatoren verwendet werden. Insbesondere wird ein Kaufsignal generiert, wenn die RSI-Linie die MA-Linie von oben nach unten überquert; ein Verkaufssignal wird generiert, wenn die RSI-Linie die MA-Linie von unten nach oben überquert. Diese Strategie ist relativ einfach, aber durch die Kombination von zwei verschiedenen Indikatoren kann sie falsche Signale effektiv reduzieren und die Signalzuverlässigkeit verbessern.

Grundsätze

Die Grundlogik der doppelten gleitenden Durchschnittsstrategie lautet:

  1. Berechnen Sie den RSI-Wert, um die Überkauf- und Überverkaufssituation der Aktie zu berücksichtigen
  2. Berechnung des MA-Werts zur Beurteilung der durchschnittlichen Preisentwicklung
  3. Wenn der RSI vom Höchststand abfällt und aus dem überkauften Bereich in den Überverkaufszone eintritt und unterhalb des MA kreuzt, wird ein Kaufsignal generiert
  4. Wenn der RSI vom Tiefpunkt aufsteigt, aus dem Überverkaufszone in das Überkauft-Bereich eintritt und über den MA überschreitet, wird ein Verkaufssignal erzeugt.

Wenn die oben genannten Handelssignale auftreten, werden wir für ein einfaches visuelles Urteilsvermögen relevante Markierungen auf dem Diagramm ziehen.

Vorteile

Der größte Vorteil der Dual Moving Average-Strategie besteht darin, dass sie Trendanzeigen und Überkauf-/Überverkaufsanzeigen effektiv kombinieren kann, um Handelssignale zuverlässiger zu machen.

  1. Die Kombination von RSI und MA kann Signale miteinander verifizieren und falsche Signale, die von einem einzigen Indikator erzeugt werden, vermeiden.

  2. Im Vergleich zu einer einzigen RSI- oder MA-Strategie kann die doppelte gleitende Durchschnittsstrategie mehr profitable Möglichkeiten erzielen.

  3. Diese Strategie verwendet nur zwei Parameter, einfach zu bedienen, kostengünstig und an unterschiedliche Marktumgebungen angepasst.

  4. Durch Anpassung der Zyklusparameter von RSI und MA ist es bequem, zu optimieren und an mehr Sorten anzupassen.

Risiken

Trotz der vielen Vorteile der Strategie des doppelten gleitenden Durchschnitts können Risiken bei der tatsächlichen Anwendung nicht vollständig vermieden werden.

  1. Die MA verwendet historische Durchschnittspreise und kann den jüngsten Preisänderungen nachlassen.

  2. RSI kann falsche Ausbrüche erleben, was zu falschen Signalen führt.

  3. Nicht in der Lage, sich an sich schnell verändernde Trends anpassen zu können, anfällig für Stop-Loss.

  4. Auch falsche Parameter-Einstellungen können die Strategieleistung erheblich beeinträchtigen.

Als Antwort darauf führen wir vor allem Risikokontrollen aus folgenden Aspekten durch:

  1. Anpassungsfähige MA zur Anpassung der Zyklusparameter anhand der letzten Preisänderungen.

  2. Erhöhen Sie den Stop-Loss-Mechanismus, um Einzelverluste zu kontrollieren.

  3. Optimierung der Parameter zur Auswahl der besten Parameterkombination für die Prüfung.

  4. Ein Schritt zum Stop-Loss, um teilweise Gewinne zu erzielen und Risiken zu reduzieren.

Optimierungsrichtlinien

Bei möglichen Problemen mit der Strategie des doppelten gleitenden Durchschnitts werden Optimierungen aus folgenden Dimensionen betrachtet:

  1. Verwenden Sie eine adaptive MA anstelle einer gewöhnlichen MA, um die Preisentwicklungsschwankungen schneller zu erfassen.

  2. Vergrößern Sie die Verifizierung des Volumenindikators, um falsche Ausbrüche zu vermeiden. Zum Beispiel kaufen Sie nur, wenn der Schlusskurs und das Handelsvolumen zusammen steigen.

  3. Kombination mit anderen Indikatoren zur Filterung ungültiger Signale, z. B. Überprüfung von MACD- oder KD-Indikatoren.

  4. Optimieren Sie den Parameter-Einstellungsbereich, um die optimale Parameterkombination zu finden.

  5. Verwenden Sie maschinelle Lerntechniken für die adaptive Parameteroptimierung.

Durch die oben genannten Optimierungen wird erwartet, dass die Live-Leistung der Strategie des doppelten gleitenden Durchschnitts erheblich verbessert wird.

Zusammenfassung

Die doppelte gleitende Durchschnittsstrategie integriert die Vorteile von RSI- und MA-Indikatoren. Durch die Zusammenarbeit der beiden können genauere und zuverlässigere Handelssignale generiert werden. Im Vergleich zu einzelnen technischen Indikatorstrategien haben doppelte gleitende Durchschnittsstrategien eine höhere Signalgenauigkeit, weniger falsche Signale, einfache Optimierung und andere Vorteile. Aber das Risiko von Fehloperationen kann nicht vollständig vermieden werden. Wir haben auch einige spezifische Risikokontrollmaßnahmen vorgeschlagen. Darüber hinaus gibt es Dimensionen, die für diese Strategie weiter optimiert werden können. Durch die Kombination von adaptiven Indikatoren, anderen Hilfsverifikationsindikatoren, Parameteroptimierung und anderen Mitteln wird erwartet, dass die Rendite der Strategie weiter verbessert wird. Im Allgemeinen bietet diese Strategie eine einfache und praktische technische Analyse-Lösung für den quantitativen Handel.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="RSI + MA", shorttitle="RSI + MA")
reverseTrade = input(false, title = "Use Reverse Trade?")
lengthRSI = input(14, minval=1, title="RSI Length")
sourceRSI = input(close, "RSI Source", type = input.source)

showMA = input(true, title="Show MA")
lengthMA = input(9, minval=1, title="MA Length")
offsetMA = input(title="MA Offset", type=input.integer, defval=0, minval=-500, maxval=500)

up = rma(max(change(sourceRSI), 0), lengthRSI)
down = rma(-min(change(sourceRSI), 0), lengthRSI)

rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ma = sma(rsi, lengthMA)

plot(showMA ? ma : na, "MA", color=color.blue, linewidth=2, style=0, offset=offsetMA)
plot(rsi, "RSI", color=#9915FF, linewidth=1, style=0)

band1 = hline(70, "Upper Band", color=#C0C0C0, linestyle=2, linewidth=1)
band0 = hline(30, "Lower Band", color=#C0C0C0, linestyle=2, linewidth=1)
fill(band1, band0, color=color.new(#9915FF,95), title="Background")

buy = reverseTrade ? rsi[1] < ma[1] and rsi > ma : rsi[1] > ma[1] and rsi < ma
sell = reverseTrade ? rsi[1] > ma[1] and rsi < ma : rsi[1] < ma[1] and rsi > ma

strategy.entry("Buy", true, when = buy)
strategy.entry("Sell", false, when = sell)

Mehr