
Die Double-Opportunity-Retrograd-Qualitätsstrategie ist eine Kombinationsstrategie, die die Strategieideen 123 Reversal und Stochastic RSI kombiniert. Die Strategie beurteilt zunächst, ob der Preis eine 123 Reversal-Form aufweist, und bestätigt dann das Reversal-Signal erneut in Verbindung mit dem Stochastic RSI-Indikator.
Die Strategie besteht aus zwei Teilen:
Dieser Abschnitt verwendet die 123-Form, um eine Preisumkehr zu bestimmen. Die spezifische Logik ist:
Wenn der Schlusskurs niedriger als der Schlusskurs von gestern ist und der aktuelle Schlusskurs höher als der Schlusskurs von gestern ist und der Slow Stochastic am 9. unter 50 liegt, machen Sie mehr
Wenn der Schlusskurs höher als der Schlusskurs von gestern ist und der aktuelle Schlusskurs niedriger als der Schlusskurs von gestern ist und der Fast Stochastic am 9. über 50 liegt, wird ein Defizit gemacht
Das bedeutet, dass man frühe Signale für eine Preisumkehr entdecken kann.
Dieser Abschnitt analysiert den RSI erneut mit dem Stochastic-Indikator und beurteilt die Rückkehrbestätigung:
Berechnen Sie den RSI mit einer Länge von 14.
Stochastische Analyse auf RSI, Länge 14, K-Werte erhalten
Berechnen Sie den 3-Tage-SMA-D-Wert für K-Werte
Wenn der Wert von K über 80 ist, ist es mehr, wenn der Wert von K unter 20 ist, ist es null.
Die Positionen werden nur eröffnet, wenn beide Strategien gleichzeitig ausgehen.
Der größte Vorteil dieser Strategie besteht darin, dass eine doppelte Bestätigung eingesetzt wird, um falsche Signale effektiv zu filtern und die Stabilität zu verbessern. Die konkreten Vorteile sind:
123 Umkehrung kann eine Preisumkehrung früher erkennen
Stochastic RSI bietet Rückwärtsbestätigung und verhindert, dass ein Wendepunkt verpasst wird
Die Kombination der beiden kann die Wahrscheinlichkeit von Siegen erhöhen und die Wahrscheinlichkeit von Falschmeldungen verringern.
Optimierung mit Parameterkombinationen, die für verschiedene Märkte angepasst werden können
Programmierung ist einfach, klar und einfach auf der Festplatte anzuwenden
Die Strategie birgt auch einige Risiken, die beachtet werden müssen:
Risiko eines Rückschlages. Der Markt kann sich falsch drehen und zu Verlusten führen.
Risiken bei der Optimierung von Parametern. Unpassende Kombinationen von Parametern können zu einer schlechten Strategie führen.
Überoptimierungsrisiken. Überoptimierte Parameter für die historischen Daten, die zukünftige Effekte nicht reproduzieren können.
Risiken einer zu hohen Handelsfrequenz. Doppelte Signale können die Handelsfrequenz erhöhen, was zu höheren Slip-Point-Kosten führt.
Code-Implementierungsrisiken. Fehler im Code können zu einer Ausnahme der Festplatte führen.
Entsprechende Lösungen:
Die Größe der Positionen sollte entsprechend angepasst werden, um Einzelschäden zu kontrollieren.
Parameteroptimierung mit der Walk-Forward-Methode.
Es ist wichtig, die Parameter zu stabilisieren, ohne zu hohe Gewinne zu erzielen.
Um die Häufigkeit der Transaktionen zu verringern, sollten die Bedingungen für die Eröffnung von Positionen angepasst werden.
Der Code wird sorgfältig getestet, um sicherzustellen, dass die Logik korrekt ist.
Diese Strategie kann optimiert werden durch:
Optimierungsparameter. Parameter wie Stochastic können angepasst werden, um für bestimmte Märkte zu optimieren.
Optimieren Sie die Bedingungen für die Eröffnung der Position. Sie können andere Faktoren hinzufügen, um eine impulsive Umkehr zu vermeiden.
Optimierung der Stop-Loss-Mechanismen. Sie können beispielsweise die Optimierung der Bewegungs- oder Zeitstop-Systeme einrichten.
Verringerung der Transaktionsfrequenz.
Erhöhung der Positionsverwaltung. Anpassung der Positionsgröße an die Marktlage.
Berücksichtigung der Gebührenfaktoren. Anpassung der Strategieparameter an die tatsächlichen Gebühren.
Die Doppelchance-Umkehr-Qualitätsstrategie ist insgesamt eine stabile und praktische Kurzstrecken-Umkehrstrategie. Sie bietet sowohl die Sensitivität der Umkehrung als auch die Stabilität der Doppelfilterung. Durch die Optimierung der Parameter und die entsprechende Modifikation kann die Strategie zu einem effektiven Bestandteil der Quantifizierungsstrategie werden.
/*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 )