Die Durchbruchs-Rückruf-Handelstrategie

Schriftsteller:ChaoZhang, Datum: 2024-02-28 18:01:56
Tags:

img

Übersicht

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.

Strategieprinzip

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.

Analyse der Vorteile

Die Strategie weist folgende Vorteile auf:

  1. Kombination großer Trends und kurzfristiger Anpassungen zur Vermeidung falscher Ausbrüche
  2. Höhere Zuverlässigkeit bei Kombination mehrerer Indikatoren
  3. Der absolute Stärkeindex spiegelt die Stärke der Anpassungen zur Beurteilung der Qualität der Rückrufe wider
  4. Der MACD kann kurzfristige Trends und überkaufte/überverkaufte Bereiche beurteilen

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Eine falsche Einschätzung der wichtigsten Trends kann zum Handelsversagen führen
  2. Falsche Beurteilung der Rückrufzeit und -stärke kann zu einer ungültigen Rückrufart führen
  3. Abweichungen der Indikatoren unter extremen Marktbedingungen, die zu falschen Signalen führen

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.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Testen Sie mehr Indikatorenkombinationen, um geeignete Handelsstrategien zu finden
  2. Optimierung der Indikatorparameter zur Verbesserung der Indikatorempfindlichkeit
  3. Anpassung der Stop-Loss-Methoden zur Verringerung des maximalen Einzelverlustes
  4. Erhöhte Filterbedingungen zur Ausstrahlung von Signalen in effektiveren Bereichen
  5. Kombination mehrer Zeitrahmenindikatoren zur Verbesserung der Richtigkeit der Beurteilung

Zusammenfassung

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) 


Mehr