
Die Strategie basiert auf dem Gold- und Dead-Fork-Moving-Average (EMA) zweier Indizes, um ein Handelssignal zu erzeugen. Insbesondere berechnet die Strategie ein 50-Zyklus-EMA und ein 200-Zyklus-EMA, um ein Kaufsignal zu erzeugen, wenn ein langfristiger EMA (langfristige EMA) auf einem kurzfristigen EMA (langfristige EMA) übertragen wird.
Berechnen Sie zwei Index-Moving Averages: die 50-Zyklus-EMA und die 200-Zyklus-EMA. Die EMA gibt den jüngsten Daten mehr Gewicht und ist empfindlicher für kurzfristige Preisänderungen.
Das sind die wichtigsten Faktoren, die den Handel beeinflussen.
Handel nach Signalen: Kaufen Sie ein Signal mit einem Plus, verkaufen Sie ein Signal mit einem Minus
EMAs und Handelssignale werden auf einem Diagramm dargestellt, um eine intuitive Einschätzung zu ermöglichen.
Diese Strategie hat folgende Vorteile:
Es ist besonders gut geeignet, Trends und Marktreformen zu erfassen.
Die Regeln für die Entscheidungsfindung sind einfach, klar und einfach umzusetzen und zu überprüfen.
Die EMA greift die Preisdaten, um Trendsignale zu erkennen und Geräusche zu beseitigen.
Anpassbare EMA-Zyklen für unterschiedliche Positionszyklen.
In Kombination mit anderen Indikatoren können die Signale weiter gefiltert und die Strategien optimiert werden.
Die Strategie birgt auch einige Risiken:
In einem wackligen Markt kann es zu mehr Fehlsignalen und zu vielen ungültigen Transaktionen kommen.
Robust ist schlechter, wenn man sich nur auf ein einziges Kennzeichen stützt.
Es besteht die Gefahr, dass sich die Verluste ausweiten, wenn die Stop-Loss-Regeln nicht berücksichtigt werden.
Die EMA hat die Möglichkeit, dass die Verzögerung die besten Punkte für die Teilnahme an den Preisveränderungen verpasst.
Die optimale Parameter werden durch Rückprüfungen ermittelt. Die Leistung der Festplatte kann von den Rückprüfungen abweichen.
Entsprechende Risikokontroll- und Optimierungsmaßnahmen umfassen: Filtersignale in Kombination mit anderen Indikatoren, Einrichtung von Stop-Loss-Mechanismen, Einführung von Machine-Learning-Modellen usw.
Die Strategie kann in folgenden Bereichen optimiert werden:
In Kombination mit anderen Indikatoren (wie MACD, KD usw.) wird ein Multifaktormodell realisiert, um die Robustheit der Strategie zu verbessern.
Einschließung von Stop-Loss-Mechanismen, z. B. Einrichtung eines festen Stop-Loss-Prozentsatzes oder eines freien Stop-Losses. Kontrolle des maximalen Verlustes für einen einzelnen Handel.
Mit Hilfe von maschinellen Lernmethoden erhalten Sie optimale Parameter. Verbesserte Signalurteilsregeln. Steigerung der Stabilität der Strategie.
Die optimale EMA-Zykluskombination wird anhand der Rückmeldungen festgelegt. Die Parameter werden an die Marktbedingungen angepasst.
Bewertung der Auswirkungen der Transaktionskosten Hinzufügung von Slip-Point-Modellen und Berücksichtigung von Gebühren Optimierung der Positionsverwaltung
Diese Strategie ist insgesamt eine eher klassische, einfache und bahnbrechende Handelsstrategie. Die Entscheidungsfindungsregeln basieren auf EMA-Indikatoren. Obwohl sie zeitlich wirksam sind, gibt es einige Mängel und Optimierungsmöglichkeiten. Wie man die Signalurteilung, die Risikokontrolle und die dynamische Kommissionierung verbessert, ist ein weiterer wichtiger Aspekt, der die stabile Profitabilität der Strategie im realen Markt erheblich verbessern wird.
/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Golden Crossover Strategy", overlay=true)
// Input parameters
fastLength = input(50, title="Fast EMA Length")
slowLength = input(200, title="Slow EMA Length")
// Calculate EMAs using ta.ema
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
// Strategy logic
longCondition = ta.crossover(fastEMA, slowEMA)
shortCondition = ta.crossunder(fastEMA, slowEMA)
// Execute orders
if (longCondition)
strategy.entry("Buy", strategy.long)
if (shortCondition)
strategy.entry("Sell", strategy.short)
// Plot buy and sell signals on the chart
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)