이 전략은 트렌드 추적을 위해 세 개의 슈퍼트렌드 지표와 기하급수적인 이동 평균 (EMA) 을 결합합니다. 다양한 감수성을 가진 세 개의 슈퍼트렌드 라인과 하나의 EMA 라인을 사용하여 다차원 확인을 통해 시장 트렌드를 캡처합니다. 이 전략은 동적 지원 / 저항 수준을 계산하기 위해 ATR (평균 진정한 범위) 을 사용하여 이러한 라인에 대한 가격 지위에 기반하여 트렌드 방향과 거래 신호를 결정합니다.
이 전략은 다음과 같은 핵심 요소로 구성됩니다.
다양한 시장에서 빈번한 거래를 생성하여 거래 비용을 증가시킬 수 있습니다. 해결책: 신호 필터를 추가하거나 이동 평균 기간을 연장합니다.
트렌드 반전 초기 잠재적인 지연. 해결책: 보조를 위해 추진력 지표를 포함합니다.
여러 번 확인해야 하는 경우 수익성이 있는 기회를 놓칠 수 있습니다. 해결책: 시장 특성에 따라 확인 조건을 조정합니다.
이 전략은 논리적으로 엄격하고 안정적인 트렌드 추종 전략이다. 여러 기술적 지표의 조합을 통해 좋은 위험 통제 기능을 유지하면서 신호 신뢰성을 보장한다. 전략 매개 변수는 매우 조정 가능하며 다른 시장 조건에 최적화 될 수 있다. 약간의 내재적 지연이 있지만 적절한 최적화는 위험과 수익 사이의 좋은 균형을 달성할 수 있다.
/*backtest start: 2024-12-19 00:00:00 end: 2024-12-26 00:00:00 period: 45m basePeriod: 45m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend EMA Strategy", overlay=true) // Input Parameters ema_length = input(50, title="EMA Length") supertrend_atr_period = input(10, title="ATR Period") supertrend_multiplier1 = input.float(3.0, title="Supertrend Multiplier 1") supertrend_multiplier2 = input.float(2.0, title="Supertrend Multiplier 2") supertrend_multiplier3 = input.float(1.0, title="Supertrend Multiplier 3") // Calculations emaValue = ta.ema(close, ema_length) [supertrend1, SupertrendDirection1] = ta.supertrend(supertrend_multiplier1, supertrend_atr_period) [supertrend2, SupertrendDirection2] = ta.supertrend(supertrend_multiplier2, supertrend_atr_period) [supertrend3, SupertrendDirection3] = ta.supertrend(supertrend_multiplier3, supertrend_atr_period) // Plot Indicators plot(emaValue, title="EMA", color=color.blue, linewidth=2) plot(supertrend1, title="Supertrend 1 (10,3)", color=(SupertrendDirection1 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) plot(supertrend2, title="Supertrend 2 (10,2)", color=(SupertrendDirection2 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) plot(supertrend3, title="Supertrend 3 (10,1)", color=(SupertrendDirection3 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) // Entry Conditions long_condition = (SupertrendDirection1 == -1 and SupertrendDirection2 == -1 and SupertrendDirection3 == -1 and close > emaValue) short_condition = (SupertrendDirection1 == 1 and SupertrendDirection2 == 1 and SupertrendDirection3 == 1 and close < emaValue) // Exit Conditions long_exit = (SupertrendDirection3 == 1) short_exit = (SupertrendDirection3 == -1) // Execute Strategy if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) if (long_exit) strategy.close("Long") if (short_exit) strategy.close("Short")