
Die Strategie ist eine auf mehreren technischen Indikatoren basierende Trend-Tracking-Strategie, die mehrere technische Indikatoren wie den Moving Average (EMA), den Average Trend Indicator (ADX) und den Relativ Strong Indicator (RSI) integriert und mit einer Methode der Multi-Time-Frame-Analyse kombiniert. Die Strategie dient hauptsächlich dazu, die Trendrichtung durch eine Kreuzung von schnellen und langsamen EMAs zu bestätigen, die Trendstärke durch die Verwendung von ADX zu filtern und die Marktbewegung durch den RSI zu beurteilen, wodurch hochfrequente Trades auf dem 1-Minuten-Chart durchgeführt werden.
Die Strategie basiert auf folgenden Kernmechanismen:
Die Strategie hat durch die synchronisierte Zusammenarbeit von mehreren technischen Indikatoren ein robustes Trend-Tracking-System aufgebaut. Die Strategie erzielt durch eine ausgefeilte Risikokontrolle erhebliche Gewinne, während sie eine hohe Gewinnquote beibehält. Obwohl es einige Optimierungsmöglichkeiten gibt, ist die Gesamtperformance zufriedenstellend und eignet sich besonders für Trader, die nach stabilen Erträgen streben.
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-17 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Enhanced Trend Following Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)
// === INPUTS ===
emaFastLength = input(50, title="Fast EMA Length")
emaSlowLength = input(200, title="Slow EMA Length")
adxLength = input(14, title="ADX Length")
adxSmoothing = input(14, title="ADX Smoothing")
adxThreshold = input(25, title="ADX Threshold")
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
// === INDICATORS ===
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
[dip, dim, adxValue] = ta.dmi(adxLength, adxSmoothing)
rsiValue = ta.rsi(close, rsiLength)
// === MULTI-TIMEFRAME EMA ===
emaFastHTF = request.security(syminfo.tickerid, "240", ta.ema(close, emaFastLength))
emaSlowHTF = request.security(syminfo.tickerid, "240", ta.ema(close, emaSlowLength))
// === CONDITIONS ===
bullishTrend = ta.crossover(emaFast, emaSlow) and adxValue > adxThreshold and rsiValue > rsiOversold
bearishTrend = ta.crossunder(emaFast, emaSlow) and adxValue > adxThreshold and rsiValue < rsiOverbought
// === TRADE EXECUTION ===
if (bullishTrend)
strategy.entry("Long", strategy.long)
strategy.exit("TakeProfit_Long", from_entry="Long", limit=close * 1.05, stop=close * 0.98)
if (bearishTrend)
strategy.entry("Short", strategy.short)
strategy.exit("TakeProfit_Short", from_entry="Short", limit=close * 0.95, stop=close * 1.02)
// === PLOT INDICATORS ===
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
hline(adxThreshold, "ADX Threshold", color=color.gray, linestyle=hline.style_dotted)
bgcolor(bullishTrend ? color.green : bearishTrend ? color.red : na, transp=90)
// === ALERTS ===
alertcondition(bullishTrend, title="Buy Signal", message="A bullish trend detected!")
alertcondition(bearishTrend, title="Sell Signal", message="A bearish trend detected!")
// === STRATEGY SETTINGS ===
strategy.close("Long", when=rsiValue > rsiOverbought)
strategy.close("Short", when=rsiValue < rsiOversold)