Trendfolgestrategie basierend auf gleitenden Durchschnittskreuzungen


Erstellungsdatum: 2024-03-01 10:59:03 zuletzt geändert: 2024-03-01 10:59:03
Kopie: 1 Klicks: 633
1
konzentrieren Sie sich auf
1617
Anhänger

Trendfolgestrategie basierend auf gleitenden Durchschnittskreuzungen

Überblick

Die Strategie ermöglicht die Trendverfolgung durch die Berechnung von Moving Averages aus verschiedenen Perioden, deren Kreuzung als Kauf- und Verkaufssignale eingestellt wird. Die Kernlogik besteht darin, eine Umkehrung des Trends mit kürzeren Perioden mit Moving Averages zu verwenden, um einen Trend mit längeren Perioden zu verfolgen.

Strategieprinzip

  1. Berechnen Sie einen Moving Average für 200 und 100 Perioden
  2. Wenn wir den 200-Perioden-Moving-Average auf dem 100-Perioden-Moving-Average durchziehen, machen wir mehr.
  3. Wenn der 100-Perioden-Moving-Average unter dem 200-Perioden-Moving-Average durchbricht, ist die Position platziert.
  4. Wenn der 100-Perioden-Moving-Average unter dem 200-Perioden-Moving-Average durchbricht, wird ein Leerlauf gemacht.
  5. Wenn der 100-Perioden-Moving-Average durch den 200-Perioden-Moving-Average geschoben wird, ist die Leerposition

Die Logik hinter den oben genannten Handelssignalen besteht darin, dass der kurzfristige Moving Average schneller auf Preisänderungen reagiert und die neuesten Trends widerspiegelt. Der langfristige Moving Average ist besser in der Lage, die Gesamttrends zu reflektieren und die Geräusche zu filtern. Wenn der kurzfristige Moving Average den langfristigen Moving Average überschreitet, bedeutet dies, dass eine Trendwende stattfindet, weshalb ein Handelssignal gesetzt wird.

Strategische Stärkenanalyse

  1. Die Strategie ist klar, einfach, leicht zu verstehen und umzusetzen.
  2. Durch die Kombination von langen und kurzen Periodenzügen können Trendwendepunkte besser erfasst werden.
  3. Es ist nicht notwendig, die Richtung der Preise vorherzusagen, sondern nur die Trendwende zu verfolgen, wodurch die Fehlerquote reduziert wird.
  4. Anpassung an unterschiedliche Marktumstände durch Optimierung der Moving Average-Zyklus

Analyse der strategischen Risiken und Lösungsansätze

  1. Bei großen Trendschwankungen können mehrere Fehlsignale entstehen, die zu Verlusten führen. Die Lösung besteht darin, die Periodenparameter des Moving Averages entsprechend anzupassen.
  2. Ein einfacher Moving-Average-Strategie kann nicht rechtzeitig reagieren, wenn ein Ereignis zu einer schnellen Reversal führt, und ist leicht zu verlieren. Die Lösung besteht darin, zusätzliche Beurteilungsindikatoren, wie z. B. die Incremental-Anzeige, hinzuzufügen.
  3. Die Anzahl der Transaktionen kann zu häufig sein, was zu höheren Transaktionskosten und Verlusten führt. Die Lösung besteht darin, die Periodiparameter des Moving Averages entsprechend anzupassen, um die Häufigkeit der Transaktionen zu verringern.

Richtung der Strategieoptimierung

  1. Optimierung der Kombination von Moving Average Cycle Parametern für mehr Marktbedingungen
  2. Erhöhung der Filterwerte, um falsche Signale zu vermeiden, wie z.B. Transaktionsvolumen, MACD usw.
  3. Erhöhung der Stop-Loss-Strategie und Kontrolle von Einzelschäden
  4. Optimierung von Parameterkombinationen, um optimale Parameter zu finden

Zusammenfassen

Diese Strategie ist eine typische Trend-Tracking-Strategie, die durch eine einfache Moving Average-Kreuzung die Veränderung der Preisentwicklung erfasst. Die Vorteile sind einfach zu verstehen, einfach zu bedienen und können durch Anpassung der Parameter an verschiedene Marktumgebungen angepasst werden. Der Nachteil ist, dass die Reaktion auf unerwartete Ereignisse nicht empfindlich ist und leicht falsche Signale erzeugt.

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

//@version=5
strategy("MA Crossover Strategy", overlay=true)

// Функция для получения скользящего среднего на заданном таймфрейме
getMA(source, length, timeframe) =>
    request.security(syminfo.tickerid, timeframe, ta.sma(source, length))

// Вычисляем 200-периодное и 100-периодное скользящее среднее для текущего таймфрейма
ma200 = getMA(close, 200, "240")
ma100 = getMA(close, 100, "240")

// Открываем позицию Long, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossover(ma100, ma200))
    strategy.entry("Long", strategy.long)

// Закрываем позицию Long, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossunder(ma100, ma200))
    strategy.close("Long")

// Открываем позицию Short, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossunder(ma100, ma200))
    strategy.entry("Short", strategy.short)

// Закрываем позицию Short, если 100-периодное скользящее среднее пересекает 200-периодное снизу вверх
if (ta.crossover(ma100, ma200))
    strategy.close("Short")

// Рисуем линии скользящих средних на графике
plot(ma200, color=color.blue, linewidth=2, title="200 MA")
plot(ma100, color=color.red, linewidth=2, title="100 MA")