리소스 로딩... 로딩...

동력과 부피 확증과 함께 멀티 이동 평균 거래 시스템 양적 트렌드 전략

저자:차오장, 날짜: 2024-12-12 14:27:59
태그:MAVWMAWMARSIADX

img

전반적인 설명

이 전략은 다중 이동 평균, 상대 강도 지수 (RSI), 평균 방향 지수 (ADX) 및 볼륨 분석을 결합한 포괄적 인 양적 거래 시스템입니다. 전략은 거래 신뢰성을 높이기 위해 볼륨과 추진력 필터를 사용하여 여러 기술적 지표를 통해 트렌드 확인에 기반한 거래를 실행합니다.

전략 원칙

핵심 논리는 몇 가지 핵심 요소에 기반합니다.

  1. 더블 헐마 (Double HullMA), 볼륨 가중화 가중화 평균 (Volume-Weighed Moving Average, VWMA) 및 기본 가중화 가중화 평균 (Basic Weighted Moving Average, WMA) 을 이용한 다중 이동 평균 시스템
  2. ADX 지표를 이용한 트렌드 강도 평가, 강한 트렌드에서만 거래
  3. 극한 시장 조건을 피하기 위해 RSI 필터링
  4. 거래 신호에 대한 제한 부피를 초과해야 하는 부피 분석
  5. n1 및 n2 라인 크로스오버를 통해 거래 방향 결정

다중 이동 평균 시스템은 기본 트렌드 판단을 제공합니다. ADX는 강한 트렌드에서만 거래를 보장합니다. RSI는 극단적인 추격을 피하는 데 도움이됩니다. 볼륨 분석은 높은 시장 활동 기간 동안 거래를 보장합니다.

전략적 장점

  1. 다중 확인 메커니즘은 거짓 유출 위험을 줄여줍니다.
  2. 기술 지표와 볼륨 분석의 통합은 거래 신뢰성을 향상시킵니다.
  3. RSI 필터링은 불리한 시장 조건에서 진입을 피합니다.
  4. ADX 사용은 명확한 트렌드에서 거래만 보장하고 승률을 향상시킵니다.
  5. 용량 요구 사항은 시장 합의에 도움이 됩니다
  6. 조절 가능한 매개 변수와 함께 명확한 전략 논리

전략 위험

  1. 여러 필터가 놓친 거래 기회를 초래할 수 있습니다.
  2. 다양한 시장에서 저조한 성과를 낼 수 있습니다.
  3. 매개 변수 최적화 위험 과잉 조정
  4. 이동 평균 시스템은 빠른 반전에서 지연할 수 있습니다.
  5. 볼륨 필터링은 유동성이 낮은 시장에서 기회를 제한할 수 있습니다.

위험 관리 권고:

  • 시장 특성에 따라 매개 변수를 조정
  • 적절한 스톱 로스 및 영업 취득 수준을 설정
  • 제어 위치 크기
  • 규칙적인 전략 백트 테스트

전략 최적화

  1. 시장 조건에 기반한 적응 매개 변수를 도입
  2. 높은 변동성 기간에 포지션을 조정하기 위해 변동성 필터를 추가합니다.
  3. 후속 정지로 출구 메커니즘을 개선
  4. 절대 값보다는 상대 값을 사용하여 볼륨 필터를 최적화
  5. 주요 뉴스 발표를 피하기 위해 시간 필터를 추가합니다.
  6. 더 나은 위험 평가를 위해 가격 변동성 지표를 추가하는 것을 고려하십시오.

요약

이 전략은 여러 가지 기술 지표가 협동하여 비교적 완전한 트렌드 다음 시스템을 구축합니다. 주요 특징은 다양한 필터를 통해 위험을 제어하면서 거래 신뢰성을 향상시키기 위해 여러 확인을 사용하는 것입니다. 일부 기회를 놓칠 수 있지만 일반적으로 거래 안정성을 향상시키는 데 도움이됩니다. 제안된 최적화 방향은 더 많은 전략 향상을위한 공간을 제공합니다.


/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-10 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Optimized Multi-MA Strategy with Volume, ADX and RSI", overlay=true)

// Kullanıcı Parametreleri
keh = input.int(3, title="Double HullMA", minval=1)
teh = input.int(3, title="Volume-Weighted MA", minval=1)
yeh = input.int(75, title="Base Weighted MA", minval=1)
rsiPeriod = input.int(14, title="RSI Period", minval=1)
adxPeriod = input.int(14, title="ADX Period", minval=1)
volumeLookback = input.int(10, title="Volume Lookback Period", minval=1)  // Son X mumun hacmi
adxThreshold = input.int(20, title="ADX Trend Strength Threshold", minval=1) // ADX için trend gücü eşiği

// Hareketli Ortalamalar
rvwma = ta.vwma(close, teh)
yma = ta.wma(close, yeh)
n2ma = 2 * ta.wma(close, math.round(keh / 2))
nma = ta.wma(close, keh)
diff = n2ma - nma
sqrtKeh = math.round(math.sqrt(keh))
n1 = ta.wma(diff, sqrtKeh)
n2 = ta.wma(diff[1], sqrtKeh)

// ADX Hesaplaması
trueRange = ta.rma(ta.tr, adxPeriod)
plusDM = ta.rma(math.max(high - high[1], 0), adxPeriod)
minusDM = ta.rma(math.max(low[1] - low, 0), adxPeriod)
plusDI = (plusDM / trueRange) * 100
minusDI = (minusDM / trueRange) * 100
dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100
adx = ta.rma(dx, adxPeriod)
trendIsStrong = adx > adxThreshold

// RSI Filtreleme
rsiValue = ta.rsi(close, rsiPeriod)
rsiFilter = rsiValue > 30 and rsiValue < 70  // Aşırı alım ve aşırı satım bölgelerinin dışında olmak

// Hacim Filtresi
volumeThreshold = ta.sma(volume, volumeLookback)  // Ortalama hacim seviyesi
highVolume = volume > volumeThreshold

// Sinyal Şartları (Sadece güçlü trendler ve rsi'nın aşırı bölgelerde olmaması)
longCondition = n1 > n2 and close > rvwma and trendIsStrong and rsiFilter and highVolume
shortCondition = n1 < n2 and close < rvwma and trendIsStrong and rsiFilter and highVolume

// Hacim Filtresi ile İşaretler
plotshape(series=longCondition and highVolume ? close : na, style=shape.triangleup, location=location.belowbar, color=color.blue, size=size.small, title="High Volume Long Signal")
plotshape(series=shortCondition and highVolume ? close : na, style=shape.triangledown, location=location.abovebar, color=color.purple, size=size.small, title="High Volume Short Signal")

// Strateji Giriş ve Çıkış Şartları
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Görsel Göstergeler
plot(n1, color=color.green, title="N1 Line")
plot(n2, color=color.red, title="N2 Line")
plot(rvwma, color=color.yellow, linewidth=2, title="VWMA")
plot(yma, color=color.orange, title="Base Weighted MA")


관련

더 많은