
Die Dual Moving Average Breakout Strategie ist eine typische Trend-Tracking-Strategie. Sie erfasst die Richtung und Stärke von Markttrends, indem sie zwei unterschiedliche Perioden von Moving Averages berechnet und diese als Kauf- und Verkaufssignale kreuzt.
Die Strategie basiert hauptsächlich auf zwei Moving Averages. Der erste Moving Average ist kürzer und reagiert schneller auf Preisänderungen. Der zweite Moving Average ist länger und filtert den Lärm.
Konkret berechnet die Strategie einen Index-Moving-Average von 10 Perioden (Price1) und einen Index-Moving-Average von 20 Perioden (Price2). Ein Kaufsignal wird erzeugt, wenn der aktuelle K-Linie-Eröffnungspreis und der aktuelle K-Linie-Schließpreis beide höher als die beiden Moving-Averagen sind; ein Verkaufsignal wird erzeugt, wenn der aktuelle K-Linie-Eröffnungspreis und der aktuelle K-Linie-Schließpreis beide niedriger als die beiden Moving-Averagen sind.
Mit dieser Konzeption kann man frühzeitig in den Markt eintreten, wenn sich ein Trend entwickelt, und den Trend verfolgen. Wenn sich der Trend umkehrt, kann man auch so früh wie möglich aus dem Markt aussteigen, um das Risiko effektiv zu kontrollieren.
Diese Strategie ist insgesamt relativ einfach und praktisch, um die Trends durch die doppelte Gleichgewichtskreuzung zu erfassen. Sie ist eine grundlegende Strategie für die Quantifizierung des Handels. Die Strategie birgt jedoch auch gewisse Risiken und muss weiter optimiert werden, um sich an unterschiedliche Marktumgebungen anzupassen.
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//study(title="MA River CC v1", overlay = true)
strategy("MA River CC v1", overlay=true)
src = input(close, title="Source")
price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(10, title="1st MA Length")
type1 = input("EMA", "1st MA Type", options=["SMA", "EMA"])
ma2 = input(20, title="2nd MA Length")
type2 = input("EMA", "2nd MA Type", options=["SMA", "EMA"])
price1 = if (type1 == "SMA")
sma(price, ma1)
else
ema(price, ma1)
price2 = if (type2 == "SMA")
sma(price, ma2)
else
ema(price, ma2)
//plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line, title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)
buy_entry = (open>price1 and open>price2) and (close>price1 and close>price2)
sell_entry = (open<price1 and open<price2) and (close<price1 and close<price2)
buy_close = sell_entry
sell_close = buy_entry
//longCondition = crossover(price1, price2)
if(buy_entry)
strategy.entry("Long", strategy.long)
if(sell_entry)
strategy.entry("Short", strategy.short)
strategy.close("Long" , when=buy_close)
strategy.close("Short",when=sell_close)