
Die Binary-Strategie ist eine Trend-Tracking-Strategie, die zwei verschiedene Handelsstrategien kombiniert. Die Strategie verwendet zunächst 123 Umkehrstrategien, um den Kursumkehrpunkt zu ermitteln, dann in Kombination mit dem De-Trend-Index, um die Kursrichtung zu ermitteln, und schließlich erzeugt die Kombination der beiden Signale eine Handelsinstruktion.
Die Strategie wird hauptsächlich für die Verfolgung von mittelfristigen Trends verwendet, um dynamische Stop-Loss-Punkte durch einen doppelten Mechanismus zu setzen, der es ermöglicht, Gewinne effektiv zu sperren und Verluste zu vermeiden. Gleichzeitig kann die Doppelbestätigung in Kombination mit Trend- und Umkehrindikatoren den Noise-Handel reduzieren.
Die 123 Umkehrstrategie stammt aus Ulf Jensens Buch “Wie ich mein Geld auf dem Futures-Markt verdreifache”, Seite 183. Die Strategie beurteilt, ob zwei aufeinanderfolgende BAR-Umkehrformen ein Preisumkehrsignal darstellen.
Die spezifische Logik ist, dass ein Kaufsignal erzeugt wird, wenn der Schlusskurs niedriger als der Schlusskurs des Vortages ist und die langsame K-Linie unter 50 liegt; ein Verkaufsignal erzeugt wird, wenn der Schlusskurs höher als der Schlusskurs des Vortages ist und die schnelle K-Linie über 50 liegt.
Der D_DSP wird berechnet, indem der 1⁄4-Zyklus-Indikator des Preis-Moving-Averages abgezogen wird.
Wenn D_DSP positiv ist, ist der Preis im Aufwärtstrend; wenn D_DSP negativ ist, ist der Preis im Abwärtstrend.
Die Strategie erzeugt Trades-Anweisungen, wenn die beiden Signale symmetrisch sind (wie Double Plus oder Double Zero) durch die Kombination von 123 Reversal Strategien und D_DSP Index. Wenn die Signale nicht übereinstimmen, wird die Position geklärt.
Diese doppelte Bestätigungsmechanismen können Noise Trades effektiv filtern und Trends profitabel sperren.
Der größte Vorteil der Binärmechanik besteht darin, dass ein Stop-Loss auf zwei Ebenen eingerichtet wird. Zunächst auf der Zeitdimension, wo die Differenz zwischen den schnellen und zufälligen Indikatoren einen Stop-Loss in einer Zeitverschiebung erzeugt. Zweitens auf der Preisdimension, wo die Umkehrung selbst eine bestimmte Stop-Loss-Funktion enthält.
Die doppelte Bestätigung ermöglicht eine maximale Gewinnausgrenzung und verhindert, dass eine einzelne Stop-Strategie zu einem Stillstand führt. Darüber hinaus filtert die doppelte Bestätigung die falschen Signale, die von außerhalb der Mainstream-Richtung ausgehen.
Die größte Gefahr dieser Strategie besteht darin, dass die Parameter zu steif gesetzt werden. Zum Beispiel kann eine unsachgemäße Einstellung der Zeitspanne den Mainstream-Trend verpassen, wodurch Gewinnchancen verpasst oder Verluste erhöht werden. Eine zu steile Einstellung der Doppelbestätigung kann auch rechtzeitige Stop-Losses verpassen.
Darüber hinaus kann die Operation der Liquidation, wenn die Reversal-Strategie mit der Trend-Strategie kombiniert wird, bei der die beiden Entscheidungen nicht übereinstimmen, die Möglichkeit verpassen, dass die nachfolgende Tendenz in eine Mainstream-Richtung weiterläuft.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Optimierung der Periodiparameter. Berechnen Sie die Optimierung der Parameter durch mehr Rückmessdaten und setzen Sie die geeigneteren Periodiparameter ein.
Steigerung der Stop-Strategie, z. B. durchbrechen Sie die Stop-Strategie, verfolgen Sie die Stop-Strategie, setzen Sie dynamischere und vernünftigere Stop-Stops ein.
Optimierung der Beurteilungsregeln. Anpassung der Empfindlichkeit der doppelten Bestätigungsurteile, um zu verhindern, dass eine zu radikale Lagerung die Chance verpasst.
Filter hinzugefügt. Preisschwankungsfilter eingestellt, um ein falsches Urteilssignal von Schwankungen der mittleren Endzeitdifferenz zu vermeiden.
Die Doppel-Mechanismus-Dynamik-Trend-Tracking-Strategie ermöglicht eine effektive Trend-Tracking- und Risikokontrolle durch die doppelte Bestätigung von doppelten Stopps und Umkehrungen mit dem Trend-Urteil. Die Strategie berücksichtigt sowohl die Zeitfaktoren der Preisentwicklung als auch die Richtung der Preise selbst und bildet eine dreigliedrige Entscheidungsgrundlage.
Es wird erwartet, dass die Strategie durch die ständige Optimierung der Beurteilungsregeln und der Parameter-Einstellungen bessere Ergebnisse erzielt. Die Optimierung der Handelsstrategie erfordert jedoch eine große Anzahl von historischen Datenuntersuchungen, und die Aktienoptions- und Stop-Loss-Strategien müssen ständig verbessert werden.
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/11/2019
// 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
// Detrended Synthetic Price is a function that is in phase with the
// dominant cycle of real price data. This DSP is computed by subtracting
// a half-cycle exponential moving average (EMA) from the quarter cycle
// exponential moving average.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70.
//
// 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
D_DSP(Length) =>
pos = 0.0
xHL2 = hl2
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
pos := iff(xEMA1_EMA2 > 0, 1,
iff(xEMA1_EMA2 < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & D_DSP (Detrended Synthetic Price)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDSP = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_DSP = D_DSP(LengthDSP)
pos = iff(posReversal123 == 1 and posD_DSP == 1 , 1,
iff(posReversal123 == -1 and posD_DSP == -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 )