이 전략은 다중 이동 평균 크로스오버 및 RSI 지표에 기반한 트렌드 다음 거래 시스템이다. EMA20, EMA50 및 SMA200을 결합하여 시장 트렌드를 결정하고, RSI 지표를 사용하여 거래 신호를 필터하고, 가격이 이전 최고치를 돌파할 때 거래를 실행합니다. 전략은 1 시간 및 일일 시간 프레임에 적합한 고정 수익 및 스톱 로스 조건을 구현합니다.
핵심 논리는 다음의 핵심 조건에 기초합니다. 트렌드 결정: EMA20는 EMA50보다 높고 SMA200는 EMA 두 개보다 낮아야 상승 추세를 확인합니다. 2. 가격 위치: 현재 종료 가격은 EMA20 또는 EMA50의 1% 범위 내에 있어야 주요 지원 수준을 보장합니다. 3. RSI 필터: RSI 값은 설정 한 임계치 (예정 40) 이상으로 강 시장을 필터링합니다. 4. 엔트리 트리거: 가격이 이전 촛불의 최고치를 돌파할 때 긴 포지션이 트리거됩니다. 5. 위험 관리: 위험 통제를 위해 25%의 수익을 취하고 10%의 손실을 멈추는 수준을 설정합니다.
이 전략은 잘 구성되어 있고 논리적으로 건전한 트렌드 추적 시스템이다. 여러 기술적 지표의 조합을 통해 포괄적인 리스크 관리를 유지하면서 시장 트렌드를 효과적으로 포착한다. 전략은 최적화에 상당한 여지가 있으며 지속적인 개선을 통해 안정성과 수익성을 향상시킬 수 있다. 중장기 상인들에게 이것은 가치 있는 전략적 틀을 나타낸다.
/*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)