다중 지표 교차 모멘텀 추세 추적 전략: Supertrend와 ADX 이중 확인을 기반으로 한 양적 거래 시스템

supertrend ADX RSI DMI ATR SMA
생성 날짜: 2025-02-21 11:14:19 마지막으로 수정됨: 2025-02-27 17:07:46
복사: 1 클릭수: 473
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

다중 지표 교차 모멘텀 추세 추적 전략: Supertrend와 ADX 이중 확인을 기반으로 한 양적 거래 시스템 다중 지표 교차 모멘텀 추세 추적 전략: Supertrend와 ADX 이중 확인을 기반으로 한 양적 거래 시스템

개요

이 전략은 여러 기술 지표들을 결합한 트렌드 추적 시스템으로, 주로 슈퍼트렌드 지표의 트렌드 방향을 판단하고, ADX (평균 트렌드 지수) 의 트렌드 강도 확인과 RSI (상대적으로 강한 지수) 의 변동 영역 판단을 결합하여 진입 시기를 최적화한다. 이 전략은 일방향 다중 모드를 채택하여 여러 지표의 교차 검증을 통해 거래의 정확성과 신뢰성을 향상시킨다.

전략 원칙

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

  1. 수퍼트렌드 지표는 주요 트렌드 방향을 결정하는 데 사용되며, 지표가 하향을 돌면 상승 추세를 나타냅니다.
  2. ADX 지표는 트렌드 강도를 측정하는 데 사용되며, ADX 값이 14을 초과하면 트렌드가 충분히 강하다는 것을 나타냅니다.
  3. RSI 지표는 가격 변동 범위를 판단하기 위해 사용되며, 30~60 사이로 진입하여 과도한 추종을 피한다.

다음 진입 조건을 동시에 충족해야 합니다.

  • 수퍼트렌드 방향 하향
  • ADX 값이 임계 값 14보다 크다.
  • RSI는 지정된 범위에 있습니다 (rsi < 40 or rsi > 60)

평지 조건: 수퍼트렌드 방향이 위쪽으로 돌면 [[supertrendDirection == 1) 평점 포지션을 수행한다。

전략적 이점

  1. 다중 지표 크로스 검증은 거래 신호의 신뢰성을 높이고, 가짜 돌파의 위험을 낮춘다.
  2. 트렌드 방향과 강도를 결합한 이중 확인 메커니즘은 트렌드 거래 기회를 더 잘 잡을 수 있습니다.
  3. RSI 구간 제한을 통해 과도한 추격 지역에서 진출하는 것을 피하고, 진출 포인트의 가격비율을 높인다.
  4. 전략 논리가 명확하고, 매개 변수가 조정 가능하며, 다양한 시장 특성에 따라 최적화 할 수 있습니다.
  5. 전략의 성과를 실시간으로 모니터링할 수 있는 시각화 및 상기 기능이 잘 갖추어져 있습니다.

전략적 위험

  1. 너무 많은 지표의 사용으로 인해 신호가 지연되어 빠르게 변동하는 시장에서 거래 기회를 놓치게 될 수 있습니다.
  2. 한방향 다방향 전략은 하향 추세에서 수익을 얻지 못하며, 큰 방향성 위험이 있습니다.
  3. 고정된 ADX 값은 다른 시장 환경에서 일관되게 작동하지 않을 수 있다.
  4. RSI 간격 설정은 중요한 트렌드 시작점을 놓칠 수 있습니다.
  5. 슈퍼트렌드 변수의 민감성은 과도한 가짜 신호를 유발할 수 있다.

전략 최적화 방향

  1. 적응형 ADX 마이너스 설정을 도입하여 시장의 변동에 따라 마이너스를 동적으로 조정한다.
  2. 트렌드 확인의 시간 주기 요구사항을 늘리고, 단기 허위 돌파구를 피한다.
  3. RSI 간격의 동적 조정 메커니즘을 최적화하여 출장 시기의 정확성을 향상시킵니다.
  4. 전략의 범시장 적응성을 높이기 위해 공백 기능을 추가하는 것을 고려하십시오.
  5. 단편 거래에 대한 위험을 통제하기 위한 손해 방지 제도를 도입한다.
  6. 거래량 분석 지표를 늘리고 신호의 신뢰성을 높인다.

요약하다

이 전략은 여러 기술 지표의 조합을 통해 비교적 완벽한 트렌드 추적 거래 시스템을 구축한다. 전략의 핵심 장점은 서로 다른 지표의 교차 검증을 통해 거래 신호의 신뢰성을 높이는 데 있지만, 동시에 신호 지연 및 변수 최적화의 도전에 직면하고 있다. 제안된 최적화 방향을 통해 전략은 기존의 장점을 유지하면서 그것의 적응성과 안정성을 더욱 향상시킬 것으로 보인다.

전략 소스 코드
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-20 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Supertrend + ADX Strategy", overlay=true)

// Parameter für ADX und Supertrend
diLength = input.int(14, title="DI Length")
adxSmoothing = input.int(14, title="ADX Smoothing")
adxThreshold = input.float(14)
supertrendFactor = input.float(3.0, title="Supertrend Factor")
supertrendPeriod = input.int(14, title="Supertrend Period")

// Berechnung von +DI, -DI und ADX
[diplus, diminus, adx] = ta.dmi(diLength, adxSmoothing)

// RSI-Berechnung
rsiLength = input.int(14, title="RSI Length")
rsi = ta.rsi(close, rsiLength)

// Supertrend-Berechnung
[supertrendValue, supertrendDirection] = ta.supertrend(supertrendFactor, supertrendPeriod)

// Long-Einstiegsbedingung
longCondition = supertrendDirection == -1 and adx > adxThreshold and (rsi < 40 or rsi > 60)

// Long-Ausstiegsbedingung (wenn Supertrend grün wird)
exitCondition = supertrendDirection == 1

// Visualisierung der Einstiegssignale (Pfeile)
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(series=exitCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")

// Supertrend-Plot im Chart
plot(supertrendValue, color=supertrendDirection == -1 ? color.yellow : color.red, linewidth=2, title="Supertrend Line")

// Alerts für Einstieg/Ausstieg
alertcondition(longCondition, title="Long Signal", message="Supertrend + ADX: Long Entry")
alertcondition(exitCondition, title="Exit Signal", message="Supertrend turned Green: Exit")

// Strategieausführung
if longCondition and supertrendDirection == -1
    strategy.entry("Long", strategy.long)

if exitCondition
    strategy.close("Long")