Strategie für einen doppelten gleitenden Durchschnitt mit Verzögerung

Schriftsteller:ChaoZhang, Datum: 2024-04-01 11:58:55
Tags:

img

Übersicht

Die Dual Moving Average Lagging Breakout Strategy ist eine häufig verwendete Handelsstrategie für technische Analyse. Diese Strategie kombiniert zwei einfache gleitende Durchschnitte (SMAs) mit verschiedenen Perioden und den Indikator Average True Range (ATR), mit dem Ziel, Wendepunkte in den Markttrends zu erfassen und einen risikoarmen, hochrenditiven Handel zu erzielen.

Strategieprinzip

Die wichtigsten Grundsätze dieser Strategie sind folgende:

  1. Berechnen Sie zwei einfache gleitende Durchschnitte (SMA) mit unterschiedlichen Perioden, wobei die Ausfallperioden 14 und 50 betragen.
  2. Berechnung des ATR-Indikators zur Messung der Marktvolatilität mit einer Standardauflage von 14 Jahren.
  3. Zeichnen Sie die oberen und unteren ATR-Bänder als Referenzbereiche für Preisschwankungen ab. Das obere Band wird durch Addition des ATR multipliziert mit einem Faktor (Standard 1.5) zum höchsten Preis und das untere Band durch Subtraktion des ATR multipliziert mit dem Faktor vom niedrigsten Preis ermittelt.
  4. Wenn der Schlusskurs über den kurzfristigen gleitenden Durchschnitt geht und der kurzfristige gleitende Durchschnitt über dem langfristigen gleitenden Durchschnitt liegt, wird ein langes Signal generiert und ein aufwärts gerichteter Pfeil unterhalb des Kerzenstäbels gezogen.
  5. Wenn der Schlusskurs unter den kurzfristigen gleitenden Durchschnitt fällt und der kurzfristige gleitende Durchschnitt unter dem langfristigen gleitenden Durchschnitt liegt, wird ein kurzes Signal erzeugt und ein nach unten gerichteter Pfeil über den Kerzenstock gezogen.
  6. Setzen Sie Stop-Loss- und Take-Profit-Levels. Das Stop-Loss-Level ist der niedrigste Preis abzüglich des ATR multipliziert mit dem Faktor und das Take-Profit-Level ist der Einstiegspreis plus (Einstiegspreis - Stop-Loss-Level) multipliziert mit 2.

Aus den vorstehenden Grundsätzen geht hervor, dass diese Strategie die Trendbeurteilung des gleitenden Durchschnittssystems und die Volatilitätsmessung des ATR-Indikators kombiniert, wobei der Schwerpunkt auf der Trendbeobachtung liegt und gleichzeitig das Zugriffsrisiko kontrolliert wird.

Analyse der Vorteile

Die Dual Moving Average Lagging Breakout Strategie hat folgende Vorteile:

  1. Trendverfolgung: Beurteilt die Trendrichtung durch das gleitende Durchschnittssystem, erfasst die wichtigsten Markttrends und folgt dem Markt.
  2. Risikokontrolle: Er verwendet den ATR-Indikator, um die Marktvolatilität zu messen, und legt angemessene Stop-Loss-Level fest, um die Abzüge in einem akzeptablen Bereich zu halten.
  3. Flexible Parameter: Parameter wie gleitende Durchschnittsperioden, ATR-Periode und Multiplikator können je nach verschiedenen Märkten und Instrumenten optimiert und angepasst werden, was eine gewisse Universalität bietet.
  4. Einfach und unkompliziert: Handelssignale sind einfach und klar und eignen sich für Anleger verschiedener Ebenen.

Risikoanalyse

Obwohl diese Strategie gewisse Vorteile hat, birgt sie dennoch folgende Risiken:

  1. Häufiger Handel: Wenn der Markt sehr volatil ist und der Trend unklar ist, kann diese Strategie häufige Handelssignale erzeugen, wodurch die Handelskosten steigen.
  2. Verzögerung: Das gleitende Durchschnittssystem weist eine gewisse Verzögerung auf und kann zu Beginn von Marktturnpunkten einen gewissen Rückgang aufweisen.
  3. Parameteroptimierung: Verschiedene Parameter-Einstellungen haben erhebliche Auswirkungen auf die Strategieleistung, was eine Parameteroptimierung für verschiedene Märkte und Instrumente erfordert, was die Schwierigkeit der Umsetzung erhöht.

Um den oben genannten Risiken entgegenzuwirken, kann die Strategie aus folgenden Gesichtspunkten optimiert und verbessert werden:

  1. Einführung von Trendfiltern: Bevor Sie Handelssignale erzeugen, bestimmen Sie zuerst die Trendrichtung des größeren Zeitrahmens und handeln Sie nur, wenn der Trend im größeren Zeitrahmen klar ist, wodurch der häufige Handel reduziert wird.
  2. Optimierung von Stop-Loss und Take-Profit: Es sollte in Betracht gezogen werden, dynamische Stop-Loss-Methoden wie Trailing Stop-Loss und Volatility Stop-Loss einzuführen sowie die Take-Profit-Level dynamisch anhand der Marktvolatilität anzupassen, um die Flexibilität der Strategie zu verbessern.
  3. Kombinationsoptimierung: Diese Strategie mit anderen technischen Indikatoren oder grundlegenden Faktoren kombinieren, um die Robustheit der Strategie zu verbessern.

