Будьте готовы к выходу свежего MetaTrader 4 с обновленным языком MQL4

 

В данный момент идет бета-тестирование новой версии MetaTrader 4. Главной ее особенностью стало изменение языка программирования MQL4 - он был существенно доработан и приближен по функциональным возможностям к языку MQL5.

Будьте готовы к выходу свежего MetaTrader 4 с обновленным языком MQL4

Разумеется, мы приложили максимум усилий, чтобы обеспечить совместимость со старыми MQL4-программами, однако в редких случаях возможны накладки. Если при компиляции нового кода вы все же наткнулись на ошибки, обратитесь, пожалуйста, в соответствующую ветку на форуме MQL4.com.

Хотим обратить особое внимание на следующие моменты:

1) В новом билде изменилась файловая структура для хранения исходных кодов. Если ранее все MQL4 программы хранились в корневой папке Program Files\<каталог_установки_терминала>\, то теперь они должны находиться в папке Users\<каталог_данных>\MQL4\. Поэтому если в программе прописан абсолютный путь к тому или иному файлу, в компиляторе можно нарваться на сообщение об ошибке. Во избежание такой ситуации следует указать относительный путь в исходном коде и заново его перекомпилировать. Каталог данных открывается из меню "Файл -> Открыть каталог данных".

2) Все старые EX4 файлы, если их никоим образом не изменять, будут корректно работать и в новом терминале. Для сохранения совместимости используется копия исполняющей среды предыдущей версии MQL4 - таким образом обеспечивается работоспособность всех старых кодов.

Подробнее обо всех изменениях в новом билде MetaTrader 4 вы можете узнать здесь. Настоятельно рекомендуем внимательно ознакомиться с указанным материалом.
 

Вопрос:

Планируется ли в МТ4 сделать Стандартную Библиотеку, максимально приближенную по структуре классов и их интерфейсов к Стандартной Библиотеке МТ5 ?

 
Уже сделали, включая графические обьекты.

Например, панели можно стоить для обоих платформ.
 
Renat:
Уже сделали, включая графические обьекты.
Например, панели можно стоить для обоих платформ.

Если библиотеки MQL4 и MQL5 будут унифицированы, то в перспективе появится возможность написания универсальных оветников, скриптов и индикаторов, но для этого наверное потребуется программная идентификация версий (MT4 || MT5), с помощью макросов во время компиляции или рантайм функций.

Может такая возможность уже предусмотрена, тогда подскажите.

 

У программистов добавится работу.

Все коды придется править. Избавляясь от таких сообщений:

 implicit conversion from 'number' to 'string' ExpCandleHighLowBreakdown_v3.mq4 34 39

possible loss of data due to type conversion ExpCandleHighLowBreakdown_v3.mq4 65 77

 
sandex:

У программистов добавится работу.

Все коды придется править. Избавляясь от таких сообщений:

 implicit conversion from 'number' to 'string' ExpCandleHighLowBreakdown_v3.mq4 34 39

possible loss of data due to type conversion ExpCandleHighLowBreakdown_v3.mq4 65 77

Это предупреждения, а не ошибки. Для старых кодов можно оставить, а для новых - сразу писать правильно.
 
papaklass:

Вы что, сделали сборки для VS? Теперь можно писать и отлаживать роботов в VS?

Нет, можно собирать простые дллки прямо в МЕ, вроде как.
 
artmedia70:
Это предупреждения, а не ошибки. Для старых кодов можно оставить, а для новых - сразу писать правильно.

 Я знаю. То есть вам будет удобно работать с такими лаптями.

 

 
Но это мелочи, чехарда начнется с областью видимости переменной и временем их жизни.
 
sandex:

 Я знаю. То есть вам будет удобно работать с такими лаптями.

У меня почему-то нет таких лаптей. Максимум штук 20 набирается в коде из нескольких тыщь строк. Всё зависит наверное от того, как привык писать код тот или иной программер.

И мне в старых кодах не мешает. А в новых - не будет.

 
sandex:
Но это мелочи, чехарда начнется с областью видимости переменной и временем их жизни.
И там всё чудно. У каждой переменной свой блок {}. В нём она и видна.
Причина обращения: