SMA 크로스오버 기반의 양적 거래 전략

저자:차오장, 2024-01-12 10:51:33
태그:

img

전반적인 설명

이 전략은 골든 크로스 및 죽음의 크로스 패턴을 구현하기 위해 다른 기간의 SMA 라인을 계산하여 구매 및 판매 신호를 생성합니다. 전략에 따른 전형적인 트렌드입니다.

전략 원칙

  1. 각기 다른 주기를 가진 3개의 SMA 라인의 5일 라인 (sma5), 20일 라인 (sma20) 및 200일 라인 (sma200) 을 계산합니다.
  2. 짧은 주기의 이동 평균이 아래에서 긴 주기의 이동 평균을 넘을 때 구매 신호가 생성됩니다.
  3. 짧은 주기의 이동 평균이 상위로부터의 긴 주기의 이동 평균 아래로 넘어가면 판매 신호가 생성됩니다.
  4. 구매 및 판매 신호를 기반으로 거래를 수행

5일 라인과 200일 라인의 크로스오버를 예로 들어보자. 5일 라인이 200일 라인을 넘을 때 시장이 단기 상승 전망에 진입하고 구매 신호가 생성된다는 것을 의미합니다. 5일 라인이 200일 라인 아래에 넘을 때 시장이 단기 하락 전망에 진입하고 판매 신호가 생성된다는 것을 의미합니다. 다른 주기의 이동 평균의 크로스 패턴을 캡처함으로써 시장 트렌드를 그에 따라 캡처 할 수 있습니다.

전략 의 장점

  1. 구현하기 쉽습니다. 그것은 단지 다른 사이클의 여러 SMA 라인을 계산하고 간단한 이동 평균 횡단 패턴을 통해 입출구를 판단해야합니다.
  2. 전체 시장 추세에 민감하고 트렌드 효과에서 이익을 얻을 수 있습니다. 예를 들어, 5 일 라인이 200 일 라인을 넘을 때 시장은 중장기 황소 상태에 있습니다. 이 시간에 주식을 구입하면 상승 추세를 타고 갈 수 있습니다.
  3. 상대적으로 작은 인하 및 손실 위험. 시장이 대규모 조정을 볼 때, 이동 평균 크로스오버 전략은 인하를 효과적으로 제어하기 위해 즉시 판매 신호를 발송합니다.

위험 과 대책

  1. 잘못된 신호를 쉽게 생성한다. 시장이 범위로 묶일 때, 이동 평균은 여러 개의 잘못된 교차가 있을 수 있어 불필요한 거래 빈도와 비용을 초래한다. 단기 잡음을 필터링하기 위해 보유 주기를 적절히 조정한다.
  2. 조정 사이클 선택은 매우 중요합니다. 이동 평균 매개 변수가 잘못 선택되면 신호 효과는 만족스럽지 않을 수 있습니다. 적절한 이동 평균 사이클 조합은 다른 품종에 따라 결정해야합니다.
  3. 비정상적으로 큰 충격에 대처할 수 없습니다. 주요 블랙 스완 이벤트가 발생하면 이동 평균 크로스오버 전략은 큰 손실을 입을 수 있습니다. 이 시점에서 전략을 중단하고 수동 조작이 진행되어야합니다.

전략 최적화

  1. 필터링을 위해 다른 지표를 추가하십시오. 이동 평균 크로스오버 신호가 나타나면 변동성 시장에서 잘못된 신호를 생성하지 않도록 MACD 및 KDJ와 같은 지표를 참조하십시오.

  2. 트렌드 판단 지표와 결합합니다. 예를 들어, 이 경우 구매 및 판매 지점을 구축하기 위해 5 일선과 200 일선을 사용합니다. 또한 트렌드 강도를 판단하기 위해 ADX 지표를 결합하고 트렌드가 충분히 강할 때만 신호를 실행합니다.

  3. 적응적인 이동 평균을 사용 하 여 시장 조건 및 변동성 에 따라 실시간으로 이동 평균 매개 변수를 조정 하 여 거래 신호를 더 실용화 합니다.

  4. 다양한 종류의 조합: 전체 전략 성능을 향상시키기 위해 다양한 유형의 주식 및 외환 상품에 전략을 적용하십시오.

결론

이 전략은 SMA 크로스오버 패턴을 통해 단순히 시장 트렌드를 판단하고, 전형적인 트렌드 다음 전략을 구현합니다. 이점은 작동의 단순성과 주요 트렌드를 효과적으로 캡처하는 능력에 있습니다. 단점은 잘못된 신호를 쉽게 생성하고 거대한 시장 변동에 대처할 수 없다는 것입니다. 향후 개선은 신호 필터링 및 매개 변수 최적화와 같은 분야에서 이루어질 수 있습니다.


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Define SMAs
sma5 = sma(close, 5)
sma10 = sma(close, 10)
sma20 = sma(close, 20)
sma50 = sma(close, 50)
sma130 = sma(close, 130)
sma200 = sma(close, 200)

// Plot SMAs on the chart
plot(sma5, color=color.blue, title="5 SMA")
plot(sma10, color=color.orange, title="10 SMA")
plot(sma20, color=color.red, title="20 SMA")
plot(sma50, color=color.green, title="50 SMA")
plot(sma130, color=color.purple, title="130 SMA")
plot(sma200, color=color.black, title="200 SMA")

// Generating the buy and sell signals
buySignal = crossover(sma5, sma200)
sellSignal = crossunder(sma5, sma200)

// Execute trades based on signals
if (buySignal)
    strategy.entry("Buy", strategy.long)

if (sellSignal)
    strategy.close("Sell")



더 많은