Diese Strategie basiert auf der Gold-Dod-Fork-Form mit drei Moving Averages. Sie handelt mit einem Plus, wenn der schnelle Moving Average die mittlere Linie überschreitet, und mit einem Plus, wenn er die langsame Linie überschreitet. Sie handelt mit einem Minus, wenn der schnelle Moving Average die mittlere Linie überschreitet, und mit einem Minus, wenn er die langsame Linie überschreitet.
Die Strategie nutzt die Kreuzung zwischen drei verschiedenen periodischen Moving Averages zum Handel. Die schnelle Linie stellt den aktuellen kurzfristigen Trend dar, die mittlere Linie den mittleren Trend und die langsame Linie den langfristigen Trend. Wenn die drei mittleren und kurzen Linien in der Reihenfolge aufwärts kreuzen, wird der Trend gestartet und überschritten; wenn sie nach unten kreuzen, wird der Trend umgedreht und leer gemacht.
Risiken können durch Anpassung der Haltedauer, Optimierung der Durchschnittsparameter und Einführung von Stop-Loss-Strategien verwaltet werden.
Diese Strategie basiert auf der Drei-Gleichlinien-Kreuzung und hält Positionen in Richtung der Trendrichtung. Die Vorteile sind, dass die Handelssignale einfach und klar sind und konfigurierbar sind. Die Nachteile sind leicht zu verzögern und erfordern Parameteroptimierung.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © DaynTrading
//@version=4
// strategy(
// title="Simple Moving Average Cross",
// overlay=true,
// initial_capital=5000,
// default_qty_type=strategy.percent_of_equity,
// default_qty_value=2,
// commission_type=strategy.commission.percent,
// commission_value=0.075,
// pyramiding=0
// )
sma_top_input = input(title="SMA Top", type=input.integer, defval=20)
sma_mid_input = input(title="SMA Mid", type=input.integer, defval=50)
sma_low_input = input(title="SMA Low", type=input.integer, defval=200)
bars_long = input(title="Long: After trigger, how many bars to wait?", type=input.integer, defval=5)
bars_short = input(title="Short: After trigger, how many bars to wait?", type=input.integer, defval=5)
sma_top = sma(close, sma_top_input)
sma_mid = sma(close, sma_mid_input)
sma_low = sma(close, sma_low_input)
long = sma_top > sma_mid and sma_mid > sma_low
short = sma_top < sma_mid and sma_mid < sma_low
long_condition = long and long[bars_long] and not long[bars_long + 1]
short_condition = short and short[bars_short] and not short[bars_short + 1]
close_long = sma_top < sma_mid and sma_mid < sma_low and not long[bars_long + 1]
close_short = sma_top > sma_mid and sma_mid > sma_low and not short[bars_short + 1]
plot(sma_top, title="SMA Top", color=#95f252, linewidth=2)
plot(sma_mid, title="SMA Mid", color=#FF1493, linewidth=2)
plot(sma_low, title="SMA Low", color=#6a0dad, linewidth=2)
strategy.entry("LongPosition", strategy.long, when = long_condition)
strategy.entry("ShortPosition", strategy.short, when = short_condition)
strategy.close("LongPosition", when = close_short)
strategy.close("ShortPosition", when = close_long)