이 전략은 쌍 지수 이동 평균 (EMA) 와 상대적 약수 (RSI) 를 결합한 트렌드 추적 거래 시스템이다. 전략은 5분 시간 프레임에서 작동하며, 단기 및 장기 EMA의 교차와 RSI의 조합을 통해 시장의 추세를 캡처하고, 동시에 고정 비율의 스톱 스톱 손실을 결합하여 위험 통제를 수행한다.
이 전략은 다음과 같은 핵심 요소를 기반으로합니다. 1. 9주기 및 21주기 듀얼 EMA 시스템을 사용하여 트렌드 방향을 식별 2. 14주기 RSI로 트렌드 확인 3. 단기 EMA가 장기 EMA를 상향으로 통과하고 RSI가 50보다 높을 때 과잉 신호가 발생한다. 4. 단기 EMA가 장기 EMA를 넘어선 후 RSI가 50보다 작을 때 공허 신호가 발생한다. 5. 위험 관리에 1.5%의 중지 및 0.5%의 중지 손실을 설정합니다.
기술 지표와 리스크 관리를 결합한 완전한 거래 시스템이다. 전략은 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)