mql4는 절차 프로그래밍에 가깝고 mql5는 객체 지향 프로그래밍에 가깝다.
제일 먼저 중요한 주문내는 타입이 다르다. mql4는 ordersend 주문함수에 변수값을 일일히 다 넣어주었지만 mql5는 mqlrequest 객체에 속해있는 익절 손절 심볼 등과 같은 변수값을 수정하여 ordersend 주문함수에 변수값은 요청객체(mqlrequest)와 결과객체(mqlresult)만 들어간다. 즉 두 단계로 들어간다는 것, 주문이 요청과 결과 수신으로 이루어진다는 것인데 요청객체에 변수를 수정하여 요청객체에 들어있는 변수가 통째로 주문함수에 들어간다.
mql5부터는 close open과 같은 배열이 사라졌다. mql4에서는 close[1]은 하루 전 종가를 나타냈으나 이제는 배열을 따로 만들어야한다. 이를 위해 mql5부터는 copybuffer라는 함수가 주어지는데 이 함수를 이용해 종가 시가 뿐만 아니라 이동평균값과 같은 특정 가치값을 버퍼배열에 담을 수 있다.
명칭이 기억은 안나지만(;;;) 이미 프로그래밍 언어 속에서 정해진 변수(예를 들어 Point Digit) 앞에 _이 붙는다. 즉 Point는 이제 _Point라고 쓰게 된다.
mql5를 익히게 위해서는 c++를 배우는 편이 좋다. 클래스 정도까지는 모르더라도 객체에 대한 이해는 필요하다
[출처] mql4와 mql5의 차이점|작성자 제이
'프로그래밍 > MQL4' 카테고리의 다른 글
MQL Document of the SITE. (0) | 2013.07.30 |
---|