Trendausbruchsstrategien


Erstellungsdatum: 2024-03-22 14:48:37 zuletzt geändert: 2024-03-22 14:48:37
Kopie: 1 Klicks: 640
1
konzentrieren Sie sich auf
1617
Anhänger

Trendausbruchsstrategien

Überblick

Dies ist eine quantitative Handelsstrategie, die ATR-Indikatoren und Schlusskurs verwendet, um Trendbrechen zu erfassen. Die Strategie beurteilt die Richtung des Trends durch die dynamische Berechnung von Auf- und Abwärts-Trendlinien und erzeugt ein Handelssignal, wenn der Schlusskurs die Trendlinie überschreitet. Die Strategie setzt gleichzeitig einen Stop-Loss und einen Zielpreis und kann aufgrund von Volatilität einen beweglichen Stop-Loss vornehmen.

Strategieprinzip

  1. Berechnung des ATR-Signals: atr_signal = atr ((atr_period))
  2. Die Trendlinie wird als folgt berechnet:
    • Die Trendlinie nach unten: lower_trend = low - atr_mult*atr_signal
    • Aufwärts: upper_trend = high + atr_mult*atr_signal
  3. Dynamische Anpassung der Trendlinie, bleibt unverändert, wenn die Trendlinie durchbrochen wird, oder wird auf den neuesten Wert aktualisiert
  4. Die Farbe der Trendlinie wird anhand der relativen Position des Schlusskurses gegenüber der Trendlinie verwendet, um die Richtung des Trends zu bestimmen.
  5. Das sind die wichtigsten Faktoren, die uns helfen können.
    • Mehr Signale: Derzeit keine Positionen gehalten und die Kurse überschritten die Trendlinie
    • Leerlaufsignal: Derzeit keine Positionen gehalten und der Kursabschluss hat die Abwärtstrendlinie überschritten
  6. Setzen Sie Stop-Loss- und Zielpreise:
    • Stop-Loss: ATR-Schwankungsfaktor bei dem jüngsten Kurs ± Breakout
    • Zielpreis: neuester Handelspreis ± Stop-Loss-Margin * Gewinn- und Verlustquoterr
  7. Das ist der erste Schritt.
    • Mehrköpfige Stop-Losses: Höchste Trendlinie
    • Leerstandsverlust: Die niedrigste Trendlinie

Analyse der Stärken

  1. Trendlinien, die sich dynamisch an die Volatilität anpassen und sich an unterschiedliche Marktbedingungen anpassen
  2. Trendlinien sind farbige Markierungen mit Richtung, um Trends zu erkennen.
  3. Verwenden Sie ATR als Maß für die Volatilität und setzen Sie einen angemessenen Stop-Loss und einen Zielpreis
  4. Mobile Stop-Loss-Funktion, um Rücknahmen so gering wie möglich zu halten, während Gewinne gesichert werden
  5. Hohe Parameterisierung, Anpassung an verschiedene Sorten und Zyklen

Risikoanalyse

  1. Trendbreaking-Strategien sind in den schwindelerregenden Märkten zu leicht, um zu viel Signal zu erzeugen, was zu Verlusten führt.
  2. Eine falsche Auswahl der ATR-Parameter kann dazu führen, dass die Trendlinie zu empfindlich oder langsam ist und die Signalqualität beeinträchtigt.
  3. Ein festes Gewinn- und Verlustverhältnis kann sich nicht an unterschiedliche Marktmerkmale anpassen
  4. Der mobile Stop-Loss könnte den Trend verfehlen.

Die Lösung:

  1. Einführung von Trendfiltern oder Schwingungsindikatoren zur Unterstützung von Urteilen, um Schwingungsmarktausfälle zu vermeiden
  2. Optimierung der ATR-Parameter je nach Sorte und Zyklus
  3. Optimierung der Verzinsungs- und Stop-Loss-Logik und Verbesserung der strategischen Gewinn-Risiko-Verhältnis
  4. Die Kombination von Trenderkennungsmethoden verbessert die mobilen Stop-Losses, um mehr Trendgewinne zu erfassen

Optimierungsrichtung

  1. Kombination von mehreren Zeitzyklen, Trends mit großen und Signal auslösenden kleinen Zyklen
  2. Um die Effektivität der Signale zu verbessern, werden die Kennzahlen vor dem Durchbruch der Trendlinie verifiziert.
  3. Optimierung der Positionsverwaltung und Erhöhung der Bandbreiten
  4. Parameter-Optimierung für die Stop-Loss- und Ertragsverhältnis
  5. Verbesserte mobile Stop-Logik, um vorzeitige Stop-Losses bei Trendbewegungen zu reduzieren

Mehrzeit-Zyklen helfen dabei, Geräusche zu filtern und Trends stabiler zu erfassen. Die Bestätigung von Kennzahlen vor dem Breakout kann falsche Signale ausfiltern. Optimierte Positionsmanagement kann die Kapitalnutzungs-Effizienz verbessern. Optimierte Stop-Loss-Verhältnis-Parameter verbessern das Risiko-Risiko-Verhältnis der Strategie.

Zusammenfassen

Die Strategie verwendet ATR als Maß für die Volatilität, um die Position der Trendlinie dynamisch anzupassen, um Trendbrechungen zu erfassen. Es wird ein vernünftiges Stop-Loss- und Gewinnziel gesetzt und mit mobilen Stop-Loss- und Gewinnsperren gesperrt. Die Parameter sind einstellbar und anpassungsfähig. Die Trendbrechungsstrategie ist jedoch auch anfällig für die Auswirkungen von Schaukeln und muss weiter optimiert und verbessert werden.

Strategiequellcode
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Claw-Pattern", overlay=true, calc_on_every_tick=true, default_qty_type= strategy.percent_of_equity,default_qty_value=10, currency="USD")
//Developer: Trading Strategy Guides
//Creator: Trading Strategy Guides
//Date: 3/18/2024
//Description: A trend trading system strategy 

atr_period = input(title="ATR Period", defval=120, type=input.integer)
atr_mult = input(title="ATR Multiplier", defval=2, type=input.integer)
dir = input(title="Direction (Long=1, Short=-1, Both = 0)", defval=1, type=input.integer)
factor = input(title="Stop Level Deviation (% Chan.)", defval=0.75, type=input.float)
rr = input(title="Reward to Risk Multiplier", defval=2, type=input.integer)
trail_bar_start = input(title="Trail Stop Bar Start", defval=20, type=input.integer)
col_candles = input(title="Enable Colored Candles", defval=false, type=input.bool)

atr_signal = atr(atr_period)

lower_trend = low - atr_mult*atr_signal
upper_trend = high + atr_mult*atr_signal

upper_trend := upper_trend > upper_trend[1] and close < upper_trend[1] ? upper_trend[1] : upper_trend
lower_trend := lower_trend < lower_trend[1] and close > lower_trend[1] ? lower_trend[1] : lower_trend

upper_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? color.red : na
lower_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? na : color.green

trend_line = lower_trend

plot(lower_trend, color=lower_color, title="Lower Trend Color")
plot(upper_trend, color=upper_color, title="Upper Trend Color")

is_buy = strategy.position_size == 0 and crossover(close, upper_trend[1]) and upper_color[1]==color.red and (dir == 1 or dir == 0)
is_sell = strategy.position_size == 0 and crossover(close, lower_trend[1]) and lower_color[1]==color.green and (dir == -1 or dir == 0)

if is_buy
    strategy.entry("Enter Long", strategy.long)
else if is_sell
    strategy.entry("Enter Short", strategy.short)