DMI 멀티플라이어 이동 평균 거래 전략


생성 날짜: 2023-09-13 14:42:19 마지막으로 수정됨: 2023-09-13 14:42:19
복사: 1 클릭수: 797
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

새로운 양적 거래 전략, 이 전략은 주로 DMI 지표에 기반하여 시장 상황의 바닥과 꼭대기를 식별합니다. 이 글은 이 거래 전략의 원리와 장점, 그리고 잠재적인 위험을 자세히 설명합니다.

전략 원칙

DMI 지표는 평균 방향 운동 지표 (Average Directional Movement Index) 로 불리며, 1970년대 웰스 윌더 (Welles Wilder) 에 의해 시장의 경향과 강도를 판단하기 위해 제안되었다. DMI 지표는 3개의 선으로 구성된다:

  • +DI: 상승세를 나타내는 강도
  • -DI: 하락세를 나타내는 강도
  • ADX: 트렌드의 평균 강도를 나타냅니다.

+DI가 DI를 넘어서면 상승세가 강화되는 것을 의미하며, 더 많은 것을 고려할 수 있습니다. +DI가 DI를 넘어서면 하락세가 강화되는 것을 의미하며, 공백을 고려할 수 있습니다.

이 전략의 핵심 논리는 다음과 같습니다.

  1. +DI가 10을 쓰면, 그리고 -DI가 40을 쓰면, 더 많이 쓰세요.
  2. -DI 라인 아래 10과 +DI 라인 위 40을 밟으면 공백을 둡니다.

즉, 역 DI 선이 수직 DI 선보다 현저하게 강할 때, 현재 추세가 반전될 것이라고 판단할 수 있으며, 이때 적절한 개입을 통해 역전작업을 할 수 있다.

오류를 필터링하기 위해, 이 정책은 DI의 평균선을 사용하며, 구체적인 파라미터는 다음과 같습니다:

  • +DI와 -DI의 주기 길이는 모두 11입니다.
  • ADX의 평형주기는 11

평균선 변수를 조정하여 거래 신호의 빈도를 제어한다.

이 전략은 주로 NIFTY50 지수 옵션 거래에 적용되지만 다른 품종에도 사용할 수 있습니다. 특정 거래 시 평준 옵션을 선택하여 손실이 10% 이상인 경우 20%의 손실을 설정하고, 손실이 초기 투자 자금의 20% 이상을 확장하면 손실을 중단합니다.

전략적 이점

간단한 DI 크로스 전략에 비해, 이 전략은 DI 지표의 평균선 필터링을 적용하여, 휘파람을 효과적으로 줄일 수 있으며, 거래 횟수를 줄일 수 있어 거래 비용과 슬라이드 포인트 손실을 줄일 수 있다.

단순한 트렌드 추적 전략에 비해, 이 전략은 트렌드 역점을 판단할 때 비교적 정확하며, 역점 근처의 거래 기회를 적시에 잡을 수 있다.

이 정책의 매개 변수를 최적화하는 것은 비교적 간단하며 효과 최적화를 실현하기 쉽다.

위험 경고

이 전략은 거래 신호의 방향을 제시하는 것뿐이며, 구체적인 스톱로스 요구사항은 개인의 위험 선호도에 따라 설정해야 합니다.

DMI 지표는 지역 정렬을 할 때 많은 가짜 신호를 생성할 수 있으며, 비 트렌드 시장에서 이 전략을 사용하는 것은 피해야 한다.

DI 교차는 100% 트렌드 전환점을 예측할 수 없으며, 일정 시간 순서 오류가 있습니다. 거래 신호를 검증하기 위해 다른 지표와 적절히 결합해야합니다.

요약하다

이 전략은 DI 평평선 필터링을 통해 트렌드 반전 기회를 효과적으로 식별할 수 있다. 다른 트렌드 추적 전략에 비해 반전 식별 능력이 더 강하다. 전반적으로 이 전략의 매개 변수는 양적 거래 시스템의 모듈로 사용하기 위해 최적화되고 유연하다. 사용 시 잘못된 신호를 방지하고 시장 추세를 적절하게 평가하는 데 주의가 필요합니다.

전략 소스 코드
/*backtest
start: 2023-09-05 00:00:00
end: 2023-09-12 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © email_analysts
// This code gives indication on the chart to go long based on DMI and exit based on RSI. 
//Default value has been taken as 14 for DMI+ and 6 for RSI.
//@version=5
strategy(title="DMI Strategy", overlay=false)
lensig = input.int(11, title="ADX Smoothing", minval=1, maxval=50)
len = input.int(11, minval=1, title="DI Length")
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, len)
plus = fixnan(100 * ta.rma(plusDM, len) / trur)
minus = fixnan(100 * ta.rma(minusDM, len) / trur)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)
//plot(adx, color=#F50057, title="ADX")
plot(plus, color=color.green, title="+DI")
plot(minus, color=color.red, title="-DI")
hlineup = hline(40, color=#787B86)
hlinelow = hline(10, color=#787B86)

buy = plus < 10 and minus > 40
if buy
    strategy.entry('long', strategy.long)

sell = plus > 40 and minus < 10
if sell
    strategy.entry('short', strategy.short)