//--- 평활화된 양수 및 음수 버퍼 채우기 ExtPDIBuffer[i]=ExponentialMA(i,ExtADXPeriod,ExtPDIBuffer[i-1],ExtPDBuffer); ExtNDIBuffer[i]=ExponentialMA(i,ExtADXPeriod,ExtNDIBuffer[i-1],ExtNDBuffer); //--- ADXTmp 버퍼 채우기 double dTmp=ExtPDIBuffer[i]+ExtNDIBuffer[i]; if(dTmp!=0.0) dTmp=100.0*MathAbs((ExtPDIBuffer[i]-ExtNDIBuffer[i])/dTmp); else dTmp=0.0; ExtTmpBuffer[i]=dTmp; //--- 평활화된 ADX 버퍼 채우기 ExtADXBuffer[i]=ExponentialMA(i,ExtADXPeriod,ExtADXBuffer[i-1],ExtTmpBuffer);
계산:
ADX = SUM ((+DI - (-DI)) / (+DI + (-DI)),N) / N
Where:
- N - 계산에 사용된 기간 수입니다;
- SUM (..., N) - N 기간의 합계;
- +DI -양의 방향성 지수 값;
- -DI - 음의 방향성 지수 값입니다.
많은 자동 거래 시스템이 ADX로 구축되어 있다는 것을 알고 있으므로 좋은 지수입니다.

Average Directional Movement Index (ADX):
The Average Directional Movement Index Indicator (ADX)는 가격의 추세가 있는 것인지 확인하는데 도움이 됩니다.
작성자: MetaQuotes