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

 

모든 것이 작동하는 것 같습니다.

작은 소원이 있습니다. "내비게이터" 창에서 Alt + M으로 기능 목록을 영구적으로 표시할 수 있습니까? 코드를 탐색하는 데 매우 편리합니다.

 
BorisMQL4 :
이전에 가능했던 것처럼 툴바를 어떻게든 사용자 정의할 수 있습니까?

예, 기존 패널 요소를 마우스 오른쪽 버튼으로 클릭하고 사용자 정의를 선택합니다.


모든 것은 MetaEditor 4와 동일합니다.

 
Renat :

이전 버전의 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 기능, 실행 속도 및 훨씬 더 엄격한 품질 관리를 사용할 수 있습니다.

처음 두 지점은 코드가 컴파일되지만 제대로 작동하지 않을 수 있기 때문에 특히 위험합니다.

더 추가할 수 있나요? 그렇지 않은 경우 수정합니다(베타 테스트 및 전체 확인을 위한 시간이 없음). (그래서 나는 그것이 절대적인 진실처럼 보이지 않도록 끝에(?) 쓸 것입니다):

  • 문자열이 유니코드(2바이트)가 되었습니다. 따라서 1바이트 문자 조작에 기반한 알고리즘은 올바르게 작동하지 않거나 작동하지 않습니다(?)
  • 함수(?)의 매개변수를 설명할 때 배열의 두 번째 차원 이상을 명시적으로 나타낼 필요가 있습니다.
  • 지역 변수 와 배열은 자동으로 초기화되지 않습니다. (?)
  • 배열은 기본적으로 더 이상 정적이지 않습니다(?)
  • 256자를 초과하는 행은 더 이상 잘리지 않습니다. (?)
  • 일부 상수는 내부 표현을 변경했습니다. 예를 들어, H1(?)으로 시작하는 차트 기간
  • ...
Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 

새 MQL4 프로그램의 진입점 목록

1. 기존 소스와의 호환성을 위해 잘 알려진 소스(init, start, deinit)가 남아 있습니다.

2. 추가:

OnInit, OnDeinit(Expert Advisors, 표시기 및 스크립트의 경우 init 및 OnInit, deinit 및 OnDeinit 기능의 동시 존재는 허용되지 않음)

스크립트용 OnStart(OnStart와 시작의 동시 존재는 허용되지 않음)

Expert Advisors용 OnTick (OnTick과 시작의 동시 존재 불가)

지표에 대한 OnCalculate(OnCalculate와 시작의 동시 존재는 허용되지 않음)

3. 추가:

전문가 자문 및 지표를 위한 OnTimer

전문가 고문 및 지표를 위한 OnChartEvent

전문가용 OnTester

 

표현식 평가에 대한 이러한 변경은 오래전에 수행되어야 합니다. 작가가 엄청난 표현을 쓰지 않는 이상 문제를 일으키게 되는 경우는 거의 없습니다.

문자열에는 문제가 없습니다. 문자열은 내부적으로 유니코드이며, DLL로 전송할 때 앞뒤로 자동 변환을 포함하여 터미널 외부에서 사용될 때 자동으로 ANSI로 변환됩니다(주문에 따라 주석 보내기). 즉, 호환성이 완료된 것입니다.

배열 차원 - 예. 지금은 다차원 배열이 있는 거친 게임을 잊어도 됩니다.다차원 배열 은 구조로 완벽하게 대체되기 때문입니다.

MQL4의 어레이는 정적인 것이 아니라 항상 동적인 것이었습니다.

아니요, 더 이상 256자 제한이 없습니다.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
stringo :

새 MQL4 프로그램의 진입점 목록

1. 기존 소스와의 호환성을 위해 잘 알려진 소스(init, start, deinit)가 남아 있습니다.

2. 추가:

OnInit, OnDeinit(Expert Advisors, 표시기 및 스크립트의 경우 init 및 OnInit, deinit 및 OnDeinit 기능의 동시 존재는 허용되지 않음)

스크립트용 OnStart(OnStart와 시작의 동시 존재는 허용되지 않음)

Expert Advisors용 OnTick (OnTick과 시작의 동시 존재 불가)

지표에 대한 OnCalculate(OnCalculate와 시작의 동시 존재는 허용되지 않음)

3. 추가:

전문가 자문 및 지표를 위한 OnTimer

전문가 고문 및 지표를 위한 OnChartEvent

전문가용 OnTester

OnTrade 및 OnTradeTransaction 이 계획되어 있습니까?
 
Renat :

러시아 스튜디오가 그만한 가치가 있습니까?

네, 러시아인입니다. 중요합니까?
 
fyords :
네, 러시아인입니다. 중요합니까?

러시아어로 된 krakozyab 문구를 제외하고는 중요하지 않습니다. 이 텍스트는 스튜디오의 응답에서 교정되었습니다.

우리는 이 문제를 해결하기 위해 노력할 것입니다.

 
Renat :

러시아어로 된 krakozyab 문구를 제외하고는 중요하지 않습니다. 이 텍스트는 스튜디오의 응답에서 교정되었습니다.

우리는 이 문제를 해결하기 위해 노력할 것입니다.

그렇군요 감사합니다만 스튜디오 5번째 편집자를 찾으면 문제가 해결되겠죠, 아니면 저에게 일종의 문제인가요?
 
Urain :
OnTrade 및 OnTradeTransaction이 계획되어 있습니까?
불행하게도.