
Die Strategie ist ein Trend-Tracking-Trading-System, das einen binären Index-Moving Average (EMA) und einen relativ starken Index (RSI) kombiniert. Die Strategie läuft auf einem 5-Minuten-Zeitrahmen und fängt Markttrends durch die Kreuzung von kurz- und langfristigen EMAs sowie die Kombination mit dem RSI-Indikator ein, während ein Stop-Loss mit einem festen Prozentsatz eingesetzt wird.
Die Strategie basiert auf folgenden Kernkomponenten:
Es ist ein vollständiges Handelssystem, das technische Indikatoren und Risikomanagement kombiniert. Die Strategie identifiziert Trends effektiv durch die Kombination von EMA und RSI und kontrolliert die Risiken durch die Verwendung von festen Stop-Losses. Obwohl es einige Einschränkungen gibt, kann die Stabilität und Profitabilität der Strategie durch die empfohlene Optimierungsrichtung weiter verbessert werden.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("5-Minute EMA + RSI Strategy", overlay=true, shorttitle="EMA RSI")
// Inputs
ema_short_length = input.int(9, title="Short EMA Length", minval=1)
ema_long_length = input.int(21, title="Long EMA Length", minval=1)
rsi_length = input.int(14, title="RSI Length")
rsi_overbought = input.int(70, title="RSI Overbought Level")
rsi_oversold = input.int(30, title="RSI Oversold Level")
// Calculate EMAs
ema_short = ta.ema(close, ema_short_length)
ema_long = ta.ema(close, ema_long_length)
// Calculate RSI
rsi = ta.rsi(close, rsi_length)
// Plot EMAs
plot(ema_short, title="Short EMA", color=color.blue, linewidth=2)
plot(ema_long, title="Long EMA", color=color.red, linewidth=2)
// Conditions for Entries
long_condition = ta.crossover(ema_short, ema_long) and rsi > 50
short_condition = ta.crossunder(ema_short, ema_long) and rsi < 50
// Execute Trades
if (long_condition)
strategy.entry("Buy", strategy.long)
if (short_condition)
strategy.entry("Sell", strategy.short)
// Risk Management: Take Profit & Stop Loss
take_profit_perc = input.float(1.5, title="Take Profit %", step=0.1) // 1.5% target
stop_loss_perc = input.float(0.5, title="Stop Loss %", step=0.1) // 0.5% stop
strategy.exit("Take Profit/Stop Loss", "Buy",
profit=take_profit_perc, loss=stop_loss_perc)
strategy.exit("Take Profit/Stop Loss", "Sell",
profit=take_profit_perc, loss=stop_loss_perc)
// Add Visual Alerts
plotshape(long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)