Einfache Querschnittstrategie für gleitende Durchschnitte

Schriftsteller:ChaoZhang, Datum: 2024-02-21 15:11:32
Tags:

img

Übersicht

Dies ist eine Kombinationshandelsstrategie, die auf einfachen gleitenden Durchschnitten (SMA) basiert. Sie verwendet ein Crossover der 9-Tage- und 21-Tage-SMA-Linien als Kauf- und Verkaufssignale. Wenn die kurzfristige SMA von unten über die langfristige SMA überschreitet, wird ein Kaufsignal generiert. Wenn die kurzfristige SMA von oben unter die langfristige SMA überschreitet, wird ein Verkaufssignal generiert.

Strategie Logik

Die Kernlogik dieser Strategie besteht darin, zwei SMA-Linien mit unterschiedlichen Parametern zu verwenden - eine 9-tägige SMA, die den kurzfristigen Trend repräsentiert, und eine 21-tägige SMA, die den langfristigen Trend repräsentiert. Wenn die kurzfristige Trendlinie über die langfristige Trendlinie von unten kreuzt, zeigt sie an, dass sich der Markt von einem Abwärtstrend in einen Aufwärtstrend verändert und ein Kaufsignal erzeugt. Wenn die kurzfristige Linie unter die langfristige Linie von oben kreuzt, signalisiert sie eine Veränderung vom Aufwärtstrend in einen Abwärtstrend und erzeugt ein Verkaufssignal.

Die wichtigsten Signale, auf die sich diese Strategie stützt, sind das goldene Kreuz und das Todeskreuz der beiden SMA-Linien. Ein goldenes Kreuz tritt auf, wenn die kurze SMA über die lange SMA überschreitet, was eine mögliche Veränderung vom Abwärtstrend zum Aufwärtstrend signalisiert. Ein Todeskreuz tritt auf, wenn die kurze SMA unter die lange SMA überschreitet, was darauf hindeutet, dass ein Abwärtstrend aus dem Aufwärtstrend beginnen kann. Durch die Nutzung dieser beiden Signale identifiziert die Strategie Beziehungen zwischen kurzfristigen und langfristigen Trends, um Handelsentscheidungen zu treffen.

Vorteile

  1. Einfach zu verstehen und umzusetzen
  2. Wenige Parameter, die umfangreich getestet/optimiert werden müssen
  3. angemessene Handelshäufigkeit und Vermeidung übermäßig aggressiver Geschäfte
  4. Einigermaßen präzise bei der Identifizierung von Trendumkehrpunkten
  5. Bietet eine gewisse Messbarkeit und Stabilität

Risiken

  1. Anfällig für falsche Signale und Whipsaws
  2. Die Auswahl der Kauf-/Verkaufspunkte beruht in hohem Maße auf Erfahrung und nicht auf einem systematischen Ansatz
  3. Leistung stark parameterabhängig. 9-Tage/21-Tage-SMA ist möglicherweise nicht optimal
  4. Unwirksam bei der Filterung von Lärmgeschäften in unruhigen/seitigen Märkten
  5. Umfangreiche Verlustgeschäfte in Umgebungen mit hoher Volatilität

Möglicher Fortschritt:

  1. Fügen Sie Filter hinzu, um auf falsche Signale zu reagieren
  2. Einbeziehung anderer Indikatoren zur Messung der Signalzuverlässigkeit
  3. Test und Optimierung von Parametern für verschiedene Produkte
  4. Einführung von Stop-Loss/Take-Profit zur Risikokontrolle

Schlussfolgerung

Insgesamt handelt es sich um ein ziemlich traditionelles und einfaches Dual Moving Average Crossover-System. Es ist leicht zu verstehen und mit relativ einfacher Parameterwahl umzusetzen. Es kann Änderungen zwischen kurzfristigen und langfristigen Trends effektiv verfolgen. Allerdings müssen Probleme wie falsche Signale, empirisch ausgewählte Parameter, mittelmäßige Leistung in Umgebungen mit hoher Volatilität angegangen 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("Bitboy Strategy", overlay=true)

// Define MAs
SlowMA = ta.sma(close, 9)
FastMA = ta.sma(close, 21)

// Plot MAs
plot1 = plot(SlowMA, color=color.new(color.red, 0), title="Slow MA")
plot2 = plot(FastMA, color=color.new(color.green, 0), title="Fast MA")

// Plot MA Ribbon
fill(plot1, plot2, color=FastMA > SlowMA ? color.rgb(233, 21, 21, 50) : color.new(#1de223, 45))

// Define buy/sell conditions
longCondition = ta.crossover(SlowMA, FastMA)
shortCondition = ta.crossunder(SlowMA, FastMA)

// Strategy commands for buy/sell
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Plot buy/sell signals (for visualization)
plotshape(longCondition, location=location.belowbar, color=color.rgb(18, 230, 25, 37), style=shape.labelup, text="Buy", textcolor=color.white)
plotshape(shortCondition, location=location.abovebar, color=color.rgb(239, 23, 23, 40), style=shape.labeldown, text="Sell", textcolor=color.white)

Mehr