Eine Strategie zur Ausbrechung der Dynamik

Schriftsteller:ChaoZhang, Datum: 2023-10-09 15:15:22
Tags:

Übersicht

Dies ist eine Intraday-Handelsstrategie, die Dynamikindikatoren und wichtige Unterstützungs-/Widerstandsniveaus für den Breakout-Handel verwendet.

Strategie Logik

Die Strategie verwendet den Choppiness-Index, um Trends zu identifizieren. Niedrige Choppiness-Werte zeigen einen klaren Trend an, während hohe Werte eine Konsolidierung anzeigen. Die Strategie wird nur gehandelt, wenn Choppiness unter 44 liegt.

Für Eintrittssignale berechnet es wichtige Intraday-Unterstützungs-/Widerstandsniveaus einschließlich H4, H5 usw. Es geht lang, wenn der Preis über H4 schließt, und geht kurz, wenn der Preis unter L4 schließt.

Insbesondere berechnet sie folgende Intraday-Level:

  • Pivot = (Hoch + Niedrig + Schließen) / 3
  • Bereich = Hoch - Niedrig
  • H1-H6 = Drehpunkt + Bereich * Verhältnis
  • L1-L6 = Drehpunkt - Bereich * Verhältnis

Nach der Berechnung dieser Niveaus verwendet es H4 und L4 als Schlüssellabschnitte.

Wenn der Preis über H4 bricht, signalisiert er eine zunehmende bullische Dynamik und die Strategie geht lang.

Analyse der Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Die Verwendung von Choppiness zur Identifizierung klarer Trends vermeidet Schlagzeilen bei der Konsolidierung.

  2. Die berechneten Unterstützungs-/Widerstandsniveaus sind in der Regel sinnvoll.

  3. Handelspausen von H4 und L4, die nahe dem Schlusskurs liegen, erfassen wichtige Intraday-Pausen.

  4. Breakout-Signale haben eine sehr hohe Gewinnrate. Gültige Breaks von H4 und L4 setzen normalerweise den Trend fort.

  5. Einfache und klare Logik, leicht zu verstehen und umzusetzen für Anfänger.

Risikoanalyse

Zu den Risiken dieser Strategie gehören:

  1. Die Abhängigkeit von Choppiness bei der Trendenidentifizierung kann fehlschlagen und Trends falsch interpretieren.

  2. Die berechneten Niveaus halten möglicherweise nicht, und der Preis könnte durchbrechen, was zu Stopps führt.

  3. Ausbruchssignale können falsche Ausbrüche mit schnellen Umkehrungen sein.

  4. Ohne Berücksichtigung des allgemeinen Trends können sich Verluste in unruhigen Märkten ansammeln.

  5. Kein Stop-Loss bedeutet, dass bei extremen Bewegungen ein großer Einzelhandelsverlust möglich ist.

Lösungen:

  1. Hinzufügen anderer Indikatoren zur Querbestätigung und Verbesserung der Genauigkeit.

  2. Implementieren Sie die Bewegung von Stop Loss, um Einzelhandelsverluste zu kontrollieren.

  3. Einbeziehen Sie einen langfristigen Trendfilter, um gegentrendige Trades zu vermeiden.

  4. Fügen Sie ein Wiedereintrittssignal hinzu, um falsche Ausbrüche zu vermeiden.

Optimierungsrichtlinien

Diese Strategie kann weiter optimiert werden, indem

  1. Optimierung der Choppiness-Parameter, um bessere Werte zu finden.

  2. Verschiedene Breakout-Niveaus wie H3 und L3 testen für eine bessere Effizienz.

  3. Hinzufügen eines beweglichen Stop-Loss zum Gewinnschutz und zur Risikokontrolle.

  4. Ich füge ein Wiedereintrittssignal hinzu, um Verluste durch falsche Ausbrüche zu vermeiden.

  5. Einbeziehung eines langfristigen Trendfilters zur Vermeidung von Gegentrendgeschäften.

  6. Optimierung der Handelszeiten, z. B. nur US- oder Europa-Sitzungen.

  7. Hinzufügen von Positionsgrößenregeln wie feste Menge oder fester Prozentsatz.

  8. Ich analysiere Backtestdaten für Parameter Feinabstimmung.

Schlussfolgerung

