Strategie zur Trendverfolgung mit gleitendem Durchschnitt


Erstellungsdatum: 2023-11-06 10:34:19 zuletzt geändert: 2023-11-06 10:34:19
Kopie: 0 Klicks: 721
1
konzentrieren Sie sich auf
1617
Anhänger

Strategie zur Trendverfolgung mit gleitendem Durchschnitt

Überblick

Eine Trend-Tracking-Strategie ist eine auf Moving Averages basierende Trend-Tracking-Trading-Strategie. Die Strategie nutzt die Kreuzung von Index-Moving Averages (EMA) und Schwingungs-Moving Averages (HMA), um die Richtung der Markttrends zu ermitteln und entsprechend Kauf- und Verkaufssignale zu erzeugen. Die Strategie ist für den Handel mit mittleren Kurzlinien-Trends geeignet, um die Preisentwicklung über längere Zeiträume zu verfolgen, anstatt kurzfristige Schwingungen.

Strategieprinzip

Die Strategie verwendet zwei verschiedene Moving Averages: eine kurzperiodische EMA und eine längerperiodische HMA. Die EMA reagiert schneller auf Preisänderungen, um kurzfristige Trends zu bestimmen; die HMA reagiert langsamer auf Preisänderungen, um die Richtung langfristiger Trends zu bestimmen.

Wenn die kurzfristige EMA die langfristige HMA durchbricht, wird die Strategie als Preis in den Aufwärtstrend angesehen und wird bei der nächsten K-Linie zum Marktpreis gekauft. Wenn die kurzfristige EMA die langfristige HMA durchbricht, wird die Strategie als Preis in den Abwärtstrend angesehen und wird bei der nächsten K-Linie zum Marktpreis verkauft.

Zur Optimierung der Markteintrittszeit wurde eine Option auf Heikin-Ashi-Basis hinzugefügt. Wenn diese Option aktiviert ist, basieren die Kauf- und Verkaufssignale der Strategie auf der Heikin-Ashi-Linie und nicht auf der ursprünglichen K-Linie. Da die Heikin-Ashi-Linie die ursprüngliche K-Linie des Oszillators filtert, hilft dies, falsche Signale zu reduzieren.

Die Strategie enthält auch eine Stop-Loss-Einstellung. Die Strategie wird mit dem Marktpreis gestoppt, wenn die Haltungsverluste die vorgegebene Stop-Loss-Marge erreichen. Dieser Schritt begrenzt den maximalen Verlust für einen einzelnen Handel.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Die Verwendung der EMA und der HMA, um die Richtung der Trends zu bestimmen, kann die Vorteile der verschiedenen Periodendurchschnitte nutzen, um die Genauigkeit der Beurteilung zu verbessern.

  2. Auf Basis von Trend-Trading kann man unnötige Transaktionen reduzieren, indem man seine Positionen nicht mit kleinen Schwankungen umkehrt.

  3. Die Heikin-Ashi-Option filtert falsche Signale und optimiert die Markteintrittszeit.

  4. Die Verwendung einer mobilen Stop-Loss-Strategie kann den maximalen Verlust eines einzelnen Handels effektiv kontrollieren.

  5. Die Strategieparameter sind individuell anpassbar, sodass der Benutzer sie an unterschiedliche Sorten und Zyklen anpassen kann, um die Anpassung zu verbessern.

Risikoanalyse

Die Strategie birgt auch folgende Risiken:

  1. Als Trend-Tracking-Strategie hat sich der Gesamtmarkt schlechter entwickelt.

  2. Es ist nicht nur eine Frage der Verluste, sondern auch der Schaden, wenn sich der Trend umkehrt.

  3. Eine falsche Stop-Loss-Einstellung kann zu unnötigen Stop-Losses führen oder zu Verlustvergrößerungen führen.

  4. Die falsche Einstellung der Parameter kann auch zu häufigen oder vollständigen Transaktionsstörungen führen.

  5. Die EMA- und HMA-Zyklus-Einstellungen müssen für verschiedene Sorten und Zyklen optimiert werden.

  6. Heikin-Ashi ist nicht in der Lage, die Gefahr eines falschen Durchbruchs zu filtern.