Optimierungsrichtung

Diese Strategie kann aus folgenden Gesichtspunkten optimiert werden:

  1. Adaptive Parameteroptimierung: Für verschiedene Instrumente und Zeitrahmen finden Sie automatisch die optimale Parameterkombination, um die Arbeitsbelastung beim manuellen Parameter-Tuning zu reduzieren.
  2. Signalfilterung: Nachdem Handelssignale generiert wurden, werden weitere technische Indikatoren oder grundlegende Faktoren zur sekundären Bestätigung von Signalen eingeführt, um die Signalqualität zu verbessern. Zum Beispiel werden Volumenindikatoren hinzugefügt, um die Stärke des Trends zu beurteilen; makroökonomische Daten hinzugefügt, um festzustellen, ob das gesamte Umfeld der Fortführung des Trends förderlich ist.
  3. Positionsmanagement: Bei der Eröffnung von Positionen wird die Positionsgröße dynamisch anhand von Faktoren wie Marktvolatilität und Kontorisiko angepasst, um das Single-Trade-Risiko zu kontrollieren.
  4. Trailing-Stop-Loss: Die anfängliche Stop-Loss-Ebene ist festgesetzt. Da sich der Preis in eine günstige Richtung bewegt, sollten Sie die Stop-Loss-Ebene auch in die günstige Richtung bewegen, um den Drawdown zu reduzieren und die Effizienz der Kapitalnutzung zu verbessern.

Die oben genannten Optimierungen können die Anpassungsfähigkeit, Robustheit und Rentabilität der Strategie verbessern, aber es sollte beachtet werden, dass eine Überoptimierung zu Kurvenanpassung führen kann, was zu schlechter Leistung außerhalb der Stichprobe führt. Daher sollten ausreichende Backtests und Validierungen sowohl innerhalb als auch außerhalb der Stichprobe durchgeführt werden.

Zusammenfassung

Die Dual Moving Average Lagging Breakout Strategie ist eine klassische Trend-Folgende Strategie, die die Trendrichtung durch das gleitende Durchschnittssystem bestimmt und das Risiko mithilfe des ATR-Indikators steuert, wobei Trendbewegungen erfasst und Risiken verwaltet werden. Obwohl sie bestimmte Verzögerungen und häufige Handelsprobleme aufweist, kann die Performance der Strategie durch Methoden wie die Optimierung von Stop-Loss- und Take-Profit-Levels, die Einführung von Signalfiltern, adaptive Parameteroptimierung und Positionsmanagement weiter verbessert werden, was sie zu einer praktischen quantitativen Handelsstrategie macht.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="2 Moving Averages", shorttitle="2MA", overlay=true)

// Moving Averages
len = input(14, minval=1, title="Length MA1")
src = input(close, title="Source MA1")
ma1 = sma(src, len)

len2 = input(50, minval=1, title="Length MA2")
src2 = input(close, title="Source MA2")
ma2 = sma(src2, len2)

// Plotting Moving Averages
plot(ma1, color=#0b6ce5, title="MA1")
plot(ma2, color=#00ff80, linewidth=2, title="MA2")

// ATR Bands
atrLength = input(14, title="ATR Length")
atrMultiplier = input(1.5, title="ATR Multiplier")
upperBand = high + atr(atrLength) * atrMultiplier
lowerBand = low - atr(atrLength) * atrMultiplier

u =plot(upperBand, color=color.rgb(217, 220, 223, 84), title="ATR Upper Band")
l = plot(lowerBand, color=color.rgb(217, 220, 223, 84), title="ATR Lower Band")
fill(u, l, color=#471eb821, title="ATR Background")

// Conditions for plotting arrows
upArrowCondition = ma1 > ma2 and crossover(close, ma1)
downArrowCondition = ma1 < ma2 and crossunder(close, ma1)

// Plotting arrows
plotshape(upArrowCondition, style=shape.arrowup, color=color.rgb(66, 45, 255), size=size.normal, location=location.belowbar, title="Up Arrow")
plotshape(downArrowCondition, style=shape.arrowdown, color=color.red, size=size.normal, location=location.abovebar, title="Down Arrow")
// Checkbox for trade execution
showTrades = input(true, title="Hiển thị giao dịch")

// Buy Condition
if (upArrowCondition and showTrades)
    strategy.entry("Buy", strategy.long)

// Sell Condition
if (downArrowCondition and showTrades)
    strategy.entry("Sell", strategy.short)

// Stop Loss and Take Profit
stopLossBuy = low - atr(14) * atrMultiplier
takeProfitBuy = close + (close - stopLossBuy) * 2

stopLossSell = high + atr(14) * atrMultiplier
takeProfitSell = close - (stopLossSell - close) * 2

strategy.exit("Exit Buy", "Buy", stop=stopLossBuy, limit=takeProfitBuy)
strategy.exit("Exit Sell", "Sell", stop=stopLossSell, limit=takeProfitSell)



Mehr