Die Durchbruch-Callback-Handelsstrategie realisiert den Durchbruch-Callback-Handel unter spezifischen Trends durch Berechnung des absoluten Stärkenindex und des MACD-Index der Preise. Sie gehört zu kurzfristigen Handelsstrategien. Diese Strategie integriert mehrere Indikatoren, um wichtige Trends, mittelfristige Trends und kurzfristige Trends zu beurteilen. Sie führt Trendverfolgungstransaktionen durch trendgerechte und Indikator-Komplementär-Bestätigungssignale durch.
Diese Strategie stützt sich hauptsächlich auf den absoluten Stärkenindex und den MACD-Index der Preise, um den Durchbruch-Callback-Handel umzusetzen. Erstens berechnet sie die 9-Perioden-, 21-Perioden- und 50-Perioden-EMA der Preise, um die Haupttrendrichtung zu beurteilen; dann berechnet sie den absoluten Stärkenindex der Preise, um die Stärke von kurzfristigen Anpassungen widerzuspiegeln; schließlich berechnet sie den MACD-Index, um die kurzfristige Trendrichtung zu beurteilen. Sie kauft, wenn der Haupttrend nach oben ist und es eine kurzfristige Anpassung gibt; sie verkauft, wenn der Haupttrend nach unten ist und es einen kurzfristigen Rebound gibt.
Der wesentliche Aufwärtstrend der Variante erfordert, dass die 9-Tage-EMA höher als die 21-Tage-EMA und die 21-Tage-EMA höher als die 50-Tage-EMA ist. Die Kriterien für die Beurteilung von kurzfristigen Anpassungen sind, dass die Differenz des absoluten Stärkenindex kleiner als 0 und MACDDIFF kleiner als 0 ist. Der wesentliche Abwärtstrend der Variante erfordert, dass die 9-Tage-EMA niedriger als die 21-Tage-EMA und die 21-Tage-EMA niedriger als die 50-Tage-EMA ist. Die Kriterien für die Beurteilung von kurzfristigen Rebounds sind, dass die Differenz des absoluten Stärkenindex größer als 0 und MACDDIFF größer als 0 ist.
Die Strategie weist folgende Vorteile auf:
Die Strategie birgt auch einige Risiken:
Als Reaktion auf die oben genannten Risiken können Methoden wie die Optimierung von Parametern, die Beurteilung von Indikatoren verschiedener Zyklen, die Anpassung von Positionsregeln zur Kontrolle einzelner Verluste, die Kombination mehrerer Indikatoren zur Filterung von Signalen und die Verbesserung der Genauigkeit zur Verbesserung der Strategie verwendet werden.
Die Strategie kann in folgenden Aspekten optimiert werden:
Zusammenfassend ist die Durchbruch-Callback-Handelsstrategie im Allgemeinen eine relativ stabile kurzfristige Handelsstrategie. Sie kombiniert mehrere Zeitrahmen-Trendurteile, um fehlerhafte Transaktionen in oszillierenden Märkten zu vermeiden. Gleichzeitig verbessert die kombinierte Verwendung von Indikatoren auch die Genauigkeit der Urteile. Durch anschließende Tests und Optimierungen kann diese Strategie zu einer stabilen Strategie werden, die es wert ist, langfristig gehalten zu werden.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Divergence Scalper [30MIN]", overlay=true , commission_value=0.04 ) message_long_entry = input("long entry message") message_long_exit = input("long exit message") message_short_entry = input("short entry message") message_short_exit = input("short exit message") //3x ema out9 = ta.ema(close,9) out21 = ta.ema(close,21) out50 = ta.ema(close,50) //abs absolute_str_formula( ) => top=0.0 bottom=0.0 if(close>close[1]) top:= nz(top[1])+(close/close[1]) else top:=nz(top[1]) if(close<=close[1]) bottom:= nz(bottom[1])+(close[1]/close) else bottom:=nz(bottom[1]) if (top+bottom/2>=0) 1-1/(1+(top/2)/(bottom/2)) abs_partial=absolute_str_formula() abs_final = abs_partial - ta.sma(abs_partial,50) //macd fast_length = input(title="Fast Length", defval=23) slow_length = input(title="Slow Length", defval=11) src = input(title="Source", defval=open) signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 6) sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) sma_signal = input.string(title="Signal Line MA Type", defval="SMA", options=["SMA", "EMA"]) // Calculating fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) hist = macd - signal long= abs_final > 0 and hist <0 and out9<out21 and out21<out50 short = abs_final <0 and hist >0 and out9>out21 and out21>out50 long_exit = abs_final <0 and hist >0 and out9>out21 and out21>out50 short_exit = abs_final > 0 and hist <0 and out9<out21 and out21<out50 strategy.entry("long", strategy.long, when = long and barstate.isconfirmed, alert_message = message_long_entry) strategy.entry("short", strategy.short, when = short and barstate.isconfirmed, alert_message = message_short_entry) strategy.close("long", when = long_exit and barstate.isconfirmed, alert_message = message_long_exit) strategy.close("short", when = short_exit and barstate.isconfirmed, alert_message = message_short_exit)