Zusammenfassend ist die Kernidee, Breakouts nach der Identifizierung des Trends zu handeln. Es hat eine einfache Logik und anständige Gewinnquoten. Aber Risiken bestehen und weitere Verfeinerungen sind erforderlich, um Risiken zu kontrollieren und die Rentabilität zu verbessern. Mit Parameter-Tuning, Stop-Loss, Trendfilter usw. kann es zu einem sehr praktischen Intraday-Breakout-System werden. Es bietet einen Momentum-Breakout-Rahmen, der eine effektive Intraday-Handelsstrategie ist.


/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Created by AS
strategy(title="ASH1Strategy", shorttitle="AS_H1_Strategy", overlay=true) 
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,3)

pivot = (high + low + close ) / 3.0 
range = high - low
h5 = (high/low) * close 
h4 = close + (high - low) * 1.1 / 2.0
h3 = close + (high - low) * 1.1 / 4.0
h2 = close + (high - low) * 1.1 / 6.0
h1 = close + (high - low) * 1.1 / 12.0
l1 = close - (high - low) * 1.1 / 12.0
l2 = close - (high - low) * 1.1 / 6.0
l3 = close - (high - low) * 1.1 / 4.0
l4 = close - (high - low) * 1.1 / 2.0
h6 = h5 + 1.168 * (h5 - h4) 
l5 = close - (h5 - close)
l6 = close - (h6 - close)

// Daily line breaks
//sopen = request.security(syminfo.tickerid, "D", open [1])
//shigh = request.security(syminfo.tickerid, "D", high [1])
//slow = request.security(syminfo.tickerid, "D", low [1])
//sclose = request.security(syminfo.tickerid, "D", close [1])
//
// Color
//dcolor=sopen != sopen[1] ? na : black
//dcolor1=sopen != sopen[1] ? na : red
//dcolor2=sopen != sopen[1] ? na : green

//Daily Pivots 
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) 
dtime_h6 = request.security(syminfo.tickerid, 'D', h6[1]) 
dtime_h5 = request.security(syminfo.tickerid, 'D', h5[1]) 
dtime_h4 = request.security(syminfo.tickerid, 'D', h4[1]) 
dtime_h3 = request.security(syminfo.tickerid, 'D', h3[1]) 
dtime_h2 = request.security(syminfo.tickerid, 'D', h2[1]) 
dtime_h1 = request.security(syminfo.tickerid, 'D', h1[1]) 
dtime_l1 = request.security(syminfo.tickerid, 'D', l1[1]) 
dtime_l2 = request.security(syminfo.tickerid, 'D', l2[1]) 
dtime_l3 = request.security(syminfo.tickerid, 'D', l3[1]) 
dtime_l4 = request.security(syminfo.tickerid, 'D', l4[1]) 
dtime_l5 = request.security(syminfo.tickerid, 'D', l5[1]) 
dtime_l6 = request.security(syminfo.tickerid, 'D', l6[1]) 

//offs_daily = 0
//plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",color=dcolor, linewidth=2)
//plot(sd and dtime_h6 ? dtime_h6 : na, title="Daily H6", color=dcolor2, linewidth=2)
//plot(sd and dtime_h5 ? dtime_h5 : na, title="Daily H5",color=dcolor2, linewidth=2)
//plot(sd and dtime_h4 ? dtime_h4 : na, title="Daily H4",color=dcolor2, linewidth=2)
//plot(sd and dtime_h3 ? dtime_h3 : na, title="Daily H3",color=dcolor1, linewidth=3)
//plot(sd and dtime_h2 ? dtime_h2 : na, title="Daily H2",color=dcolor2, linewidth=2)
//plot(sd and dtime_h1 ? dtime_h1 : na, title="Daily H1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l1 ? dtime_l1 : na, title="Daily L1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l2 ? dtime_l2 : na, title="Daily L2",color=dcolor2, linewidth=2)
//plot(sd and dtime_l3 ? dtime_l3 : na, title="Daily L3",color=dcolor1, linewidth=3)
//plot(sd and dtime_l4 ? dtime_l4 : na, title="Daily L4",color=dcolor2, linewidth=2)
//plot(sd and dtime_l5 ? dtime_l5 : na, title="Daily L5",color=dcolor2, linewidth=2)
//plot(sd and dtime_l6 ? dtime_l6 : na, title="Daily L6",color=dcolor2, linewidth=2)

longCondition = close >dtime_h4
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)
    


shortCondition = close <dtime_l4
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
    


Mehr