새로운 MQL4 컴파일러 및 편집기가 포함된 MetaTrader 4 IDE의 베타 버전

 

주제 시작:

아래는 MetaTrader 4/MQL4 및 MetaTrader 5/MQL5에 공통적인 IDE의 베타 버전입니다. 이것은 공개 미리 보기 버전입니다.

이전 버전의 MQL4와 차이점은 무엇입니까?

  • 논리적 AND/OR 연산의 우선 순위가 변경되었습니다. 이제 모든 것이 고전적인 C/C++와 같습니다.

  • 논리적 표현의 단축된 평가가 도입되었습니다. 이제 부울 표현식을 미리 평가할 때 나머지 하위 표현식은 평가되지 않습니다. C/C++에서처럼.

  • 이제 switch 문은 정수 값만 사용합니다. 이전에는 실제 사용이 가능했습니다.

  • 이제 변수 이름에 점을 사용할 수 없습니다. 또한 '@', '$', '?' 기호는 변수 이름에 사용할 수 없습니다.

  • 시작 기능에 대한 요구 사항이 더욱 엄격해졌습니다. 이전에는 시작 기능에서 매개변수를 지정할 수 있었습니다. 이제 모든 진입점은 init, start, deinit, OnInit, OnStart, OnTick, OnTimer 등입니다. 서명과 정확히 일치해야 합니다.

  • 키워드 확장으로 인해 더 이상 short, long, float, const, virtual, input, delete, new, do, char와 같은 이름을 사용할 수 없습니다.

  • 이제 가져온 dll 함수는 문자열 배열을 매개변수로 받아들일 수 없습니다. MQL5에서와 같이

  • 이제 사전 정의된 변수 이름 _Period, _Symbol, _LastError, _CriticalError, _StopFlag, _Point, _Digits, _UninitReason, _RandomSeed가 있으며, 이는 동일한 이름으로 기존 소스에 선언된 단순 변수와 충돌할 수 있습니다.

  • datetime형은 MQL5와 같이 8바이트가 되었습니다.

차이점은 치명적이지 않으며 코드에서 쉽게 수정됩니다. 그 대가로 많은 MQL5 기능, 실행 속도 및 훨씬 더 엄격한 품질 관리를 사용할 수 있습니다.


최대한 많은 피드백을 수렴하고 개발자들을 준비시키기 위해 다음 달 내내 공개 테스트를 진행할 계획입니다.

MQL5 포럼 토론: https://www.mql5.com/en/forum/13651

파일:
 

이것이 나를 가장 괴롭혔다.

Renat :

이제 가져온 dll 함수는 문자열 배열을 매개변수로 받아들일 수 없습니다. MQL5에서와 같이

왜 호환이 안될까요? 다시 작성하시겠습니까? MQL4 문자열 배열이 남아 있습니까? 그들이 남아 있다면 어떻게 금지했는지, 왜 그런지는 분명하지 않습니다.
 
DLL에서의 전송에 대해서만 연설합니다.
 
Renat :

MQL4 포럼 토론: https://www.mql5.com/ru/forum/13651

:)
 
MT4 포럼을 MT5 포럼의 섹션으로 만들 수 있습니까?
 
이전에는 컴파일할 때 전역 변수와 지역 변수의 이름이 같으면 경고가 발생하지 않았지만 이제는 "'dist' 선언은 63행에서 전역 선언을 숨깁니다. 함수의 형식 매개변수와 전역 변수의 이름이 일치합니다. 중요하고 프로그램의 동작에 영향을 줄 수 있습니까? 아니면 예를 들어 복잡한 프로젝트에서 혼란이 없도록 완전히 문체적으로 잘못된 것입니까? (나는 이미 머리 속에 변수의 범위 를 유지하는 데 익숙하고 종종 목적이 비슷한 변수를 같은 이름으로 부릅니다)
 
zenz :
... 이것이 중요하고 프로그램의 동작에 영향을 줄 수 있습니까?...
4k에서 변수의 잘못된 사용이 있는 경우 프로그램의 동작은 변경되지 않으며 새 컴파일러에서 유지됩니다.
 
새 편집기에서 파일을 컴파일하고 MT4.509로 밀어 넣었습니다. 삭제했습니다... :(
 
TarasBY :
새 편집기에서 파일을 컴파일하고 MT4.509로 밀어 넣었습니다. 삭제했습니다... :(

이전 터미널은 새 언어 형식에 대해 아무것도 모르기 때문에 이것은 자연스러운 일입니다.

지금까지 우리는 예비 테스트를 위한 편집기와 컴파일러만 출시했습니다. 몇 주 안에 우리는 새로운 프로그램 형식으로 작동할 수 있는 새 터미널의 베타 버전을 출시할 것입니다.

원본 메시지에 제공된 링크를 읽는 것이 좋습니다. 거의 모든 것이 거기에서 고려됩니다.

 
Renat :

이전 터미널은 새 언어 형식에 대해 아무것도 모르기 때문에 이것은 자연스러운 일입니다.

지금까지 우리는 예비 테스트를 위한 편집기와 컴파일러만 출시했습니다. 몇 주 안에 우리는 새로운 프로그램 형식으로 작동할 수 있는 새 터미널의 베타 버전을 출시할 것입니다.

원본 메시지에 제공된 링크를 읽는 것이 좋습니다. 거의 모든 것이 거기에서 고려됩니다.


아직 안 봤는데 테스터가 MT5처럼 따옴표를 붙이고 만들어 주면 더 좋을 것 같고 테스터를 프로세서 리소스에 붙여도 나쁘지 않을 것 같아요.
 
M2012K :

아직 안 봤는데 테스터가 MT5처럼 따옴표를 붙이고 만들어 주면 더 좋을 것 같고 테스터를 프로세서 리소스에 붙여도 나쁘지 않을 것 같아요.


만화 "도끼에서 나온 죽"을 기억하십니까? ;)))