
Bei der Strategie handelt es sich um ein trendfolgendes Handelssystem, das auf mehrfachen Kreuzungspunkten gleitender Durchschnittswerte und dem RSI-Indikator basiert. Die Strategie kombiniert die drei gleitenden Durchschnitte EMA20, EMA50 und SMA200, beurteilt den Markttrend anhand der Positionsbeziehung der gleitenden Durchschnitte, verwendet den RSI-Indikator zum Filtern von Handelssignalen und handelt, wenn der Preis das vorherige Hoch durchbricht. Die Strategie legt feste Take-Profit- und Stop-Loss-Bedingungen fest und ist für die Ausführung auf 1-Stunden- und Tagesebene geeignet.
Die Kernlogik der Strategie basiert auf den folgenden Schlüsselbedingungen:
Bei dieser Strategie handelt es sich um ein Trendverfolgungssystem mit vollständiger Struktur und klarer Logik. Durch die koordinierte Nutzung mehrerer technischer Indikatoren ist es möglich, Markttrends effektiv zu erfassen und gleichzeitig über einen umfassenden Risikomanagementmechanismus zu verfügen. Es besteht großer Spielraum für die Optimierung der Strategie und durch kontinuierliche Verbesserung können die Stabilität und Rentabilität der Strategie weiter gesteigert werden. Für mittel- und langfristige Händler ist dies ein Strategierahmen, den es sich auszuprobieren lohnt.
/*backtest
start: 2025-01-02 00:00:00
end: 2025-01-09 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA/SMA Strategy", overlay=false)
// Input parameters
ema20Length = input(20, title="20 EMA Length")
ema50Length = input(50, title="50 EMA Length")
sma200Length = input(200, title="200 SMA Length")
rsiLength = input(14, title="RSI Length")
rsiThreshold = input(40, title="RSI Threshold")
// Calculate indicators
ema20 = ta.ema(close, ema20Length)
ema50 = ta.ema(close, ema50Length)
sma200 = ta.sma(close, sma200Length)
rsiValue = ta.rsi(close, rsiLength)
// Conditions
emaCondition = ema20 > ema50 and sma200 < ema20 and sma200 < ema50
priceNearEMA = (close <= ema20 * 1.01 and close >= ema20 * 0.99) or (close <= ema50 * 1.01 and close >= ema50 * 0.99)
rsiCondition = rsiValue > rsiThreshold
// Entry condition: Price crosses previous candle high
entryCondition = priceNearEMA and rsiCondition and emaCondition and (close > high[1])
// Strategy entry
if entryCondition
strategy.entry("Long", strategy.long)
// Take profit and stop loss settings
takeProfitLevel = strategy.position_avg_price * 1.25 // Take profit at +25%
stopLossLevel = strategy.position_avg_price * 0.90 // Stop loss at -10%
// Exit conditions
if strategy.position_size > 0
strategy.exit("Take Profit", from_entry="Long", limit=takeProfitLevel)
strategy.exit("Stop Loss", from_entry="Long", stop=stopLossLevel)
// Plotting indicators for visualization
plot(ema20, color=color.blue, title="20 EMA")
plot(ema50, color=color.red, title="50 EMA")
plot(sma200, color=color.green, title="200 SMA")
hline(rsiThreshold, "RSI Threshold", color=color.orange)