
Eine Moving Average Tracking Strategie ist eine Trend-Tracking-Strategie, die auf einfachen Moving Averages basiert. Die Strategie verwendet einfache Moving Averages mit einer Länge von 200 Tagen, um die Richtung der Preisentwicklung zu bestimmen.
Die Strategie basiert auf folgenden Prinzipien:
Die Strategie basiert hauptsächlich darauf, die Richtung des Trends anhand eines gleitenden Durchschnitts zu bestimmen und bei einer Umkehrung der Gleichung zeitnah umgekehrt zu handeln, um den Trend zu verfolgen und davon zu profitieren.
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
In Bezug auf Risiken können Optimierungen und Verbesserungen in folgenden Bereichen vorgenommen werden:
Die Strategie kann in folgenden Bereichen weiter optimiert werden:
Optimierung der Periodizität von Moving Averages durch Suche nach optimalen Parameterkombinationen. Parameteroptimierungsmethoden wie Walk Forward Analysis können verwendet werden.
Erhöhen Sie die kurzfristigen Moving Averages, um eine Mehrmittellinie zu bilden und gleichzeitig die langfristigen Trends zu verfolgen.
In Kombination mit Trendindikatoren wie MACD verbessert sich die Fähigkeit, Trendwende zu erkennen.
Die Einführung von Stop-Loss-Mechanismen wie Tracking-Stops, Stop-Loss-Anzeigen usw. zur Kontrolle von Einzelschäden.
Verschiedene Arten und Zeitabschnitte wurden mit Hilfe von Replikaten getestet, um die Strategie zu testen und die Stabilität zu verbessern.
Die Parameter adaptieren und optimieren die Strategien mit Methoden wie Machine Learning.
Die Moving-Average-Tracking-Strategie ist eine einfache und praktische Trend-Tracking-Strategie, die klar ist und leicht umzusetzen ist, um Trendchancen zu erfassen. Die Strategie hat jedoch einige Probleme, wie z. B. unempfindlich für kurzfristige Anpassungen, schwache Risikokontrolle.
/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("MA X 200 BF", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)
/////////////// Time Frame ///////////////
testStartYear = input(2012, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)
testPeriod() => true
///////////// MA 200 /////////////
slowMA = sma(close, input(200))
/////////////// Strategy ///////////////
long = close > slowMA
short = close < slowMA
last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)
/////////////// Execution ///////////////
if testPeriod()
strategy.entry("Long Entry", strategy.long, when=long_signal)
strategy.entry("Short Entry", strategy.short, when=short_signal)
strategy.exit("Long Ex", "Long Entry")
strategy.exit("Short Ex", "Short Entry")
/////////////// Plotting ///////////////
plot(slowMA, color = long ? color.lime : color.red, linewidth=2)
bgcolor(strategy.position_size > 0 ? color.lime : strategy.position_size < 0 ? color.red : color.white, transp=80)
bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)