다층 모멘텀 크로스오버 플립 전략: 평활화된 지표 기반 ETF 거래 시스템

EMA WMA momentum CROSSOVER SIGNAL TRACKING MARKET TIMING ALGORITHMIC TRADING MEAN REVERSION
생성 날짜: 2025-07-01 13:42:08 마지막으로 수정됨: 2025-07-01 13:42:08
복사: 1 클릭수: 239
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

다층 모멘텀 크로스오버 플립 전략: 평활화된 지표 기반 ETF 거래 시스템 다층 모멘텀 크로스오버 플립 전략: 평활화된 지표 기반 ETF 거래 시스템

개요

다층 역량 교차 반전 전략은 역량 지표에 기반한 시장 추세 추적 시스템으로, 가격 동력의 다층 평평선과 그 평평선 사이의 교차점을 통해 잠재적인 추세 변화를 식별한다. 이 전략은 시장 추세가 바뀌면 시스템이 기존 포지션을 청산하고 반대 방향으로 새로운 포지션을 구축하는 두 개의 ETF 간의 자동 전환 거래를 위해 설계되었다. 전략의 핵심은 시장의 방향을 예측하는 신호로 다중 평평화 처리 된 역량 지표를 사용하여 교역 신호를 유발하는 교차 확인을 통해 상태 추적 메커니즘을 사용하여 반복 거래를 피하는 것입니다.

전략 원칙

