슈퍼트렌드와 이동평균의 크로스오버 전략

저자:차오장, 날짜: 2024-02-19 11:56:52
태그:

img

전반적인 설명

이 전략은 슈퍼트렌드 및 이동 평균 크로스오버 전략 (Supertrend and Moving Average Crossover Strategy) 이라고 불린다. 이 전략은 슈퍼트렌드 지표와 이동 평균을 결합하여 슈퍼트렌드가 상승 추세를 나타내고 10일 EMA가 20일 SMA보다 높을 때 장기화하고, 슈퍼트렌드가 하락 추세를 나타내고 10일 EMA가 20일 SMA보다 낮을 때 단축한다. 이 전략은 전형적인 트렌드를 따르는 전략이다.

전략 논리

이 전략은 시장 트렌드 방향을 결정하기 위해 슈퍼트렌드 지표를 사용합니다. 슈퍼트렌드는 평균 진정한 범위와 요인에 기초하여 계산됩니다. 가격이 슈퍼트렌드 라인 위에있을 때, 그것은 상승 추세입니다; 가격이 슈퍼트렌드 라인 아래에있을 때, 그것은 하락 추세입니다. 이 전략에서 인자는 3.0로 설정되며 ATR 길이는 10입니다.

또한, 전략은 이동 평균을 구성하기 위해 10일 EMA와 20일 SMA를 사용합니다. EMA (엑스포넌셜 이동 평균) 는 최근 가격에 더 높은 무게를 부여하고, SMA (단순 이동 평균) 는 모든 데이터를 동등한 무게로 간주합니다. 단기 EMA가 장기 SMA보다 높을 때 구매 신호로 간주됩니다.

요약하자면, 트레이드 신호 생성 논리는 다음과 같습니다.

롱 엔트리: 슈퍼트렌드 > 0 (올림 트렌드) 그리고 10일 EMA > 20일 SMA 단기 엔트리: 슈퍼트렌드 < 0 (하향 트렌드) 그리고 10일 EMA < 20일 SMA

그래서 그것은 슈퍼 트렌드로 트렌드 방향을 결정하고 추가 확인을 위해 이동 평균 크로스오버를 사용하여 트렌드를 따르는 전략을 구성합니다.

이점 분석

이 전략의 가장 큰 장점은 Supertrend와 이동 평균을 결합하여 신뢰성과 민감성을 향상시키는 것입니다. 주요 장점은 다음과 같습니다.

  1. 슈퍼트렌드는 주요 트렌드를 명확하게 식별하고 잘못된 신호를 줄입니다.
  2. EMA+SMA 교차는 트렌드 변화에 대한 감수성을 향상시킵니다.
  3. 여러 가지 요인 을 판단 함 으로 신뢰성 이 향상 된다
  4. 단순하고 명확한 지표, 이해하기 쉽고 최적화
  5. 슈퍼트렌드 및 MAs의 매개 변수를 조정하는 데 높은 유연성

위험 분석

이 전략에는 몇 가지 위험이 있습니다.

  1. 부적절한 슈퍼트렌드 매개 변수는 전환점을 놓칠 수 있습니다.
  2. 잘못된 MA 매개 변수는 잘못된 신호를 생성할 수 있습니다.
  3. 잘못된 백테스트 기간 선택은 성능을 과대평가 할 수 있습니다.
  4. 거래비용은 고려되지 않습니다.

우리는 슈퍼트렌드에 대한 다른 ATR 및 인자 값을 테스트 할 수 있으며 MAs에 대한 다른 길이 값을 테스트 할 수 있습니다. 또한 백테스트 기간은 다른 시장 환경을 커버해야합니다. 라이브 거래에서 거래 비용을 추가해야합니다.

최적화 방향

최적화할 수 있는 많은 공간이 있습니다.

  1. 슈퍼트렌드에서 ATR 길이와 인수를 조정합니다
  2. EMA와 SMA의 길이를 조정합니다.
  3. 신호 필터링을 위해 RSI, MACD와 같은 다른 지표를 추가
  4. 슈퍼트렌드가 나타나고 EMA가 일정 기간 후에 SMA를 넘을 때 구매하십시오.
  5. 스톱 로스 전략을 추가

이것은 성능과 안정성을 더욱 향상시킬 수 있습니다. 또한 위험 통제에 있어 스톱 손실 구성이 중요합니다.

결론

이 전략은 트렌드 방향과 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')


더 많은