EMA-Trendfolge-Handelsstrategie


Erstellungsdatum: 2023-09-19 19:38:53 zuletzt geändert: 2023-09-19 19:38:53
Kopie: 0 Klicks: 793
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Diese Strategie ist eine typische EMA-Trend-Tracking-Strategie. Sie verwendet die Goldforke der schnellen EMA und der langsamen EMA, um zu beurteilen, ob der Kurs in einen Aufwärtstrend eingetreten ist, und die Todesforke der schnellen EMA und der langsamen EMA, um zu beurteilen, ob der Kurs in einen Abwärtstrend eingetreten ist.

Strategieprinzip

Die Kernlogik der Strategie lautet:

  1. Berechnen Sie schnelle EMAs, z. B. 12-Zyklus-EMAs
  2. Berechnung eines langsamen EMAs, z. B. eines 26-Zyklus-EMA
  3. Wenn ein schneller EMA einen langsameren EMA durchläuft, wird dies als Aufwärtstrend beurteilt und mehr Einstieg getätigt
  4. Wenn ein schneller EMA durch einen langsameren EMA fällt, wird er als Abwärtstrend bewertet und der Kurs wird kurzgefahren
  5. Bevor der Umkehrtrend eintritt, wird die aktuelle Haltung ausgeglichen, wenn die schnelle EMA wieder mit der langsamen EMA verknüpft wird

Durch die Berechnung von EMAs mit unterschiedlichen Geschwindigkeiten können Änderungen der Markttrends effektiv erkannt werden. Schnelle EMAs sind empfindlicher auf Preisänderungen und helfen, neue Trends frühzeitig zu entdecken. Langsame EMAs können falsche Signale filtern und sicherstellen, dass Trends bestätigt wurden.

Wenn zwei EMAs Goldfork auftreten, zeigt, dass der Preis beginnt zu steigen, sollte mehrere Richtungen eingerichtet werden; wenn ein Todesfork auftritt, beginnt der Preis zu sinken, sollte eine Leerrichtung eingerichtet werden. Durch die Wiederherstellung des Todesforks des schnellen EMAs, um aus der aktuellen Position auszusteigen, kann der Verlust rechtzeitig gestoppt werden, um die Verluste zu vermeiden.

Strategische Vorteile

  • EMAs helfen bei der Identifizierung langfristiger Markttrends
  • Die EMA arbeitet schnell mit einem zuverlässigen Trendsystem zusammen
  • Strategie ist einfach zu verstehen und umzusetzen
  • Konfiguration der EMA-Parameter für verschiedene Handelsarten
  • Schnelle EMA-Stoppschäden, effektive Risikokontrolle

Strategische Risiken und Maßnahmen

  • Es ist unmöglich, eine Trendwende im Voraus vorherzusagen, und es gibt einen gewissen Verlust.
  • Die falsche Einstellung der EMA-Parameter kann einen Trendwechselpunkt verpassen
  • Die EMA-Parameter müssen zeitnah an Marktveränderungen angepasst werden.

Wie man damit umgeht:

  1. Verlust im Konfigurationsbereich, um einen großen Einzelschaden zu vermeiden
  2. In Kombination mit anderen Indikatoren, die eine potenzielle Trendwende ermitteln
  3. Optimierung der Parameterkonfiguration und Verbesserung der Trenderkennung

Richtung der Strategieoptimierung

Die Strategie kann in folgenden Bereichen erweitert und optimiert werden:

  1. Automatische Optimierung der EMA-Parameter mit Hilfe von Machine Learning-Methoden zur Verbesserung der Adaptabilität der Parameter

  2. Erhöhung der Volatilitäts-basierten Positionsanpassungen, Anpassung der Positionen an die Marktvolatilität

  3. Zeitpunkte für lokale Anpassungen, um Einstiegsplätze zu optimieren

  4. Stop-Loss-Strategien wie die Erhöhung der mobilen Stop-Loss-Strategien und die Anpassung der Stop-Loss-Strategien nach Gewinn

  5. Analyse der Veränderung der Transaktionsvolumen, um die Ein- und Ausflüsse zu ermitteln und Trends zu bestimmen

  6. Kombination mit anderen nicht relevanten Strategien zur Verringerung der Rückgänge und zur Steigerung der Stabilität der Gesamteinnahmen

Zusammenfassen

Die EMA-Trend-Tracking-Strategie ist eine einfache und praktische Trend-Follow-Strategie. Sie nutzt die langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen langfristigen lang

Strategiequellcode
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © HomoDeus666

//@version=5

strategy("EMA12/26 with date backtest range (BTCpair)", overlay=true,initial_capital = 1,commission_type = strategy.commission.percent,currency = currency.BTC)

//input date and time
useDateFilter = input.bool(true, title="Filter Date Range of Backtest",
     group="Backtest Time Period")
backtestStartDate = input(timestamp("1 Jan 2021"), 
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("1 Jan 2022"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
     
//check date and time option
inTradeWindow =  true
/// plot and indicator
fastEMA = ta.ema(close,12), slowEMA=ta.ema(close,26)
plot(fastEMA,color=color.green,linewidth = 2)
plot(slowEMA,color=color.red,linewidth=2)

//entry when condition
longCondition = ta.crossover(fastEMA,slowEMA)
if (longCondition) and inTradeWindow
    strategy.entry("buy", strategy.long)

if ta.crossunder(ta.ema(close, 12), ta.ema(close, 26)) and inTradeWindow
    strategy.close("buy")
    
// trades and cancel all unfilled pending orders
if not inTradeWindow and inTradeWindow[1]
    strategy.cancel_all()
    strategy.close_all(comment="Date Range Exit")