Drei EMA-Strategie nach dem Trend

Schriftsteller:ChaoZhang, Datum: 2023-11-10 11:45:30
Tags:

img

Übersicht

Die Three EMA Trend Following Strategie beurteilt die Kursentwicklungsrichtung durch Berechnung von EMA-Linien aus verschiedenen Perioden und folgt automatisch dem Trend.

Strategie Logik

Diese Strategie berechnet drei EMA-Linien mit unterschiedlichen Perioden, insbesondere 10-Perioden-, 20-Perioden- und 30-Perioden-EMA.

Die Kernlogik besteht darin, die Richtungskonsistenz der drei EMA-Linien zu beurteilen. Wenn alle drei EMA-Linien zusammen steigen, wird ein langes Signal erzeugt. Wenn alle drei Linien zusammenfallen, wird ein kurzes Signal erzeugt.

Wenn ema1, ema2 und ema3 alle in der letzten Zeile steigen, wird enter_long wahr und ein langes Signal erzeugt.

Auf der Grundlage der langen und kurzen Signale öffnet die Strategie die entsprechenden langen und kurzen Positionen. Die Exit-Logik ist gegenüber den Eintrittssignalen. Wenn ema1, ema2 und ema3 nicht zusammen in der aktuellen Bar steigen, wird exit_long wahr und die lange Position wird geschlossen. Wenn ema1, ema2 und ema3 nicht zusammen in der aktuellen Bar fallen, wird exit_short wahr und die kurze Position wird geschlossen.

Durch die Beurteilung der Richtungskonsistenz der drei EMA-Linien kann der allgemeine Trend ermittelt und verfolgt werden.

Vorteile

  • Die Verwendung von drei EMA-Linien kann die Trendrichtung zuverlässiger beurteilen als eine einzelne Linie.

  • Die EMA ist empfindlicher auf Preisänderungen und kann eine Trendumkehr im Laufe der Zeit widerspiegeln.

  • Die Kombination der verschiedenen EMA-Perioden berücksichtigt sowohl den kurzfristigen als auch den mittelfristigen Trend.

  • Die Strategie Logik ist einfach und leicht verständlich, für Anfänger geeignet. Auch die Parameter haben großen Optimierungsraum für verschiedene Instrumente.

  • Die Strategie basiert ausschließlich auf EMA-Linien, benötigt weniger Ressourcen und eignet sich für hohe Konkurrenz.

Risiken

  • Eine konsequente Orientierung der EMA-Linie ist notwendig, aber nicht ausreichend, um den Trend zu beurteilen.

  • Die EMA-Linien sind in der Trendwende zurückgeblieben und können keine Wendepunkte in der Zeit widerspiegeln, was zu Verlusten führen kann.

  • Die EMA ist empfindlich gegenüber Kursänderungen, häufige Long-Short-Flips können die Transaktionskosten erhöhen.

  • Die Strategie ist in einem variablen, volatilen Markt, auf dem die EMA-Linien häufig schwanken, unwirksam.

  • Kann die EMA-Periodendifferenz optimieren, um falsche Signale zu reduzieren oder andere Indikatoren hinzufügen, um gefälschte Ausbrüche zu filtern.

  • Hinzufügen von Momentum-Indikatoren, um den tatsächlichen Trend zu bestätigen und Wendepunkte zu identifizieren, um Verluste zu reduzieren.

  • Vergrößern Sie die EMA-Perioden, um die Frequenz der Positionswechsel zu reduzieren, oder verwenden Sie andere MA-Indikatoren.

  • Strategie aussetzen, wenn ein Markt in der Bandbreite identifiziert wird, und unnötige Trades vermeiden.

Optimierung

  • Periodenanpassung: Anpassung der EMA-Perioden an verschiedene Instrumente.

  • Hinzufügen von Filtern: Hinzufügen von MA, BOLL usw., um gefälschte EMA-Ausbrüche zu vermeiden.

  • Stop-Loss: Nachfolgender Stop, um Gewinne zu erzielen.

  • Risikomanagement: Optimieren Sie die Positionsgröße, um die Auswirkungen einzelner Verluste zu begrenzen.

  • Marktregime: Verwenden Sie die Volatilität, um die Schwankungen zu messen und das Engagement der Strategie zu steuern.

  • Adaptive Parameter: Automatische Optimierung von EMA-Perioden basierend auf Marktveränderungen zur Verbesserung der Robustheit.

Schlussfolgerung

Die Three EMA Trend Following Strategie handelt durch die Identifizierung der Trendrichtung über EMA Linien. Sie ist einfach und praktisch mit großem Optimierungsraum. Es sollten Risiken wie falsche Ausbrüche und Oszillationen beachtet werden. Mit kontinuierlichen Optimierungen kann diese Strategie zu einer robusten Trend Following Lösung werden.


/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1d
basePeriod: 1h
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/
// © QuantCT

//@version=4
strategy("PMA Strategy Idea",
         shorttitle="PMA", 
         overlay=true,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.075)
         
// ____ Inputs

ema1_period = input(title="EMA1 Period", defval=10)
ema2_period = input(title="EMA2 Period", defval=20)
ema3_period = input(title="EMA3 Period", defval=30)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

ema1 = ema(hlc3, ema1_period)
ema2 = ema(hlc3, ema2_period)
ema3 = ema(hlc3, ema3_period)
    
enter_long = (rising(ema1, 1) and rising(ema2, 1) and rising(ema3, 1))
exit_long = not enter_long
enter_short = (falling(ema1, 1) and falling(ema2, 1) and falling(ema3, 1))
exit_short = not enter_short

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 

// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)

// ____ Plots

colors = 
 enter_long ? #27D600 :
 enter_short ? #E30202 :
 color.orange

ema1_plot = plot(ema1, color=colors)
ema2_plot = plot(ema2, color=colors)
ema3_plot = plot(ema3, color=colors)
fill(ema1_plot, ema3_plot, color=colors, transp=50)


Mehr