MQL4로 CMO 계산

4033 단어 MQL4
이전에는 iMA와 iBands 함수가 RCI의 iRCI 함수를 같은 방법으로 얻을 수 있다는 내용의 글을 썼는데, 역시 CMO를 받고 싶다는 댓글을 받아 쓴 것이다.
MQL4로 RCI 계산하기
iCMO
double iCMO(const string symbol, int timeframe, int period, int index)
{
    double up = 0.0;
    double down = 0.0;
    double diff = 0.0;

    for(int i = index + period - 1; i >= index; i--) { 
        diff = iClose(symbol, timeframe, i) - iClose(symbol, timeframe, i + 1); 
        if(diff > 0){ 
            up += diff; 
        } else if(diff < 0) {
            down -= diff;
        }
    }

    if (up + down == 0) {
        return(0);
    }

    return(100 * (up - down) / (up + down));
}

위에서 참조한 CMO 표시기, 다음은 iCMO 함수로 계산된 CMO입니다.
결과는 모두 같다.
추기
종가 변동에 페리오회가 연속으로 발생하지 않은 상태에서 오류(Zero divide)가 발생한 문제를 수정했다.

좋은 웹페이지 즐겨찾기