Конвертер файлов EX4 в MQ4

Историческая справка

Файлы с расширениями EX4 и MQ4 связаны с программированием для торговой платформы MetaTrader 4 (MT4). Разница между ними состоит, главным образом, в назначении и содержании:

  1. Файлы с расширением .ex4 представляют собой скомпилированные исполняемые файлы экспертов (Expert Advisors), пользовательских индикаторов и скриптов, разработанных для использования в торговой платформе MT4. Эксперты, индикаторы и скрипты пишутся на языке программирования MQL4, а затем компилируются в бинарный формат .ex4, который может быть загружен непосредственно в MT4 и запущен в торговом терминале без необходимости дополнительной компиляции на стороне пользователя.
  2. 2. Файлы с расширением .mq4 содержат исходный код экспертов, индикаторов и скриптов, написанных на языке программирования MQL4 для платформы MetaTrader 4. Эти файлы являются текстовыми файлами, которые могут быть просмотрены и редактированы с помощью текстовых редакторов или специальных интегрированных средств разработки (IDE) в MT4. После редактирования исходного кода пользователь должен скомпилировать файл .mq4 в исполняемый файл .ex4, прежде чем загружать его на торговую платформу MT4.

Конвертирование между форматами

Поскольку файлы обоих рассматриваемых форматов фактически содержат один и тот же программный код, они могут быть преобразованы один в другой. Остановимся на этом чуть подробнее.

Конвертация MQ4 в EX4

Trader with EX4 to MQ4 converter

Для конвертации файлов MQ4 в формат EX4 предназначена интегрированная среда разработки (IDE) торгового терминала МТ4, которая входит в комплект поставки MetaTrader и называется MetaEditor. Для её запуска достаточно нажать кнопку на панели инструментов MT4. Также при установке торгового терминала на рабочем столе и в меню Пуск Windows создаются ярлыки для запуска MetaEditor.

В среде MetaEditor достаточно открыть файл MQ4 и нажать кнопку F7. Если программный код на языке MQL4 на содержит ошибок, он будет скомпилирован в бинарный код. В результате будет создан файл с расширением .ex4, имеющий то же имя, что и исходный файл в формате .mq4. Скомпилированный советник, индикатор или скрипт также появятся в соответствующем списке в окне Навигатор торгового терминала.

Конвертация EX4 в MQ4

Обратный процесс значительно сложнее. К сожалению, торговая платформа MetaTrader 4 не имеет встроенного инструмента для преобразования файлов EX4 в формат MQ4. Это было возможно до февраля 2014 года. В те времена исходный код программ на языке MQL4 компилировался в так называемый байт-код, откуда мог быть сравнительно легко восстановлен в первоначальное состояние (терялись только комментарии).

В марте 2014 года разработчик торгового терминала MetaTrader, компания MetaQuotes, выпустила релиз MT4 сборки 600, где идеология компиляции советников, индикаторов и скриптов была радикальным образом изменена. С марта 2014 года и по настроящее время исходный код, содержащийся в файлах с расширением MQ4, компилируется непосредственно в бинарный код, то есть в формат команд, понимаемых процессором, но не людьми. К сожалению, создать автоматический инструмент для конвертации файлов EX4 в MQ4 не представляется возможным.

Конвертер EX4 в MQ4: решение найдено

Хорошая новость заключается в том, что при должном усердии и наличии отладчика реального времени можно воссоздасть исходный код файла EX4 выполняя его шаг за шагом так, как это делает торговый терминал. Эта работа занимает много времени и может быть выполнена только специалистом высокой квалификации. Но результат часто стоит затраченных усилий — трейдер получает полностью восстановленный исходный код, идентичный оригиналу. Благодаря этому он может понять логику работы советника и при необходимости внести в неё изменения.

В наши дни конвертер EX4 в MQ4 реализован в рамках популярной концепции SaaS — трейдер загружает исходный код в формате EX4 на сайте специализированного сервиса, где силами квалифицированных специалистов осуществляется его обратный инжиниринг, тестирование и проверка идентичности оригиналу. После завершения работы трейдер получает файл в формате MQ4.

Адрес сервиса: https://ex4tomq4.pro/ru