이 전략의 핵심 논리는 4개의 주요 기술 지표의 계산과 상호 작용에 기초하고 있습니다.

  1. 원동력 계산첫 번째 사용:ta.mom()함수는 특정 주기 (설정 50주기) 내의 가격 변화를 계산하여 가격 움직임의 초기 신호를 캡처합니다.

  2. 다층 평준화

    • 1층 평준화: 원시 동력을 지수 이동 평균 ((EMA) 을 통해 평준화 처리, 기본 평준화 주기는 50이며, 시장 소음을 줄인다.
    • 2단계 평준화: 평준화 된 동력을 다시 중화 이동 평균 ((WMA) 을 통해 두 번째 평준화, 기본 주기는 4이며, 단기 변동성을 더욱 제거한다.
  3. 신호선 계산: 두 번째 평준화 후 동력 선에 대한 EMA를 사용하여 평균선을 다시 계산하고, 신호 선으로 ((비용주기는 24번) .

  4. 교차 신호 결정

    • 보 신호: 평평한 미세량선이 신호선을 상향으로 통과할 때 발생한다.
    • 하향 신호: 평평한 운동량선이 아래로 신호선을 통과할 때 발생한다.
  5. 상태 추적 논리

    • 두 개의 펄 변수를 사용함inSOXL그리고inSOXS현재 지주 상태를 추적하십시오.
    • 특정 ETF를 보유한 경우 동일한 구매 신호를 반복적으로 발송하는 것을 피하십시오.

전략적 이점

  1. 트렌드 포착 능력여러 층의 부드러운 동력 지표를 통해 전략은 시장 소음을 필터링하여 중기 및 장기 동향 변화를 더 정확하게 포착 할 수 있습니다.

  2. 적응력전략: 두 가지 반대 방향으로의 ETF 사이에 자동으로 전환하여 단일 시장 방향에 국한되지 않고 황소 시장과 곰 시장에서 수익 기회를 찾을 수 있습니다.

  3. 가짜 신호를 줄여라: 다층 평준화는 동력 지표의 가짜 신호를 현저히 감소시키고 거래 결정의 신뢰성을 높였다.

  4. 상태 관리 메커니즘: 상태 변수를 통해 현재 지분을 추적하여 시스템에서 반복 거래 신호를 보내는 문제를 효과적으로 피합니다.

  5. 시각화 지원전략: 전략은 동력선과 신호선의 시각적 그래프를 제공하여 거래자가 시장의 추세와 잠재적 인 교차점을 직관적으로 관찰 할 수 있습니다.

  6. 매개 변수 조정: 모든 핵심 매개 변수 (동량 길이, 부드러운 주기 등) 는 입력 컨트롤을 통해 사용자 정의 할 수 있습니다. 이는 전략이 다른 시장 조건과 거래 선호도에 적응 할 수 있도록합니다.

전략적 위험

  1. 교차 지연: 여러 층의 평평한 지표가 사용됨에 따라, 신호 발생은 실제 시장 전환점보다 상대적으로 뒤쳐질 수 있으며, 이로 인해 극심한 변동 시장에서 최적의 진입 또는 출구 시기를 놓칠 수 있습니다.

  2. 주파수 시장의 자주 거래수평 조율 또는 명백한 추세가 없는 시장 환경에서는 동력선과 신호선이 자주 교차할 수 있으며, 이는 과도한 거래와 거래 비용을 증가시킬 수 있다.

  3. 매개변수 민감도: 전략 성능은 선택된 변수 값에 크게 의존한다. 부적절한 변수 설정으로 인해 과도한 지연 또는 과도한 민감한 신호가 발생할 수 있다.

  4. ETF의 위험성리버즈 ETF (코드에서 언급한 대로) 는 가격 하락의 위험이 있으며, 장기간 보유하면 지수의 지수가 범주 내에서만 흔들리더라도 자금 손실을 초래할 수 있다.

  5. 손해 방지 장치의 부재현재 전략에는 통합된 손해 방지 장치가 없으며, 극단적인 시장 상황에서는 상당한 손실을 초래할 수 있습니다.

위험 완화 조치

  • 한 거래의 최대 손실을 제한하는 적절한 스톱스 메커니즘을 추가하십시오.
  • 트렌드 강도 필터를 추가하여 트렌드가 명확한 경우에만 거래하는 것을 고려하십시오.
  • 정기적으로 재검토하고 변수를 조정하여 변화하는 시장 조건에 적응하십시오.
  • 전체 포트폴리오의 일부로서의 전략적 재원 배당을 제한하는 것.

전략 최적화 방향

  1. 트렌드 강도 필터에 가입하세요: 트렌드 강도를 평가하기 위해 ADX (평균 방향 지수) 또는 유사한 지표를 도입할 수 있으며, 트렌드가 명확한 경우에만 거래를 수행하여横盘整理 시장에서 자주 거래를 피한다.

  2. 통합 변동률 조정: 시장의 변동율에 따라 동적으로 조정되는 운동량과 평준화 파라미터, 높은 변동 환경에서는 더 긴 평준화 주기를 사용하며, 낮은 변동 환경에서는 더 짧은 주기를 사용한다.

  3. 더 많은 스톱로스와 수익 목표: ATR (진정한 변동률) 에 기반한 스톱로스 및 수익 목표를 설정하여 자본을 보호하고 수익을 잠금합니다.

  4. 시간 필터: 거래 시간 필터에 가입하여 시장 개시 전과 종료 후의 높은 변동 시간대에 거래하는 것을 피하십시오.

  5. 거래량 확인: 거래량 확인을 요구하는 신호, 거래 결정의 신뢰성을 높이는

  6. 보유 기간 제한: 최대 포지션 보유 시간 제한을 설정하고, 특정 시간 내에 신호가 반전되지 않으면 자동으로 포지션을 청산하여, 장기간 레버리지 ETF를 보유하는 위험을 피한다.

  7. 다주기 확인: 가짜 신호를 줄이기 위해 신호를 여러 시간 주기로 확인하도록 요구한다.

요약하다

다층 역량 교차 반전 전략은 다층의 부드러운 역량 지표로 시장 추세 변화를 포착하는 기술적으로 정교한 거래 시스템이다. 역량 선과 신호 선 사이의 교차로로 두 가지 반대 방향으로 ETF 간의 자동 전환 거래를 유발한다. 전략의 주요 장점은 트렌드 포착 능력과 다양한 시장 환경에서 기회를 찾을 수있는 적응력이다. 그러나, 그것은 또한 신호 지연, 변수 민감성 및 빈번한 거래 등의 위험에 직면합니다.

트렌드 강도 필터링, 변동율 조정, 손해 방지 장치 및 다중 주기 확인과 같은 최적화 조치를 추가함으로써 이 전략은 더욱 안정성과 성능을 향상시킬 수 있습니다. ETF 시장에서 트렌드를 추적하는 거래를 추구하는 투자자에게는 잠재적인 체계화된 거래 방법이지만 더 넓은 포트폴리오의 일부로 사용되어야하며 적절한 위험 관리 조치와 결합해야합니다.

전략 소스 코드
/*backtest
start: 2024-07-01 00:00:00
end: 2025-06-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"XRP_USDT"}]
*/

//@version=6
strategy("Ghost Momentum Strategy [SOXL/SOXS Flip]", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === INPUTS ===
src = close
momLen        = input.int(50, "Momentum Length")
momSmooth     = input.int(50, "Momentum Smoothing")
postSmoothLen = input.int(4,  "Post Smoothing Length")
maLen         = input.int(24, "MA Length")

// === GHOST MOMENTUM CORE ===
rawMom = ta.mom(src, momLen)
smoothedMom = ta.ema(rawMom, momSmooth)
postSmoothed = ta.wma(smoothedMom, postSmoothLen)
maLine = ta.ema(postSmoothed, maLen)

// === CROSS SIGNALS ===
bullishCross = ta.crossover(postSmoothed, maLine)
bearishCross = ta.crossunder(postSmoothed, maLine)

// === STATE TRACKING ===
// This helps avoid repeated orders
var bool inSOXL = false
var bool inSOXS = false

// === TRADE LOGIC ===
if bullishCross and not inSOXL
    strategy.close("SOXS", alert_message='{"action":"sell","ticker":"SOXS"}')
    strategy.entry("SOXL", strategy.long, alert_message='{"action":"buy","ticker":"SOXL"}')
    inSOXL := true
    inSOXS := false

if bearishCross and not inSOXS
    strategy.close("SOXL", alert_message='{"action":"sell","ticker":"SOXL"}')
    strategy.entry("SOXS", strategy.long, alert_message='{"action":"buy","ticker":"SOXS"}')
    inSOXL := false
    inSOXS := true

// === VISUALS ===
plot(postSmoothed, color=color.white, title="Momentum Line")
plot(maLine, color=color.orange, title="MA Line")
hline(0, "Zero Line", color=color.gray)