
이 전략은 이중 지수 이동 평균 (EMA) 과 상대적으로 약한 지수 (RSI) 를 결합한 트렌드 추적 거래 시스템이다. 전략은 5 분 시간 프레임에서 작동하며, 단기 및 장기 EMA의 교차와 RSI 지표의 조합을 통해 시장의 추세를 포착하며, 고정된 비율의 스톱 손실과 함께 위험을 통제한다.
이 전략은 다음과 같은 핵심 구성 요소에 기반합니다.
이것은 기술 지표와 위험 관리를 결합한 완전한 거래 시스템이다. 전략은 EMA와 RSI의 조합을 통해 트렌드를 효과적으로 식별하고, 고정된 스톱 스톱을 사용하여 손실을 제어한다. 제한이 있기는 하지만, 제안된 최적화 방향을 통해 전략의 안정성과 수익성을 더욱 향상시킬 수 있다. 전략은 안정적인 수익을 추구하는 거래자에게 적합하며, 특히 트렌드가 뚜렷한 시장 환경에서 더 잘 수행한다.
/*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)