Trendfolgestrategien basierend auf gleitenden Durchschnitten


Erstellungsdatum: 2024-01-22 17:26:04 zuletzt geändert: 2024-01-22 17:26:04
Kopie: 0 Klicks: 575
1
konzentrieren Sie sich auf
1617
Anhänger

Trendfolgestrategien basierend auf gleitenden Durchschnitten

Überblick

Diese Strategie verwendet schnelle und langsame Moving Averages, um Handelssignale zu erstellen und Trends zu erkennen und zu verfolgen. Sie erzeugt ein Kaufsignal, wenn eine schnelle Linie eine langsame Linie durchquert. Sie erzeugt ein Verkaufsignal, wenn eine schnelle Linie eine langsame Linie unterhalb durchquert.

Strategieprinzip

Die Strategie verwendet zwei Exponential Moving Averages mit unterschiedlichen Perioden als Grundlage für ihre Handelsentscheidungen. Die schnelle Moving Average-Parameter sind auf 30 Tage gesetzt, um kurzfristige Preisänderungen zu erfassen. Die langsame Moving Average-Parameter sind auf 100 Tage gesetzt, um die Richtung der langen Trendlinie in den Preisen zu bestimmen.

Wenn die schnelle Linie von unten durch die langsame Linie geht, bedeutet dies, dass der Markt einen Aufwärtstrend eingeht und ein Kaufsignal erzeugt. Wenn die schnelle Linie von oben durch die langsame Linie geht, bedeutet dies, dass der Markt einen Abwärtstrend eingeht und ein Verkaufssignal erzeugt.

Strategische Vorteile

Diese Strategie hat folgende Vorteile:

  1. Aufbauend auf einer Gleichlinie kann der kurzfristige Marktlärm effizient ausgeschaltet werden.
  2. Mit der Strategie der Doppel-Einheitlichkeit kann man die Richtung der Trends genau bestimmen.
  3. Um die Parameter zu optimieren, können Sie schnelle und langsame Durchschnittszeiträume anpassen.
  4. Mit der Funktion, mittel-langfristige Trends und kurzfristige Anpassungen zu verfolgen.
  5. Die Regeln sind einfach, klar, leicht zu verstehen und für Anfänger geeignet.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Wenn der Preis horizontal ausgerichtet wird, kann ein falsches Handelssignal erzeugt werden. Das Risiko kann durch die Optimierung der Durchschnittsparameter verringert werden.
  2. Es ist unmöglich, die außergewöhnlichen Situationen mit starken Preisschwankungen effektiv zu beurteilen und zu behandeln. Stop-Losses können eingesetzt werden, um das Risiko zu kontrollieren.
  3. Die mittellinien-Systeme sind an sich rückständig und können die Preiswendepunkte verpassen. Sie können in Kombination mit anderen Indikatoren optimiert werden.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Optimierung der Periodizität der Durchschnittslinie, um die Ertragswirksamkeit zu verbessern.
  2. Es wurden weitere Indikatoren, wie beispielsweise der Volumenindex, hinzugefügt, um falsche Durchbrüche zu vermeiden.
  3. Erhöhen Sie Ihre Stop-Loss-Strategie und kontrollieren Sie Ihre Einzelschäden.
  4. In Kombination mit Trendindikatoren wird die Stärke des Trends beurteilt und eine Trendwende vermieden.
  5. Die Optimierung der Parameter wurde hinzugefügt, um eine allgemeinere Anwendung der Strategien zu ermöglichen.

Zusammenfassen

Die Strategie basiert auf einer binären Gleichgewichts-Strategie, um die Markttrends anhand der Preisbeziehungen zwischen schnellen und langsamen Durchschnittskurven zu beurteilen. Die Signaler werden einfach und klar erzeugt. Die Strategie filtert einen Teil des Rauschs und ist für den Handel mit mittleren und langen Trends geeignet.

Strategiequellcode
/*backtest
start: 2023-01-21 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("EMA Strategy v2", shorttitle = "EMA Strategy v2", 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 = 30, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 100, 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 = 0, title = "Initial Stop Loss Points", minval = 1)
useTS       = input(defval = true, title = "Use Trailing Stop?")
tslPoints   = input(defval = 0, title = "Trail Points", minval = 1)
useTSO      = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset   = input(defval = 0, 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.58)