Moving Average Crossover-Strategie zur genauen Erfassung von Trendumkehrungen


Erstellungsdatum: 2024-01-22 12:14:29 zuletzt geändert: 2024-01-22 12:14:29
Kopie: 1 Klicks: 541
1
konzentrieren Sie sich auf
1617
Anhänger

Moving Average Crossover-Strategie zur genauen Erfassung von Trendumkehrungen

Überblick

Diese Strategie, die als “Gold-Cross-Death-Cross-Strategie” bezeichnet wird, basiert auf der Idee, die beiden starken technischen Indikatorsignale von Moving Averages Gold-Cross und Death-Cross in zwei verschiedenen Perioden zu nutzen, um eine Umkehrung der Markttrends zu erfassen und die Effekte von “Low-Buy-High-Sell” zu erreichen.

Strategieprinzip

In dieser Strategie berechnen wir einen einfachen Moving Average (SMA) mit 50 und 200 Perioden. Laut traditionellem Verständnis ist es ein Signal nach unten, wenn die 50-Tage-Linie von oben nach unten durch die 200-Tage-Linie fällt.

Die Handelslogik dieser Strategie besteht darin, eine Position auf der Grundlage dieser beiden Signale zu erstellen. Insbesondere wird die Strategie bei einem Antennen-Tod-Kreuzschlag leer und bei einem Antennen-Gold-Kreuzschlag überschattet. So kann man in der Nähe des Markttrend-Wendepunkts profitieren.

Darüber hinaus bietet die Strategie eine benutzerdefinierte Rückmessungs-Zeitrahmenfunktion. Dies ermöglicht es uns, die Strategie-Performance in verschiedenen Datumsbereichen zu testen und die tatsächliche Wirkung dieser Kreuzsignale zu entdecken.

Strategische Vorteile

  1. Umsetzungen von Markttrends zu erfassen, um Positionen in der Nähe von Schlüsseln zu eröffnen und zu gewinnen
  2. Vermeidung von Fehlsignalen durch die Kreuzung zweier unterschiedlicher Periodengrößen
  3. Bereitstellung von Feedback-Funktionen, um die tatsächliche Leistung der Strategie unter verschiedenen Marktbedingungen zu überprüfen
  4. Die Karte ist klar, man kann die Kreuzungen und Positionsänderungen intuitiv sehen.

Strategisches Risiko

  1. Die Rückstände bei der Messung von Durchschnittskreuzungen sind unvorhersehbar, was eine Umkehrung der Extreme bedeuten könnte.
  2. Die Rücklaufdaten können sich von den Daten auf der Plattform unterscheiden, wobei die tatsächliche Performance von den Transaktionskosten und -gleitpunkten abhängt.
  3. Die Auswahl von Strategieparametern wie der Durchschnittslinie hat einen großen Einfluss auf die Ergebnisse
  4. Es ist wichtig, sich auf die grundlegende Situation und die technische Situation zu konzentrieren, nicht auf mechanische Transaktionen.

Wir können die Mittelwertparameter an die Risiken anpassen, die Filtersignale in Kombination mit anderen Indikatoren, eine gute Kapitalverwaltung und eine virtuelle Validierungsstrategie anwenden, um das tatsächliche Risiko zu reduzieren.

Richtung der Strategieoptimierung

Die Strategie kann vor allem in folgenden Bereichen optimiert werden:

  1. Versuche, die Kombination verschiedener linearer Perioden zu testen
  2. Filterindikatoren wie Umsatz oder Schwankungen erhöhen, um gängige Wege zu vermeiden
  3. Das ist eine sehr wichtige Frage, die wir uns stellen müssen.
  4. Berücksichtigen Sie Stop-Loss-Strategien, wie beispielsweise Bewegungs- oder Zeit-Stopp
  5. Beurteilung der Wirkung von unterschiedlichen Positionszeiten

Durch das Testen der Auswirkungen verschiedener Parameter auf die Strategie-Performance können wir bessere Linear-Cross-Trading-Strategien finden.

Zusammenfassen

Die Strategie nutzt das klassische technische Indikatorsignal der Kreuzung von Moving Averages, um wichtige Wendepunkte zu erfassen. Die Strategie-Logik ist einfach und klar und bietet eine bequeme Rückmeldungsfunktion.

Strategiequellcode
/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("[S_R__9] - Death and Golden Cross", overlay=true)

// Specific Time Date Range For Backtest
startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31, group='DATE CONFIG')
startMonth = input.int(title='Start Month', defval=1, minval=1, maxval=12, group='DATE CONFIG')
startYear = input.int(title='Start Year', defval=2023, minval=1800, maxval=2100, group='DATE CONFIG')

endDate = input.int(title='End Date', defval=31, minval=1, maxval=31, group='DATE CONFIG')
endMonth = input.int(title='End Month', defval=12, minval=1, maxval=12, group='DATE CONFIG')
endYear = input.int(title='End Year', defval=2023, minval=1800, maxval=2100, group='DATE CONFIG')

SPECIFIC_DATE = input.bool(title='USE SPECIFIC DATE ?', defval=false, group='DATE CONFIG')

inDateRange = SPECIFIC_DATE ? time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0) and time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0) : true

// Calculate 50 SMA and 200 SMA
sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)

// Detect a Death Cross (50 SMA crossing below 200 SMA)
deathCross = ta.crossunder(sma50, sma200)
// Detect a Golden Cross (50 SMA crossing above 200 SMA)
goldenCross = ta.crossover(sma50, sma200)

// Strategy Execution
if (inDateRange)
    if (deathCross)
        strategy.entry("Death Cross long", strategy.short)

    if (goldenCross)
        strategy.entry("Golden Cross short", strategy.long)

// Plot SMAs
plot(sma50, color=color.red, title="50 SMA")
plot(sma200, color=color.blue, title="200 SMA")

// Plotting Death Cross signal
plotshape(series=deathCross and inDateRange, title="Death Cross Signal", location=location.belowbar, color=color.red, style=shape.labeldown, text="DEATH CROSS")

// Plotting Golden Cross signal
plotshape(series=goldenCross and inDateRange, title="Golden Cross Signal", location=location.abovebar, color=color.green, style=shape.labelup, text="GOLDEN CROSS")