Dynamische gleitende Durchschnittsstrategie zur Verfolgung des Goldstandardwerts


Erstellungsdatum: 2024-01-12 11:54:21 zuletzt geändert: 2024-01-12 11:54:21
Kopie: 1 Klicks: 593
1
konzentrieren Sie sich auf
1617
Anhänger

Dynamische gleitende Durchschnittsstrategie zur Verfolgung des Goldstandardwerts

Überblick

Diese Strategie nutzt die Öffnungs- und Schlusskosten des Vortages sowie die Kombination aus schnellen EMAs und langsamen EMAs, um die Wertrichtung des Marktes innerhalb eines vom Benutzer definierten Handelszeitraums zu beurteilen und entsprechende Kauf- oder Verkaufsaktionen durchzuführen. Die Strategie verwendet gleichzeitig einen Stop-Loss-Tracking, um Gewinne zu sichern oder Verluste zu begrenzen.

Strategieprinzip

Die Strategie basiert auf zwei Faktoren, die den Kurs der Goldbasis bestimmen:

  1. Der Schlusskurs des Vortags ist ein Rückgang im Verhältnis zum Eröffnungskurs. Wenn der Schlusskurs höher als der Eröffnungskurs ist, ist der Wert des Tages insgesamt gestiegen. Wenn der Schlusskurs niedriger als der Eröffnungskurs ist, ist der Wert des Tages insgesamt gesunken.

  2. Das Verhältnis zwischen dem EMA der schnellen Linie mit 50 und dem EMA der langsamen Linie mit 200 Perioden. Wenn die schnellen Linie über der langsamen Linie liegt, ist die kurzfristige Wertsteigerung höher als die langfristige Tendenz. Wenn die schnellen Linie unter der langsamen Linie liegt, ist die kurzfristige Wertsteigerung niedriger als die langfristige Tendenz.

Bei der Erfüllung der Mehrkauf-Bedingung wird eine Strategie für den Mehrkauf von Gold verwendet, wenn der Schlusskurs des Vortages höher ist als der Eröffnungskurs, der aktuelle Preis höher ist als der Eröffnungskurs des Vortages und der schnelle EMA höher ist als der langsame EMA und innerhalb der vom Benutzer definierten Handelszeit.

Wenn die Strategie die Leerlaufbedingungen erfüllt, wird der Leerlaufkurs verwendet, wenn der Schlusskurs des Vortages niedriger als der Eröffnungskurs ist, der aktuelle Kurs niedriger als der Eröffnungskurs des Vortages ist, der schnelle EMA niedriger als der langsame EMA ist und die Strategie innerhalb der vom Benutzer definierten Handelszeit besteht.

Darüber hinaus verwendet die Strategie einen Tracking-Stop, um Gewinne zu sichern oder Verluste zu begrenzen. Die Tracking-Stop-Distanz wird an die vom Benutzer festgelegte Anfangsdistanz und den von ihm eingestellten Schritt angepasst.

Analyse der Stärken

Die Strategie hat folgende Vorteile:

  1. Die Verwendung von mehreren Indikatoren zur Bestimmung der Wertrichtung des Goldkurses reduziert die Wahrscheinlichkeit eines Fehlhandels.

  2. Stopp-Tracking kann die Gewinne effektiv sperren und die Risiken reduzieren, wenn sich der Markt umkehrt.

  3. Der Benutzer kann den richtigen Handelsplatz wählen, je nachdem, wann er handelt, um zu vermeiden, dass er während des institutionellen Handelsprozesses eingesperrt wird.

  4. Die Periodizität der EMA kann an Marktveränderungen angepasst und optimiert werden, um die Strategie flexibler zu machen.

Risikoanalyse

Die Strategie birgt einige Risiken:

  1. Bei einem unerwarteten Ereignis kann die Strategie einen größeren Verlust verursachen. Dies erfordert eine manuelle Intervention oder ein lockerer Stopp-Distanz.

  2. Die EMA kann Marktlärm nicht vollständig filtern. Wenn die EMA falsche Signale erzeugt, werden unnötige Geschäfte ausgelöst. Die EMA-Parameter können entsprechend optimiert oder andere Filterindikatoren hinzugefügt werden.

  3. Die falsche Einstellung der Verlustdistanz erhöht auch das Risiko. Zu nahe ist es leicht, den Verlust zu verhindern; zu weit ist es unmöglich, den Verlust effektiv zu kontrollieren.

Optimierungsrichtung

Die Strategie kann auch in folgenden Bereichen optimiert werden:

  1. Das Hinzufügen von Filtersignalen für andere technische Indikatoren, wie MACD, Bollinger Bands usw., verringert die Wahrscheinlichkeit eines falschen EMA-Signals.

  2. Umwandlung von Tracking Stop in Adaptive Stop, mit intelligenter Anpassung der Stop-Distanz an die Marktschwankungen.

  3. Erweiterung der Positionsmanagement-Module, Risikokontrolle durch Positionsteilung und Verringerung der Einzelschäden.

  4. Mehr Machine-Learning-Modelle, um die Richtung von Trends zu bestimmen, und mehr historische Daten, um die Genauigkeit zu verbessern.

  5. Optimierung der Handelszeiträume in Kombination mit einer normalen Verteilung in Handelsprozessen mit höherer Beteiligung an der Auswahl der Strategie.

Zusammenfassen

Die Strategie als Ganzes ist eine typische Trend-Follow-Strategie. Sie kombiniert mehrere Indikatoren, um die Richtung der Tendenz zu bestimmen, in der der Wert steigt oder sinkt, und gehört zu den stabileren Strategietypen. Die Anwendung von Stop-Loss-Tracking ermöglicht es auch, Verluste effektiv zu kontrollieren. Durch die ständige Optimierung von Indikatoren und Stop-Loss-Regeln kann die Strategie eine bessere Balance zwischen Rendite und Risikokontrolle erreichen.

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

//@version=4
strategy("My Strategy", overlay=true)

// Inputs for user to modify
startHour = input(11, title="Start Hour")
endHour = input(16, title="End Hour")
trailingStop = input(100, title="Trailing Stop Start (pips)")
trailingStep = input(10, title="Trailing Step (pips)")

// Define the EMAs
longEma = ema(close, 200)
shortEma = ema(close, 50)

// Calculate daily open, high, low, close
daily_open = security(syminfo.tickerid, "D", open[1])
daily_close = security(syminfo.tickerid, "D", close[1])

// Time conditions
timeAllowed = (hour >= startHour) and (hour <= endHour)

// Define long condition based on your criteria
longCondition = (daily_close > daily_open) and (close > daily_open) and (shortEma > longEma) and timeAllowed

// Define short condition based on your criteria
shortCondition = (daily_close < daily_open) and (close < daily_open) and (shortEma < longEma) and timeAllowed

// Enter the trade
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trailing Stop Loss
strategy.exit("Exit Long", "Long", trail_points = trailingStop / syminfo.mintick, trail_offset = trailingStep / syminfo.mintick)
strategy.exit("Exit Short", "Short", trail_points = trailingStop / syminfo.mintick, trail_offset = trailingStep / syminfo.mintick)

// Plotting
plot(daily_open, color=color.red, title="Daily Open")
plot(longEma, color=color.blue, title="200 EMA")
plot(shortEma, color=color.orange, title="50 EMA")