Optimierungsrichtung

Die Strategie kann optimiert werden durch:

  1. Die Verwendung von mehreren Indikatoren, wie MACD, KDJ und anderen, verbessert die Genauigkeit der Urteile.

  2. Weitere Filterbedingungen, wie Umsatz, ATR und andere Indikatoren, reduzieren die Wahrscheinlichkeit eines falschen Durchbruchs.

  3. Optimierung der Parameter für die Moving Averages, um sie besser an die verschiedenen Sorten und Handelszyklen anzupassen.

  4. Optimieren Sie die Einstellungen für die Stop-Loss-Werte, um die Stop-Loss-Werte zu optimieren und zu verhindern, dass sie zu locker oder zu steif sind.

  5. Erwägen Sie, Gewinnschutzfunktionen, wie z. B. mobile Stopps, partielle Stopps, etc. hinzuzufügen, um Gewinne zu sperren.

  6. Verschiedene alternative Methoden zur Berechnung der Lagerhaltungskosten werden getestet, um die Berechnung zu optimieren.

Zusammenfassen

Die Trend-Tracking-Strategie basiert auf der Kreuzung von Moving Averages, um die Richtung der Trends zu bestimmen. Die Heikin-Ashi-Strategie und der Moving Stop-Strategie werden verwendet, um die Strategie zu optimieren. Die Strategie eignet sich für die Verfolgung von mittleren Longline-Trends und kann durch Parameteroptimierung und Funktionserweiterung die Strategiewirkung weiter verbessern.

Strategiequellcode
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("𝐉𝐔𝐈𝐂𝐘 𝐓𝐑𝐄𝐍𝐃", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=15)

//Heikin Ashi Option
ha = input(true, title = "Heikin Ashi Source")
src = ha ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, barmerge.gaps_off, barmerge.lookahead_off) : close
usestoploss = input(true, title="Stop Loss")

//EMA
len1 = input.int(9, minval=1, title="EMA Length")
ema = ta.ema(src, len1)
emaline = plot(ema, title="EMA", color=color.blue, linewidth=2)

//HMA
len2 = input.int(69, minval=1, title="HMA Length")
hma = ta.wma(2*ta.wma(src, len2/2)-ta.wma(src, len2), math.floor(math.sqrt(len2)))
hmaline = plot(hma, title="HMA", color=color.purple, linewidth=2)
fillcolor = hma < ema ? color.blue : color.purple
fill(emaline, hmaline, title="EMA Fill", color=color.new(fillcolor, 80), editable=true)

//Stop Loss Conditions
stoplosspercent = input.float(title="Stop Loss (%)", defval=-6.5, minval=-50, maxval=0, step=.1) / 100
stoploss = strategy.position_avg_price * (1 + stoplosspercent)
stop = stoploss > close and stoploss[1] < close[1] and strategy.position_size > 0 and usestoploss

//Buy Sell Conditions
buy = hma < ema
sell = hma > ema

//Trades and Alerts
if buy
	strategy.entry("Long Position", strategy.long, comment="BUY")
//	alert("{\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar)
if sell and strategy.openprofit > 0
	strategy.close("Long Position", comment="SELL")
//	alert("{\n\"action\": \"close_at_market_price\",\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar)
if stop
    strategy.close("Long Position", comment="STOP")
//    alert("{\n\"action\": \"close_at_market_price\",\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar)

//Alternate Labels
var pos = 0
if buy and pos <= 0
    pos := 1
if sell and pos >= 0
    pos := -1
buylabel  = pos ==  1 and (pos !=  1)[1]
selllabel = pos == -1 and (pos != -1)[1]

//Plot Labels
plotshape(buylabel,  style=shape.labelup,   location=location.belowbar, color=color.blue,   text="BUY",  textcolor=color.white, size=size.tiny)
plotshape(selllabel, style=shape.labeldown, location=location.abovebar, color=color.purple, text="SELL", textcolor=color.white, size=size.tiny)
plotshape(stop,      style=shape.labeldown, location=location.abovebar, color=color.yellow, text="STOP", textcolor=color.white, size=size.tiny)