이동평균선 교차 단기 반전 양적 전략: SMA20/50 지능형 단기 주문 거래 시스템

SMA MA 交叉策略 趋势跟踪 空头策略 均线系统 技术分析
생성 날짜: 2025-04-01 13:45:34 마지막으로 수정됨: 2025-04-01 13:45:34
복사: 2 클릭수: 311
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

이동평균선 교차 단기 반전 양적 전략: SMA20/50 지능형 단기 주문 거래 시스템 이동평균선 교차 단기 반전 양적 전략: SMA20/50 지능형 단기 주문 거래 시스템

전략 개요

이 전략은 간단한 이동 평균 ((SMA) 의 교차를 기반으로 한 공백 거래 시스템으로 시장의 하향 경향을 포착하는 데 초점을 맞추고 있습니다. 이 전략은 20주기 및 50주기의 간단한 이동 평균을 핵심 지표로 사용하여 단기 SMA ((20) 가 아래로 긴 SMA ((50) 를 통과하면 시스템이 빈 신호를 생성합니다. 단기 SMA ((20) 가 위로 긴 SMA ((50) 를 통과하면 시스템이 평점입니다.

전략 원칙

이 전략은 기술 분석의 고전적인 이동 평균 교차 이론에 기초한다. 그것의 핵심 논리는 다음과 같다:

  1. 20주기 간단한 이동 평균 ((SMA20) 과 50주기 간단한 이동 평균 ((SMA50) 을 계산합니다.
  2. SMA20 아래 SMA50을 통과하면 가격 동력이 마이너스로 전환되는 것으로 간주되며, 추세는 다중 공백으로 공백 신호를 유발합니다.
  3. SMA20에서 SMA50을 통과하면 하향 추세가 약화되거나 종료되는 것으로 간주되어 평점 신호를 유발합니다.
  4. 전략은 매 거래마다 100% 사용 가능한 자금을 사용하여 풀 포지션 모드를 사용합니다.

코드 구현에서 보면, 전략은 Pine Script 언어의 ta.crossunder () 와 ta.crossover () 함수를 사용하여 평행선 교차 사건을 정확하게 캡처하고, strategy.entry () 와 strategy.close () 함수를 통해 거래를 실행한다. 또한, 전략은 차트에 거래 신호를 직관적으로 표시하여 거래자가 거래 논리의 수행을 즉시 이해할 수 있도록 돕는다.

전략적 이점

  1. 간결하고 효율적입니다.전략은 두 가지 기술 지표만 사용해서 논리가 명확하고 이해하기 쉽고 실행이 쉬워서 과다 적응의 위험을 줄여줍니다.
  2. 트렌드 추적 능력SMA20와 SMA50의 조합은 중기 트렌드 변화를 효과적으로 포착합니다. 단기 평균선 아래에서 장기 평균선을 통과하면 일반적으로 더 큰 하락 공간을 나타냅니다.
  3. 개선된 위험 관리이 전략은 명확한 입출장 조건을 내장하고, 손실을 무한히 확장시키지 않으며, 트렌드가 역전될 때 자동으로 청산한다.
  4. 시각적 피드백: 그래프 상의 모양 표기 및 텍스트 표기로 거래자는 각 거래 신호를 명확하게 볼 수 있으며, 추적 분석 및 실시간 모니터링을 용이하게 합니다.
  5. 매우 적응력이 좋다이 전략은 15분 시간 프레임에서 잘 작동하지만, 핵심 논리는 다른 시간 주기에도 적용되며, 시간 프레임 간 적응력이 좋다.
  6. 반인도적 거래: 공중 전략은 시장의 일반적인 공포에서 이익을 얻을 수 있으며, 거래자가 시장을 넘어가는 동안 침착하고 이익을 얻을 수 있도록 도와줍니다.

전략적 위험

  1. 변동성 있는 시장의 위험횡단보도 진동 시장에서, 평행선이 자주 교차하는 것은 여러 개의 가짜 신호를 유발할 수 있으며, 연속적으로 손실 거래가 발생할 수 있다. 개선 방법은 트렌드 강도 지표 또는 변동률 필터와 같은 확인 지표를 추가하는 것이다.
  2. 뒤처진 문제이동 평균은 그 자체로 지연성이 있으며, 입출장 시기가 이상적이지 않고, 최적의 거래 지점을 놓치게 할 수 있다. 이 문제를 완화하기 위해 더 민감한 지표인 EMA 또는 평균 순환을 조정하는 것을 고려할 수 있다.
  3. 단방향 제한전략은 단순히 공백을 많이 하지 않고, 장기적인 황소 시장에서 많은 상승 기회를 놓칠 수 있다. 하나의 해결책은 보조적인 다목적 전략을 개발하거나 현재의 전략을 양방향 거래 시스템으로 확장하는 것이다.
  4. 재정 관리 부족: 전략은 100% 자금을 사용하여 거래하고, 포지션 관리를 고려하지 않고, 연속적인 손실이 발생하면 자금이 빠르게 줄어들 수 있습니다.
  5. 손해 방지 장치의 부재: 현재 전략은 시작점으로 평행선 교차를 의존하고, 정지 손실이 없으며, 극단적인 상황에서는 큰 회수를 견뎌낼 수 있습니다. ATR 또는 고정 퍼센트 기반의 정지 장치를 추가해야합니다.

전략 최적화 방향

  1. 트렌드 필터를 추가합니다.: ADX (평균 방향 지수) 와 같은 트렌드 강도 지표를 도입하여, ADX가 특정 하락값보다 큰 경우에만 거래를 실행하고, 흔들리는 시장의 가짜 신호를 피하십시오. 이러한 최적화는 승률과 손익률을 크게 향상시킬 수 있습니다.
  2. 평균 회로 최적화: 현재 사용되고 있는 2050 주기는 고전적인 설정이지만, 특정 거래 품종을 위한 최적의 변수를 찾기 위해 다양한 변수 조합을 재검토하여 전략 적응력을 향상시킬 수 있다.
  3. 다중 시간 프레임 분석: 더 높은 시간 프레임의 트렌드 판단을 추가하고, 일선이나 4시간 차트 트렌드가 하향을 향할 때만 15분 차트에서 빈 수표 신호를 실행하고, 역대성 트렌드 거래를 피한다.
  4. 포지션 관리 추가ATR을 기반으로 포지션 크기를 동적으로 조정합니다. 높은 변동성이있는 시장에서 포지션을 줄이고, 낮은 변동성이있는 경우 포지션을 적당히 증가시키고, 자본 곡선의 부드러움을 최적화합니다.
  5. 더 많은 스티커스ATR 또는 핵심지지를 기준으로 스톱을 설정하고, 리스크 수익률 또는 초기 하위점을 기준으로 스톱을 설정하여 자금 보호 능력을 향상시킵니다.
  6. 거래 시간 필터를 추가합니다.다른 거래 시기의 성과를 분석하고, 아시아, 유럽 및 미국 시장의 거래 시간이 급격하게 변동할 수 있는 비효율적 또는 위험 한 시기를 피하십시오.
  7. 비용 요소를 고려하세요전략적 평가에 거래 수수료와 슬라이드 요소를 포함하면 실제 거래 효과를 더 정확하게 평가할 수 있다.

요약하다

SMA20/50 지능형 표 거래 시스템은 간단한 이동 평균의 교차 신호를 포착하여 공상 거래를 수행하는 간결하고 효율적인 양적 거래 전략입니다. 이 전략은 하향 추세에서 우수한 성능을 발휘하며, 작동 논리는 명확하고 이해하기 쉽고 구현됩니다.

전략 소스 코드
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("SMA20/50 Short-Only Strategy", overlay=true, initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Input sources and calculations
src = close
sma20 = ta.sma(src, 20)
sma50 = ta.sma(src, 50)

// Generate sell signal when sma20 crosses below sma50
sellSignal = ta.crossunder(sma20, sma50)

// Generate exit signal when sma20 crosses above sma50
exitSignal = ta.crossover(sma20, sma50)

// Plot SMAs
plot(sma20, color = color.blue, title = "SMA 20")
plot(sma50, color = color.black, title = "SMA 50")

// Plot sell signal
plotshape(sellSignal, style = shape.triangledown, location = location.abovebar, color = color.red, size = size.tiny, title = "Sell Signal")

// Plot exit signal
plotshape(exitSignal, style = shape.xcross, location = location.belowbar, color = color.green, size = size.tiny, title = "Exit Signal")

// Add label for sell signals
if sellSignal
    label.new(bar_index, high, text="SELL", color = color.red, style = label.style_label_down, textcolor = color.white, size = size.small)

// Add label for exit signals
if exitSignal
    label.new(bar_index, low, text="EXIT", color = color.green, style = label.style_label_up, textcolor = color.white, size = size.small)

// Strategy entry and exit - SHORT ONLY
if sellSignal
    strategy.entry("Short", strategy.short)

if exitSignal
    strategy.close("Short")

// Strategy performance stats
var cumPnL = 0.0
if strategy.closedtrades > 0
    cumPnL := strategy.netprofit