이 전략은
이 전략은 시장 트렌드 방향을 결정하기 위해 슈퍼트렌드 지표를 사용합니다. 슈퍼트렌드는 평균 진정한 범위와 요인에 기초하여 계산됩니다. 가격이 슈퍼트렌드 라인 위에있을 때, 그것은 상승 추세입니다; 가격이 슈퍼트렌드 라인 아래에있을 때, 그것은 하락 추세입니다. 이 전략에서 인자는 3.0로 설정되며 ATR 길이는 10입니다.
또한, 전략은 이동 평균을 구성하기 위해 10일 EMA와 20일 SMA를 사용합니다. EMA (엑스포넌셜 이동 평균) 는 최근 가격에 더 높은 무게를 부여하고, SMA (단순 이동 평균) 는 모든 데이터를 동등한 무게로 간주합니다. 단기 EMA가 장기 SMA보다 높을 때 구매 신호로 간주됩니다.
요약하자면, 트레이드 신호 생성 논리는 다음과 같습니다.
롱 엔트리: 슈퍼트렌드 > 0 (올림 트렌드) 그리고 10일 EMA > 20일 SMA 단기 엔트리: 슈퍼트렌드 < 0 (하향 트렌드) 그리고 10일 EMA < 20일 SMA
그래서 그것은 슈퍼 트렌드로 트렌드 방향을 결정하고 추가 확인을 위해 이동 평균 크로스오버를 사용하여 트렌드를 따르는 전략을 구성합니다.
이 전략의 가장 큰 장점은 Supertrend와 이동 평균을 결합하여 신뢰성과 민감성을 향상시키는 것입니다. 주요 장점은 다음과 같습니다.
이 전략에는 몇 가지 위험이 있습니다.
우리는 슈퍼트렌드에 대한 다른 ATR 및 인자 값을 테스트 할 수 있으며 MAs에 대한 다른 길이 값을 테스트 할 수 있습니다. 또한 백테스트 기간은 다른 시장 환경을 커버해야합니다. 라이브 거래에서 거래 비용을 추가해야합니다.
최적화할 수 있는 많은 공간이 있습니다.
이것은 성능과 안정성을 더욱 향상시킬 수 있습니다. 또한 위험 통제에 있어 스톱 손실 구성이 중요합니다.
이 전략은 트렌드 방향과 EMA+SMA 크로스오버를 결합하여 신호를 생성합니다. 전형적인 트렌드 다음 시스템입니다. 높은 신뢰성과 최적화를 위한 많은 유연성을 가지고 있으며 라이브 트레이딩에서 검증할 가치가 있습니다. 그러나 우리는 또한 위험을 제어하고 과도한 최적화를 방지해야합니다.
/*backtest start: 2024-01-19 00:00:00 end: 2024-02-18 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend and Moving Averages Strategy", overlay=true) // Supertrend parameters atrLength = input.int(10, title="ATR Length", minval=1) factor = input.float(3.0, title="Factor", minval=0.01, step=0.01) [supertrend, direction] = ta.supertrend(factor, atrLength) // Moving Averages parameters length_ema = input(10, title="Length of EMA") length_sma = input(20, title="Length of SMA") // Calculate EMAs and SMAs ema_10 = ta.ema(close, length_ema) sma_20 = ta.sma(close, length_sma) // Strategy logic longCondition = ema_10 > sma_20 and direction > 0 shortCondition = ema_10 < sma_20 and direction < 0 strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition) // Plot Supertrend plot(direction > 0 ? supertrend : na, color=color.green, style=plot.style_line, linewidth=2, title="Up Trend") plot(direction < 0 ? supertrend : na, color=color.red, style=plot.style_line, linewidth=2, title="Down Trend") // Plot Moving Averages plot(ema_10, color=color.blue, title="10 EMA") plot(sma_20, color=color.red, title="20 SMA") // Alerts for Supertrend alertcondition(direction[1] > direction, title='Downtrend to Uptrend', message='The Supertrend value switched from Downtrend to Uptrend ') alertcondition(direction[1] < direction, title='Uptrend to Downtrend', message='The Supertrend value switched from Uptrend to Downtrend') alertcondition(direction[1] != direction, title='Trend Change', message='The Supertrend value switched from Uptrend to Downtrend or vice versa')