Eine Handelsstrategie, die auf zwei sich allmählich ändernden gleitenden Durchschnitten mit unterschiedlichen Parametern basiert


Erstellungsdatum: 2023-12-20 14:28:36 zuletzt geändert: 2023-12-20 14:28:36
Kopie: 0 Klicks: 660
1
konzentrieren Sie sich auf
1621
Anhänger

Eine Handelsstrategie, die auf zwei sich allmählich ändernden gleitenden Durchschnitten mit unterschiedlichen Parametern basiert

Überblick

Eine EMA-Strategie ist eine Handelsstrategie, die auf dem Kreuzungssignal eines exponentiellen Moving Averages (EMA) basiert, der auf zwei verschiedenen Parameter-Sets basiert. Sie verwendet eine EMA-Strategie mit einer kürzeren Periode und eine EMA-Strategie mit einer längeren Periode, die ein Handelssignal erzeugt, wenn sie sich kreuzen, indem die Schnelle Linie nach oben über die Langleine geht und die Position nach unten platziert. Die Strategie kombiniert auch Risikomanagementmethoden wie Stop-Loss-Tracking und Stop-Loss-Tracking, um Gewinne und Risiken zu blockieren.

Strategieprinzip

Die Kernindikatoren der Strategie sind zwei EMA-Linien: die Schnelle und die Langsame. Die Schnelle-Parameter sind standardmäßig auf die 13-Tage-Linie eingestellt, um auf Preisänderungen zu reagieren. Die Langsame-Parameter sind standardmäßig auf die 48-Tage-Linie eingestellt, um auf Preisänderungen zu reagieren.

Nach diesem Prinzip, die Strategie zu tun, wenn die schnelle Linie von unten nach oben brechen die langsame Linie, was bedeutet, dass der Preis beginnt zu steigen, kaufen; wenn die schnelle Linie von oben nach unten brechen die langsame Linie, was bedeutet, dass der Aufwärtstrend beendet ist, sollte der Stop-and-Stop in der richtigen Zeit eingefroren werden. Zur Risikokontrolle, die Strategie hat auch eine anfängliche Stop-Loss und Tracking-Stop-Loss: die anfängliche Stop-Loss-Distanz ist 8% des Einstiegspreises, die Tracking-Stop-Loss-Distanz ist 120 Punkte.

In der Code-Implementierung ermittelt die Strategie EMA-Kreuzsignale durch die Funktionen Crossover und Crossunder, die bei einem Crossover den entsprechenden Entry und Close auslösen, um eine Kauf- und Friedensposition zu erwirken.

Analyse der Stärken

Eine schrittweise lineare Handelsstrategie hat folgende Vorteile:

  1. Strategie-Signale sind einfach, klar, leicht zu verstehen und für Anfänger geeignet.

  2. Der mittlere Indikator wirkt gut auf Marktgeräusche und kann Trends erkennen.

  3. Die Konfigurationsfähigkeit ist hoch, die Schnell- und Langzeitparameter und die Stop-Loss-Punkte können individuell eingestellt werden.

  4. In Kombination mit Stop-Loss-Methoden können Risiken wirksam kontrolliert werden.

  5. Es gibt eine gewisse Stabilität

Risikoanalyse

Die Strategie birgt auch Risiken:

  1. Bei starken Marktschwankungen kann das EMA-Kreuzsignal verzögert sein und nicht in der Lage sein, die Preisänderungen rechtzeitig zu reflektieren.

  2. Zu schnelle Anpassung der Parameter des Mittellinienindikators kann zu weiteren Fehlsignalen führen;

  3. Bei schwachen Trends gibt es weniger EMA-Kreuzungen, die die Preisentwicklung nicht effektiv erfassen können.

  4. Die Strategie selbst berücksichtigt keine Trendanalyse auf der großen Ebene und ist anfällig für Trades, die von den großen Trends abweichen, wenn die Gesamttrends des Marktes unklar sind.

Diese Risiken können durch folgende Maßnahmen gemindert werden:

  1. In Kombination mit anderen Indikatoren zur Bestätigung von Mesolinienkreuzungen wie MACD, KD usw.

  2. Anpassung der EMA-Parameter an den jeweiligen Markt, um die Fehlsignalrate zu reduzieren;

  3. Hinzufügen von Modulen zur Trendbeurteilung, die auf die langfristige Durchschnittslinie zurückgreifen, um die Richtung der Gesamtlage zu bestimmen.

Optimierungsrichtung

Die Strategie kann in folgenden Richtungen optimiert werden:

  1. Erhöhung der Filter für die Eröffnung von Positionen, um unnötige Transaktionen in schwankenden Zeiten zu vermeiden. Die Schwelle für die Eröffnung von Positionen kann in Kombination mit Indikatoren wie Volatilität und Transaktionsvolumen festgelegt werden.

  2. Um die Stop-Loss-Stop-Position in Verbindung mit den Höhen und Tiefen des Marktes, der Unterstützung usw. zu bestimmen, erhöhen Sie die Präzision der Stop-Loss-Stop;

  3. Ein zusätzliches Modul zur Trendbeurteilung, um kurzfristige Signale mit langfristigen Trends in höheren Zeitrahmen zu filtern und Abweichungen von großen Trends zu vermeiden.

  4. Die EMA-Parameter können durch maschinelles Lernen trainiert und optimiert werden, um sie besser für die tatsächlichen Marktsituationen geeignet zu machen und die Fehlsignalrate zu reduzieren.

Die oben genannten Punkte sind die wichtigsten Punkte, in denen die Strategie in Zukunft verbessert und optimiert werden kann. Die entsprechende Kombination von mehr Indikatoren und Risikomanagementinstrumenten wird die Wirksamkeit der EMA-Kreuzung verbessern.

Zusammenfassen

Die schrittweise Durchschnittslinie-Handelsstrategie ist eine grundlegende Trend-Follow-Strategie. Sie verwendet die EMA-Schnell- und Schnelllinie-Kreuzung, um die Preisentwicklung zu beurteilen, und kombiniert mit Stop-Loss-Methoden, um das Risiko zu kontrollieren. Die Strategie-Signal ist einfach, klar und leicht zu verstehen, besonders geeignet für Anfänger, und ist eine der typischen Strategien für die quantitative Einführung.

Strategiequellcode
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// *** USE AT YOUR OWN RISK ***
// 
strategy("EMA Strategy", shorttitle = "EMA Strategy", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 10)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 13, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 48, title = "Slow MA Period", minval = 1)

// invert trade direction
tradeInvert = input(defval = false, title = "Invert Trade Direction?")
// risk management
useStop     = input(defval = true, title = "Use Initial Stop Loss?")
slPoints    = input(defval = 25, title = "Initial Stop Loss Points", minval = 1)
useTS       = input(defval = true, title = "Use Trailing Stop?")
tslPoints   = input(defval = 120, title = "Trail Points", minval = 1)
useTSO      = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset   = input(defval = 20, title = "Trail Offset Points", minval = 1)

// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(fastMA, slowMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())

if (useStop)
    strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08 )
    strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.08)