DMI 이동 평균 거래 전략

저자:차오장, 날짜: 2023-09-13 14:42:19
태그:

최근에 나는 시장의 바닥과 꼭대기를 식별하기 위해 주로 DMI 지표에 기반한 새로운 양적 거래 전략을 개발했습니다. 이 기사는이 거래 전략의 논리, 장점 및 잠재적 위험을 상세히 설명합니다.

전략 논리

평균 방향 움직임 지표 (DMI) 는 1970년대에 시장의 경향과 강도를 측정하기 위해 웰스 와일더 (Welles Wilder) 에 의해 만들어졌다. DMI는 세 가지 라인으로 구성된다.

  • +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 크로스오버는 트렌드 반전을 완전히 예측할 수 없습니다. 일부 타이밍 오류가 발생할 수 있습니다. 다른 지표가 거래 신호를 검증하는 데 사용되어야합니다.

결론

이 전략은 트렌드 전환 기회를 효과적으로 식별 할 수 있습니다. 다른 트렌드 다음 전략과 비교하면 역전 인식 능력이 강하다는 장점이 있습니다. 전반적으로이 전략은 유연한 매개 변수 조정을 가지고 있으며 양적 거래 시스템에서 모듈로 사용될 수 있습니다. 잘못된 신호에주의하고 사용할 때 시장 체제를 적절히 평가하십시오.


/*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)



더 많은