Die Dual-Confirmation-Reversal-Handelsstrategie kombiniert das 123 Reversal-Muster mit dem stochastischen RSI-Indikator, um ein robustes Mittel-Reversion-System zu schaffen.
Die Strategie besteht aus zwei Bestandteilen:
Es verwendet das Muster 123 um mögliche Umkehrungen zu identifizieren.
Lang, wenn der Abschluss < vorheriger Abschluss und aktueller Abschluss > vorheriger Abschluss und 9-Tage-Slow Stochastic < 50 ist
Kurz, wenn geschlossen > vorherige Schließung und aktuelle Schließung < vorherige Schließung und 9-Tage-Fast Stochastic > 50
Dies ist ein frühes Signal für Preisumkehrungen.
Es wird der Stochastische Indikator auf den RSI zur weiteren Bestätigung angewendet:
Berechnung des RSI mit Länge 14
Berechnen Sie den Stochastischen RSI mit Längen 14, um K zu erhalten
Nehmen Sie 3 Tage SMA von K, um D zu bekommen
Wenn K über 80 ist, bedeutet es lang, wenn K unter 20 ist, bedeutet es kurz.
Ein Tausch wird nur ausgelöst, wenn beide Parteien einverstanden sind.
Der Hauptvorteil dieser Strategie ist die doppelte Bestätigung, die die Genauigkeit verbessert und die Whipsaws reduziert.
123 Umkehrung ermöglicht eine frühzeitige Erkennung einer Trendwende
Stochastischer RSI bestätigt das Umkehrsignal
Die Kombination verbessert die Gewinnrate und verringert die falschen Signale
Die Parameter können für verschiedene Märkte optimiert werden
Einfache und saubere Implementierung für den Live-Handel
Einige Risiken, die bei dieser Strategie zu berücksichtigen sind:
Das Risiko einer fehlgeschlagenen Umkehr kann zu Verlusten führen.
Parameteroptimierung ist ein Risiko, schlechte Parameter führen zu schlechter Leistung.
Übermäßiges Risiko, übermäßige Optimierung historischer Daten.
Hohe Handelsfrequenzrisiken. Mehr Signale können die Kosten erhöhen.
Fehlerrisiko bei der Codierung, Fehler in der Implementierungslogik.
Mögliche Lösungen:
Verwenden Sie eine umsichtige Positionsgröße, um Verluste zu begrenzen.
Verwenden Sie Methoden zur Optimierung der Vorwärtsbewegung.
Konzentrieren Sie sich auf die Parameterstabilität, nicht auf hohe Renditen.
Um die Handelsfrequenz zu reduzieren, müssen die Bedingungen angepasst werden.
Testen Sie die Code-Logik gründlich.
Die Strategie kann in folgenden Bereichen verbessert werden:
Ausrichtung der Parameter auf bestimmte Märkte.
Filter hinzugefügt, um zu vermeiden, dass es zu schnell geht.
Einbeziehung von Stop-Loss-Mechanismen.
Verringerung der Handelsfrequenz durch zusätzliche Filter.
Implementierung dynamischer Positionsgrößen.
Anpassung an Transaktionskosten.
Die Dual-Confirmation-Reversal-Strategie ist ein stabiles und praktisches System für die kurzfristige Mittel-Reversion. Sie balanciert die Empfindlichkeit bei Umkehrungen und die Genauigkeit der Dual-Confirmation. Mit der richtigen Optimierung und Modifikation kann sie ein quantitatives Strategieportfolio effektiv ergänzen.
/*backtest start: 2023-10-14 00:00:00 end: 2023-11-13 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 03/08/2021 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // This strategy used to calculate the Stochastic RSI // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos SRSI(lengthRSI,lengthStoch,smoothK,smoothD, TopBand,LowBand) => pos = 0.0 Source = close rsi1 = rsi(Source, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) d_cross_80 = cross(d,TopBand) pos := iff(k > TopBand, 1, iff(k < LowBand, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Stochastic RSI", shorttitle="Combo", overlay = true) line1 = input(true, "---- 123 Reversal ----") Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- line2 = input(true, "---- Stochastic RSI ----") TopBand = input(80, step=0.01) LowBand = input(20, step=0.01) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) smoothK = input(3, minval=1) smoothD = input(3, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posSRSI = SRSI(lengthRSI,lengthStoch,smoothK,smoothD, TopBand,LowBand) pos = iff(posReversal123 == 1 and posSRSI == 1 , 1, iff(posReversal123 == -1 and posSRSI == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1 ) strategy.entry("Long", strategy.long) if (possig == -1 ) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )