Компиляция .mq4 под Metaeditor 5 - есть ли выгода? - страница 2

 
Alexey Volchanskiy:

Юра-а-а-а!!!!!! Ну хоть ты-то умный человек, прочти первый пост! Да, соединили, но не факт, что внутри один компилятор на mql4/5. Возможно, сидит старый от mql4 и новый mql5.


Скомпилируйте один и тот же код в MT4 и в MT5 и сравните размер полученного файла, если полностью совпадают то вот и ответ, если не совпадают то тоже ответ.

 
Vitaly Muzichenko:

Вроде писали, что компилятор один для всех, и пятёрочный будет компилировать четвёртые файлы без изменений.

Yuriy Zaytsev:

Леша,  запустив редактор из под МТ4,  можно компилировать даже mq5.   Вроде давно соединили редактор,  он же  общий для мт5 и мт4

Ну то, что компилятор МТ5 научили компилировать mq4, это еще понятно. Но в MQL5, реализованы другие принципы работы с ордерами. Кроме того, введены понятия "ордер" и "позиция", отдельно друг от друга и т.п. И вообще, все переделали с целью более грамотного использования ресурсов ПК и так далее. Как, тогда, компилятор МТ4 может компилировать mq5 программы?
 
Vladimir Zubov:

Скомпилируйте один и тот же код в MT4 и в MT5 и сравните размер полученного файла, если полностью совпадают то вот и ответ, если не совпадают то тоже ответ.


уже делаю ))

 
Vladimir Zubov:

Скомпилируйте один и тот же код в MT4 и в MT5 и сравните размер полученного файла, если полностью совпадают то вот и ответ, если не совпадают то тоже ответ.


уже одинакового не получится, на

#property show_inputs

выдает варнинг 

property already exists with different value and will be skipped TestSpeedOperations.mq4 10 11

буду скорость мерять


 
Vladimir Zubov:

Скомпилируйте один и тот же код в MT4 и в MT5 и сравните размер полученного файла, если полностью совпадают то вот и ответ, если не совпадают то тоже ответ.

Разные будут все равно. Достаточно два раза подряд скомпилировать один и тот же код в одном и том же редакторе. Размеры будут разные. 
 
Ihor Herasko:
Разные будут все равно. Достаточно два раза подряд скомпилировать один и тот же код в одном и том же редакторе. Размеры будут разные. 
И правда! А почему так происходит?
 

Как тут заметил Ihor Herasko, по размеру ориентироваться нельзя.

А скорости выполнения теста практически одинаковы, из чего делаю вывод, что в Metaeditor 5 используется старый MQL4 компилятор.

Вывод: редактировать .mq4 под пятеркой имеет смысл только при разработке кросс-платформенных программ, чем я сейчас и занят

 
Alexey Volchanskiy:
И правда! А почему так происходит?
Насколько я понимаю, это сделано специально, чтобы затруднить взлом ex-файла. Как минимум, сразу на ум приходит использование текущей даты/времени в качестве некоторого ключа для генерации исполняемого файла. Но, думаю, в компиляторе есть и получше решения.
 
Ihor Herasko:
Насколько я понимаю, это сделано специально, чтобы затруднить взлом ex-файла. Как минимум, сразу на ум приходит использование текущей даты/времени в качестве некоторого ключа для генерации исполняемого файла. Но, думаю, в компиляторе есть и получше решения.

Да, это здравая мысль, сразу и не дошло )

 

Хотя компилятор для обоих языков MQL4/MQL5 один, но все оптимизации включены только в x64 версиях MQL5 кода.

MQL4 и MQL5 в 32 битах работают примерно одинаково. 32 бит и 64 бит ветки совершенно разные. MQL4 код всегда 32 битный и не зависит от того, в каком компиляторе или битности собран.

Мы заняты оптимизацией только 64 битных версий MQL5 программ.

Причина обращения: