추세 강화 RSI-ADX 선형 회귀 예측 거래 전략

RSI ADX ML LINEAR REGRESSION DMI
생성 날짜: 2025-02-21 13:46:54 마지막으로 수정됨: 2025-02-21 13:46:54
복사: 0 클릭수: 433
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

추세 강화 RSI-ADX 선형 회귀 예측 거래 전략 추세 강화 RSI-ADX 선형 회귀 예측 거래 전략

개요

이 전략은 기술 지표와 기계 학습 방법을 결합한 트렌드 추적 시스템이다. 전략은 상대적으로 강한 지표 ((RSI), 평균 트렌드 지표 ((ADX) 및 선형 회귀 예측 모델을 통합하여 다차원 분석을 통해 시장 추세와 거래 기회를 결정한다. 이 전략은 5 분 시간 주기에서 작동하며 RSI 초과 오버 바이 신호, ADX 트렌드 확인 및 선형 회귀 예측을 결합하는 방식으로 완전한 거래 의사 결정 시스템을 구현한다.

전략 원칙

전략은 트레이딩 신호를 확인하기 위해 세 층의 필터링 메커니즘을 사용합니다.

  1. RSI 지표는 오버 바이 오버 세 조건을 식별하기 위해 사용되며, RSI가 30을 돌파 할 때 (오버 세) 는 더 많은 신호를 생성하고, 70을 돌파 할 때 (오버 바이) 는 하위 신호를 생성합니다.
  2. ADX 지표는 트렌드 강도를 확인하기 위해 사용되며, ADX가 25보다 크면 거래가 허용되며, 강한 트렌드 환경에서 거래가 보장됩니다.
  3. 선형 회귀 예측 모듈은 지난 20가지 가격주기의 데이터를 분석하여 가격 트렌드의 기울기와 절벽을 계산하여 다음 가격 수준을 예측합니다. 이 세 가지 조건이 동시에 충족될 때만, 전략은 거래 신호를 발산한다.

전략적 이점

  1. 다차원 검증: 기술 지표와 통계 예측 방법을 결합하여 더 신뢰할 수 있는 거래 신호를 제공합니다.
  2. 트렌드 확인: ADX 필터링을 통해 강력한 트렌드 시장에서만 거래하도록 보장하고, 흔들리는 시장의 가짜 신호를 피합니다.
  3. 예측 능력: 선형 회귀 예측 모델을 도입하여 가격 움직임을 전향적으로 분석할 수 있습니다.
  4. 유연성: 주요 매개 변수들은 시장 조건에 따라 조정될 수 있습니다.
  5. 명확한 실행: 거래 규칙이 명확하고, 신호 생성 조건이 엄격하여 주관적 판단의 영향을 줄입니다.

전략적 위험

  1. 변수 감수성: 전략 효과는 RSI, ADX 및 회귀 주기의 변수 설정에 크게 의존합니다.
  2. 뒤떨어진 위험: 기술 지표 자체는 다소 뒤떨어져 있으며, 입시 시기가 약간 늦어질 수 있습니다.
  3. 트렌드 역전 위험: 급격한 트렌드 역전으로 인해 시스템 반응이 늦어질 경우 손실이 발생할 수 있습니다
  4. 과도한 적합성 위험: 선형 회귀 예측은 예측 정확성에 영향을 미치는 역사적 데이터에 과도하게 적합 할 수 있습니다.
  5. 시장 조건 의존성: 불안정한 시장에서 전략이 실패할 수 있다

전략 최적화 방향

  1. 동적 변수 조정: 시장의 변동에 따라 RSI 및 ADX의 변수를 자동으로 조정하는 적응 변수 메커니즘을 도입합니다.
  2. 시장 환경 필터를 추가합니다: 변동성 지표를 추가하고, 다른 시장 환경에 따라 전략 매개 변수를 조정하거나 거래를 중지합니다.
  3. 예측 모델을 최적화: 예측 정확도를 높이기 위해 LSTM 또는 무작위 숲과 같은 더 복잡한 기계 학습 모델을 사용하는 것을 고려하십시오.
  4. 리스크 관리를 개선: 동적 스톱포지션을 추가하고 시장의 변동에 따라 스톱포지션을 조정합니다.
  5. 거래 시간 필터를 추가: 유동성이 낮은 시간 및 중요한 보도 기간을 피하십시오.

요약하다

이 전략은 전통적인 기술 분석과 현대적인 예측 방법을 결합하여 비교적 완전한 거래 시스템을 구축한다. 전략의 핵심 장점은 거짓 신호의 영향을 효과적으로 줄일 수 있는 다차원 신호 확인 메커니즘에 있다. 예측 모델을 개선하고, 매개 변수 조정 메커니즘을 최적화하고, 위험 관리를 강화함으로써, 전략에는 큰 최적화 공간이 있다. 실제 적용에서, 투자자는 특정 시장 특성과 자신의 위험 감수 능력에 따라 전략 매개 변수를 적절히 조정하도록 권고한다.

전략 소스 코드
/*backtest
start: 2025-01-20 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("RSI + ADX + ML-like Strategy (5min)", overlay=true)

// ———— 1. Inputs ————
rsiLength = input(14, "RSI Length")
adxLength = input(14, "ADX Length")
mlLookback = input(20, "ML Lookback (Bars)")

// ———— 2. Calculate Indicators ————
// RSI
rsi = ta.rsi(close, rsiLength)

// ADX
[diPlus, diMinus, adx] = ta.dmi(adxLength, adxLength)

// ———— 3. Simplified ML-like Component (Linear Regression) ————
var float predictedClose = na
sumX = math.sum(bar_index, mlLookback)          // FIXED: Using math.sum()
sumY = math.sum(close, mlLookback)              // FIXED: Using math.sum()
sumXY = math.sum(bar_index * close, mlLookback) // FIXED: Using math.sum()
sumX2 = math.sum(bar_index * bar_index, mlLookback)

slope = (mlLookback * sumXY - sumX * sumY) / (mlLookback * sumX2 - sumX * sumX)
intercept = (sumY - slope * sumX) / mlLookback
predictedClose := slope * bar_index + intercept

// ———— 4. Strategy Logic ————
mlBullish = predictedClose > close
mlBearish = predictedClose < close

enterLong = ta.crossover(rsi, 30) and adx > 25 and mlBullish
enterShort = ta.crossunder(rsi, 70) and adx > 25 and mlBearish

// ———— 5. Execute Orders ————
strategy.entry("Long", strategy.long, when=enterLong)
strategy.entry("Short", strategy.short, when=enterShort)

// ———— 6. Plotting ————
plot(predictedClose, "Predicted Close", color=color.purple)
plotshape(enterLong, "Buy", shape.triangleup, location.belowbar, color=color.green)
plotshape(enterShort, "Sell", shape.triangledown, location.abovebar, color=color.red)