Strategie für die Verlagerung des gleitenden Durchschnitts

Schriftsteller:ChaoZhang, Datum: 2023-10-17 16:46:57
Tags:

img

Übersicht

Diese Strategie ist eine auf gleitenden Durchschnitten basierende Trendfolgestrategie, bei der der Crossover und Crossunder von schnellen und langsamen gleitenden Durchschnitten verwendet werden, um die Trendrichtung für den Trendhandel mit geringem Risiko zu bestimmen.

Strategie Logik

Die Strategie verwendet einen schnellen gleitenden Durchschnitt der Periode 9 und einen langsamen gleitenden Durchschnitt der Periode 21. Wenn der schnelle MA über den langsamen MA überschreitet, signalisiert er einen Aufwärtstrend auf dem Markt und eine Long-Position wird eingenommen.

Im Einzelnen berechnet die Strategie die Werte der schnellen und langsamen MA und vergleicht ihre Beziehung, um die Trendrichtung zu bestimmen. In einem Aufwärtstrend wird ein langes Eintrittssignal ausgelöst, wenn der schnelle MA über die langsame MA überschreitet. In einem Abwärtstrend, wenn der schnelle MA unter die langsame MA überschreitet, wird ein Ausstiegssignal ausgelöst, um die vorhandene Long-Position zu schließen.

Auf diese Weise erfasst der Crossover und Crossunder der schnellen und der langsamen MAs Trendübergänge für einen Trend mit geringem Risiko nach dem Handel.

Vorteile

  • Die Verwendung gleitender Durchschnitte zur Bestimmung des Trends filtert Marktlärm aus und identifiziert die Trendrichtung
  • Der schnelle MA erfasst Trendänderungen schneller, während der langsame MA falsche Signale ausfiltert
  • Durch die Verwendung von Crossover zum Kaufen und Crossunder zum Verkaufen wird vermieden, die Spitzen zu jagen und die Unteren zu verkaufen
  • Einfache und klare Handelslogik, leicht zu verstehen und umzusetzen

Risiken

  • Gleitende Durchschnitte weisen Verzögerungen auf und können bei Trendübergängen die besten Ein-/Ausgangspunkte verpassen
  • Festgelegte MA-Längen können sich nicht an unterschiedliche Marktzyklen anpassen
  • Bei Dual-MA-Strategien entstehen in der Regel übermäßige Handelssignale und Überanpassung.
  • Die Verwendung von nur MAs zur Bestimmung von Geschäften ist anfällig für plötzliche Ereignisse und Verluste

Die Risiken können gemanagt werden, indem Parameter angepasst, Filter hinzugefügt, Stop-Loss/Take-Profit durchgeführt werden.

Verbesserungsrichtlinien

  • Versuche verschiedene Parameter-Einstellungen wie MA-Längen, Crossover-/Crossunder-Schwellenwerte usw.
  • Hinzufügen von Schwungindikatoren als Filter, um falsche Ausbrüche zu vermeiden
  • Hinzufügen von Trendindikatoren zur Unterscheidung von Trend- und Rangierungsmärkten
  • Einbeziehung von Volatilitätsmetriken zur Optimierung von Stops und Gewinnen
  • Maschinelles Lernen zur dynamischen Optimierung von Parametern

Zusammenfassung

Als eine einfache Trendfolging-Strategie besteht die Kernidee darin, schnelle und langsame MA zu verwenden, um die Trendrichtung zu bestimmen. Die Vorteile sind Einfachheit, klare Regeln und effektive Trendverfolgung. Die Nachteile sind Verzögerung, falsche Signale und übermäßige Trades. Wir können es optimieren, indem wir Parameter anpassen und andere Indikatoren hinzufügen, um uns besser an die Marktbedingungen anzupassen. Insgesamt bietet die Dual-MA-Strategie einen einfachen und zuverlässigen Ansatz für den quantitativen Handel. Mit kontinuierlichen Verbesserungen kann ihre Leistung noch besser werden.


/*backtest
start: 2023-09-01 00:00:00
end: 2023-09-20 23:59:59
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Profitable Crypto Strategy", shorttitle="Profit Strategy", overlay=true)

// Define strategy parameters
fastLength = input.int(9, title="Fast MA Length", minval=1)
slowLength = input.int(21, title="Slow MA Length", minval=1)
stopLossPercent = input.float(1.0, title="Stop Loss %", step=0.1)
takeProfitPercent = input.float(1.0, title="Take Profit %", step=0.1)

// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)

// Entry condition: Buy when fast MA crosses above slow MA
longCondition = ta.crossover(fastMA, slowMA)
// Exit condition: Sell when fast MA crosses below slow MA
shortCondition = ta.crossunder(fastMA, slowMA)

// Plot moving averages on the chart
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.orange, title="Slow MA")

// Strategy entry and exit logic
var stopLossPrice = 0.0
var takeProfitPrice = 0.0

if (longCondition)
    stopLossPrice := close * (1.0 - stopLossPercent / 100)
    takeProfitPrice := close * (1.0 + takeProfitPercent / 100)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.close("Long")

// Set stop loss and take profit for open positions
strategy.exit("Stop Loss/Profit", stop=stopLossPrice, limit=takeProfitPrice)


Mehr