
이 전략은 EMA-RSI-Supertrend 다인자 수렴 전략이라고 불리며, 지수 이동 평균 ((EMA), 상대적으로 강한 지수 ((RSI), 슈퍼 트렌드 지수 ((Supertrend) 및 거래량 확인 신호를 결합하여 다인자 거래 시스템을 구성한다. 이 전략은 8주기 및 21주기 EMA의 골드 포크/죽음 포크를 기본 신호로 사용하며, RSI의 중축 필터링과 Supertrend의 트렌드를 확인하고, 최종적으로 거래량을 확대하여 신호의 신뢰성을 검증한다.
이 전략은 다인자 협동 작용을 통해 고품질의 트렌드 거래 신호를 구현하며, 특히 트렌드가 명백한 시상식 단계에 적합하다. 4번 검증 메커니즘은 신호 신뢰성을 효과적으로 향상시키지만, 불안한 시장에서 적응성 조정에 주의를 기울여야 한다. 향후에는 파라미터 동적화 및 고급 탈퇴 전략을 통해 성과 안정성을 더욱 향상시킬 수 있다. 전체적으로 볼 때, 이것은 구조가 엄격하고, 논리가 명확한 트렌드 추적 시스템이며, 실제 디스크 응용 가치가 높다.
/*backtest
start: 2024-04-24 00:00:00
end: 2025-04-23 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/
//@version=5
//@WunderTrading
strategy("Nirvana Mode v1.0", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick=true)
// === INPUTS ===
emaShort = ta.ema(close, 8)
emaLong = ta.ema(close, 21)
rsi = ta.rsi(close, 14)
supertrendFactor = 3.0
supertrendPeriod = 10
[supertrend, direction] = ta.supertrend(supertrendFactor, supertrendPeriod)
volumeAvg = ta.sma(volume, 10)
volumeSpike = volume > volumeAvg * 1.8
// === ENTRY CONDITIONS ===
longCond = ta.crossover(emaShort, emaLong) and rsi > 50 and direction == 1 and volumeSpike
shortCond = ta.crossunder(emaShort, emaLong) and rsi < 50 and direction == -1 and volumeSpike
exitCond = ta.cross(close, emaLong)
// === PLOT & SIGNALS ===
plot(emaShort, color=color.orange)
plot(emaLong, color=color.blue)
plotshape(longCond, title="BUY", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(shortCond, title="SELL", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(exitCond, title="EXIT", location=location.bottom, color=color.gray, style=shape.xcross, size=size.tiny)
// === STRATEGY ORDERS ===
if (longCond)
strategy.entry("ENTER LONG", strategy.long, comment="ENTER-LONG_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")
if (shortCond)
strategy.entry("ENTER SHORT", strategy.short, comment="ENTER-SHORT_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")
if (exitCond)
strategy.close_all(comment="EXIT-ALL_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")
// === ALERT ===
alertcondition(longCond, title="Long Signal", message="ENTER-LONG_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")
alertcondition(shortCond, title="Short Signal", message="ENTER-SHORT_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")
alertcondition(exitCond, title="Exit Signal", message="EXIT-ALL_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")