간단한 이동평균 크로스오버 전략

저자:차오장, 날짜: 2023-12-20 14:36:08
태그:

img

전반적인 설명

이 전략은 8주기 및 20주기 간단한 이동 평균 (SMA) 사이의 교차를 기반으로 한다. 더 빠른 SMA가 느린 SMA를 넘어서면 길게 되고 더 빠른 SMA가 느린 SMA를 넘어서면 짧게 된다. 이 전략은 주로 트렌드 변화를 포착하기 위해 다른 SMA의 교차를 이용한다.

전략 논리

  1. 8주기와 20주기 SMA를 계산합니다.
  2. 8주기 SMA가 20주기 SMA를 넘을 때 장가가 됩니다.
  3. 8주기 SMA가 20주기 SMA 아래로 넘어가면 단축한다.
  4. 출구 신호: 역차로가 발생했을 때 닫기.

이 전략은 빠른 SMA와 느린 SMA의 교차를 사용하여 단기 트렌드의 변화를 포착합니다. 빠른 SMA가 가격 변화에 더 민감하게 반응하기 때문에 단기 트렌드의 반전을 더 일찍 감지 할 수 있습니다. 빠른 SMA가 느린 SMA 위에 넘어가면 단기 트렌드가 상승세를 보이고 긴 지위를 취해야한다는 신호를 제공합니다. 빠른 SMA가 느린 SMA 아래에 넘어가면 시장이 황소에서 호황으로 반전되고 짧은 지위를 취해야한다는 신호를 제공합니다.

장점

  1. 간단한 개념, 이해하기 쉽고 실행하기 쉽습니다.
  2. 유연한 매개 변수 선택, 다른 시장 조건에 적응 할 수 있습니다.
  3. 명확한 거래 신호와 규칙
  4. 단기 동향의 변화를 효과적으로 포착합니다.

이 전략의 가장 큰 장점은 단순성과 직관성입니다. 이해 및 구현이 쉽습니다. 한편으로, 다른 시장 환경에 맞게 SMA 매개 변수를 조정하여 유연성을 제공합니다. 추가 향상 및 최적화에 대한 기본 전략으로 사용될 수 있습니다.

위험성

  1. 빈번한 잘못된 신호나 잘못된 판단이 가능하죠.
  2. 트렌드 기간을 결정하기 어렵고, 조기 진입 또는 출입 가능성이 높습니다.
  3. 변동성 있는 시장에서 손실을 막기 위해 취약합니다.
  4. 부적절한 매개 변수는 손실로 이어질 수 있습니다.

이 전략은 단순한 SMA 크로스오버에만 의존하기 때문에 복잡한 시장 상황에 직면했을 때 분석 능력이 제한되어 있습니다. 트렌드의 강도 또는 역전 지점을 결정할 수 없으며, 종종 조기 진입 또는 출구로 이어집니다. 또한 범위 제한 시장에서 휘프사거 될 가능성이 있습니다. 또한 부적절한 매개 변수 선택은 전략 성능에 직접 영향을 줄 수 있습니다.

위험은 신호 확인 및 필터링을 위한 다른 지표와 결합하여 줄일 수 있습니다. 스톱 로스 마진을 넓히는 것도 어느 정도 변동성을 견딜 수 있습니다.

더 나은 기회

  1. 신호 필터링을 위한 다른 지표, 예를 들어 KDJ, MACD를 추가합니다.
  2. 불필요한 문제들을 피하기 위해 트렌드 결정 규칙을 추가합니다.
  3. SMA 기간과 같은 매개 변수를 최적화합니다.
  4. 변동성 메트릭을 포함하여 스톱 로스 레벨을 동적으로 조정합니다.

이 전략은 추가 신호 유효성 검사 및 필터링을 위해 다른 지표를 조합하여 증강 할 수 있습니다. 트렌드 결정 규칙은 또한 과도한 반전을 피할 수 있습니다. 매개 변수 및 스톱 로스 최적화는 전략의 안정성을 크게 향상시킬 수 있습니다.

요약

SMA 크로스오버 전략은 이해하기 쉽고 구현하기 쉬운 간단한 논리를 갖추고 있습니다. 빠른 및 느린 SMA 크로스오버를 통해 단기 트렌드 변화를 효과적으로 캡처합니다. 그러나 분석 능력이 약하기 때문에 때때로 잘못된 신호를 생성하는 것과 같은 몇 가지 결함이 있습니다. 다른 지표, 조정 매개 변수 및 스톱 로스를 적절히 결합함으로써 더 나은 성능을 얻을 수 있습니다. 전략은 알고리즘 거래의 기초를 마련하고 추가 최적화 방향을 제시합니다.


/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMA Crossover Strategy", overlay=true)

// Define SMA lengths
fastLength = input.int(8, title="Fast SMA Length", minval=1)
slowLength = input.int(20, title="Slow SMA Length", minval=1)

// Calculate SMAs
fastSMA = ta.sma(close, fastLength)
slowSMA = ta.sma(close, slowLength)

// Plot SMAs on the chart
plot(fastSMA, color=color.blue, title="Fast SMA")
plot(slowSMA, color=color.red, title="Slow SMA")

// Trading strategy
longCondition = ta.crossover(fastSMA, slowSMA)
shortCondition = ta.crossunder(fastSMA, slowSMA)

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

if (ta.crossunder(fastSMA, slowSMA))
    strategy.close("Long")

if (ta.crossover(fastSMA, slowSMA))
    strategy.close("Short")

// Plot buy and sell signals on the chart
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)


더 많은