강화된 추세 추종 전략: ADX 및 포물선 SAR을 기반으로 한 동적 추세 식별 시스템

ADX SAR DMI
생성 날짜: 2024-12-12 14:21:47 마지막으로 수정됨: 2024-12-12 14:21:47
복사: 1 클릭수: 376
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

강화된 추세 추종 전략: ADX 및 포물선 SAR을 기반으로 한 동적 추세 식별 시스템

개요

이 전략은 평균 트렌드 지표 ((ADX) 와 패러블 라인 스톱 로즈 회전 지표 ((SAR) 를 결합한 트렌드 추적 거래 시스템이다. 이 시스템은 ADX를 통해 트렌드 강도를 측정하고, SAR를 사용하여 트렌드 방향을 확인하여 강한 트렌드 시장에서 거래 기회를 잡는다. 이 시스템은 트렌드의 존재를 확인하고, 트렌드의 신뢰성을 확인하는 두 가지 확인 메커니즘을 사용합니다.

전략 원칙

이 전략의 핵심 논리는 다음과 같은 몇 가지 핵심 요소에 기반합니다.

  1. ADX 지표는 트렌드 강도를 측정하기 위해 사용되며, ADX 값이 25을 초과하면 시장이 명백한 트렌드가 있음을 나타냅니다.
  2. DI+와 DI-의 교차는 트렌드 방향을 판단하는데, DI+가 DI-보다 크면 상승 트렌드를 나타내고, 반대로 하향 트렌드를 나타낸다.
  3. 패러폴리 SAR는 동적으로 스톱포드를 조정하여 가격 움직임을 추적하여 트렌드 방향에 대한 추가적인 확인을 제공합니다.

거래 신호의 발동 조건은 다음과 같습니다.

  • 다중 조건: ADX>25 그리고 DI+>DI- 그리고 가격이 SAR 위에 있다
  • 공백 조건: ADX>25 그리고 DI->DI+ 그리고 가격은 SAR 아래
  • 평점 조건: 반대의 거래 신호가 발생했을 때

전략적 이점

  1. 이중 확인 메커니즘은 거래 신호의 신뢰성을 크게 향상시킵니다.
  2. 다이내믹 스톱 손실 설정은 보호가 도움이 됩니다.
  3. 매개변수는 다양한 시장 환경에 적응하도록 매우 조정 가능합니다.
  4. 전략 논리는 명확하고 이해하기 쉬우며 구현하기 쉽습니다.
  5. 강세를 보이는 시장에서 우수한 성적을 거뒀다

전략적 위험

  1. 변동성이 큰 시장에서는 잘못된 신호가 자주 발생할 수 있습니다.
  2. 트렌드 시작점보다 늦어질 수 있는 입점
  3. 급격한 역전으로 인해 더 큰 인하가 발생할 수 있습니다.
  4. 잘못된 매개변수 설정은 전략 성능에 영향을 미칠 수 있습니다.

위험 관리 제안:

  • 최대 회수 제한을 설정
  • 시장의 변동에 따라 조정된 변수
  • 다른 기술 지표와 결합하여 거래 확인
  • 포지션 관리 전략

전략 최적화 방향

  1. 변동률 지표 조정 파라미터를 도입합니다.

    • 높은 변동 기간 동안 ADX 임값을 높이는 것
    • 낮은 파동 동안 SAR 감수성을 낮추는 것
  2. 출전 메커니즘을 최적화

    • 이윤 목표를 추가합니다.
    • 동적 중지 손실 전략을 설계
  3. 시장 환경 필터링

    • 트렌드 라인 분석과 함께
    • 거래량 요소를 고려하세요
  4. 포지션 관리

    • ATR을 기반으로 설계된 포지션 크기
    • 수량으로 창고 건설/평준화

요약하다

이 전략은 ADX와 SAR 지표를 결합하여 견고한 트렌드 추적 시스템을 구축한다. 전략의 주요 장점은 두 개의 확인 메커니즘과 동적 중지 설정이지만, 흔들리는 시장에서 좋지 않을 수 있다. 합리적인 매개 변수 최적화 및 위험 통제를 통해 이 전략은 트렌드가 뚜렷한 시장 환경에서 좋은 성능을 얻을 수 있다.

전략 소스 코드
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © traderhub

//@version=5
strategy("Trend Following ADX + Parabolic SAR", overlay=true)

// Strategy parameters
adxLength = input(14, title="ADX Period")
adxThreshold = input(25, title="ADX Threshold")
adxSmoothing = input(14, title="ADX Smoothing")
sarStart = input(0.02, title="Parabolic SAR Start")  // Starting acceleration factor
sarIncrement = input(0.02, title="Parabolic SAR Increment")  // Increment step
sarMax = input(0.2, title="Parabolic SAR Max")  // Maximum acceleration factor

// Calculate ADX, DI+, and DI-
[diPlus, diMinus, adx] = ta.dmi(adxLength, adxSmoothing)

// Parabolic SAR calculation
sar = ta.sar(sarStart, sarIncrement, sarMax)

// Conditions for a long position
longCondition = adx > adxThreshold and diPlus > diMinus and close > sar

// Conditions for a short position
shortCondition = adx > adxThreshold and diMinus > diPlus and close < sar

// Enter a long position
if (longCondition)
    strategy.entry("Long", strategy.long)

// Enter a short position
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Close position on reverse signal
if (strategy.position_size > 0 and shortCondition)
    strategy.close("Long")
if (strategy.position_size < 0 and longCondition)
    strategy.close("Short")

// Plot indicators on the chart
plot(sar, color=color.blue, style=plot.style_circles, linewidth=2, title="Parabolic SAR")
plot(adx, color=color.red, title="ADX")
hline(adxThreshold, "ADX Threshold", color=color.green)