Strategie für die Verlagerung des gleitenden Durchschnitts

Schriftsteller:ChaoZhang, Datum: 2024-01-23 15:20:16
Tags:

img

Übersicht

Dies ist eine Handelsstrategie, die auf gleitenden Durchschnitts-Crossover-Signalen basiert. Sie verwendet eine 45-tägige gleitende Durchschnittslinie als wichtigen technischen Indikator und erzeugt Kauf- und Verkaufssignale, wenn der Preis die gleitende Durchschnittslinie durchbricht.

Strategie Logik

Wenn der Preis über die 45-tägige gleitende Durchschnittslinie steigt und bricht, wird ein Kaufsignal generiert. Nach dem Halten der Position für 8 Tage wird ein Verkaufssignal generiert.

Die spezifischen Logikprinzipien sind:

  1. Berechnen Sie die gleitende Durchschnittslinie für 45 Tage.
  2. Wenn der Schlusskurs von unterhalb der gleitenden Durchschnittslinie überschreitet, wird ein Kaufsignal erzeugt, um lang zu gehen.
  3. Halten Sie die Position für 8 Handelstage nach Markteintritt.
  4. Schließen Sie die Longposition nach 8 Tagen und erzeugen Sie ein Verkaufssignal.
  5. Wenn der Schlusskurs später wieder von unterhalb der gleitenden Durchschnittslinie nach oben bricht, erzeugen Sie ein Kaufsignal, um eine Long-Position wieder zu eröffnen.

Das ist die Kernlogik dieser Strategie.

Vorteile

Diese Strategie hat folgende Vorteile:

  1. Die Handelsregeln sind einfach und klar, leicht verständlich und umsetzbar.
  2. Nutzt die Trendverfolgungsfunktion von gleitenden Durchschnitten, um mittelfristige und langfristige Trends effektiv zu erfassen.
  3. Die achttägige Haltedauer ist angemessen lang genug, um Trends zu verfolgen, und kurz genug, um Verluste rechtzeitig zu reduzieren.
  4. Die Regeln für den Wiedereintritt auf den Markt sind klar, was dazu beiträgt, die Handelsfrequenz zu begrenzen.

Risiken

Diese Strategie birgt einige Risiken:

  1. Die Verzögerung der gleitenden Durchschnittswerte könnte zu späten Eintritten und vorzeitigen Ausstiegen führen.
  2. Die festgelegte Aufbewahrungsdauer und die MA-Parameter können sich möglicherweise nicht an die sich ändernden Marktbedingungen anpassen.
  3. Die Handelsfrequenz könnte zu hoch sein, was zu höheren Kosten und Verschiebungen führt.
  4. Ausbruchsignale können falsche Signale erzeugen, die zu einigen Whipsaws führen.

Lösungen:

  1. Optimieren Sie die MA-Parameter, um die Verzögerung zu reduzieren.
  2. Verlängern Sie die Haltedauer oder verwenden Sie Trailing Stops, um Trends besser zu verfolgen.
  3. Zusätzlich werden Filter mit anderen Indikatoren wie MACD oder KDJ hinzugefügt, um Signale zu bestätigen.
  4. Verfeinern Sie die Regeln für den Wiedereintritt, um die Frequenz zu kontrollieren.

Verbesserungsbereiche

Die wichtigsten Verbesserungsbereiche sind:

  1. Optimieren der MA-Parameter, um die besten Kombinationen zu finden, z. B. 15-tägige, 30-tägige oder 60-tägige MA.

  2. Optimieren Sie die Aufbewahrungsdauer, um die optimale Dauer zu bestimmen, z. B. 5 Tage, 10 Tage, 15 Tage.

  3. Hinzufügen von Trailing Stops zur Verfolgung von Trends und zur Kontrolle von Risiken, z. B. Test- oder ATR-Stops.

  4. Fügen Sie Filter mit anderen Indikatoren wie MACD, KDJ hinzu, um falsche Signale zu reduzieren.

  5. Verfeinern Sie die Wiedereintrittsregeln, um Überhandelungen zu verhindern, z. B. Durchsetzen Sie Abkürzungsperioden.

  6. Wirksamkeit der Prüfungen auf verschiedenen Märkten und Instrumenten.

Zusammenfassung

Zusammenfassend ist diese MA-Crossover-Strategie ein einfaches und praktisches Trendfolgensystem. Sie nutzt die Trendverfolgungsfähigkeit von MA und kombiniert Preisbrechungen, um Handelssignale zu generieren. Die Vorteile sind, dass sie einfach zu implementieren sind, während die Nachteile gelegentliche Whipsaws sind. Die Strategie kann durch Parameteroptimierung und das Hinzufügen anderer Indikatoren als Filter weiter verbessert werden.


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

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

// Calculate the 45-day moving average
ma_length = 45
ma = ta.sma(close, ma_length)

// Track position entry and entry bar
var bool in_long_position = na
var int entry_bar = na
var int exit_bar = na

// Entry condition: Close price crosses above the 45-day moving average to enter the position
if (not in_long_position and ta.crossover(close, ma) and not na(ma[1]) and close > ma and close[1] < ma[1])
    in_long_position := true
    entry_bar := bar_index

// Exit condition: Close the position after holding for 8 trading days
if (in_long_position and bar_index - entry_bar >= 8)
    in_long_position := false
    exit_bar := bar_index

// Re-entry condition: Wait for price to cross over the 45-day moving average again
if (not in_long_position and ta.crossover(close, ma) and not na(ma[1]) and close > ma and close[1] > ma[1] and (na(exit_bar) or bar_index - exit_bar >= 8))
    in_long_position := true
    entry_bar := bar_index

// Execute long entry and exit
if (in_long_position)
    strategy.entry("Long", strategy.long)

if (not in_long_position)
    strategy.close("Long")

Mehr