Обживаем компилятор MQL5

Обживаем компилятор MQL5

5 декабря 2015, 20:12
Igor Volodin
5
459

В этом посте речь пойдет о работе с компилятором MQL5 из командной строки. Отдельный компилятор может быть полезен, например, при использовании внешнего редактора.

Преамбула


После очередного рефакторинга моего проекта, при компиляции стал вылетать Metaeditor. Разобравшись в ситуации выяснил, что виной тому оптимизатор. В режиме отладки все работает.

Вылетает как в 32-х, так и 64-х битной версии. Кстати, на одном из ноутбуков, была необновляемая где-то полгода версия, проверил - проблем нет.

До выяснения причин нужно продолжать работать, а пользоваться постоянно отладкой для запуска совсем неудобно. Если раньше я мог воспользоваться сочетанием Ctrl-F7 находясь на любой вкладке с включаемым файлом (а у меня порядка 10-15 классов иногда открыто), то сейчас необходимо нажимать Shift-F5 и F5 для остановки отладки и запуска, при этом фокус всегда переводится на вкладку основной программы и контекст редактирования теряется.

Скачиваем компилятор

После 900 билда компилятор встроили в metaeditor. Поэтому качаем по одной из ссылок из этого поста https://www.mql5.com/ru/forum/21374 .

Делаем BAT файл


Создаем отдельную папку на рабочем столе (именно на рабочем столе, иначе хоткей не сработает) кладем туда компилятор и в ней же делаем .bat файл для запуска:

color 17
mode con:cols=124 lines=50
mql.exe /o /mql5 /i:"Путь к каталогу данных\mql5" "Путь к каталогу данных\mql5\experts\myproject.mq5"
pause

Первые 2 строчки это настройки окна вывода, специально делаем пошире, чтобы видеть сообщения компилятора в одну строчку.

Ключ /o указывает на использование оптимизатора компилятора.

/i - задает рабочий каталог, это важно для корректного нахождения путей указываемых в include

"Путь к каталогу данных" берем из Metaeditor, меню "Файл"->"Открыть каталог данных" и копируем его из поля "Адрес" .

В одной из систем у меня он примерно такой:

C:\Users\1\AppData\Roaming\MetaQuotes\Terminal\D0E8209F7789199AF727DE81727B1F626A076


Настраиваем сочетание клавиш


По правой кнопке делаем ярлык для BAT файла, в свойствах указываем сочетание клавиш для быстрого запуска. Я взял незанятое: Shift-Alt-1

Готово! Пишем код и компилируем его по сочетанию клавиш.

Улучшения


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

Кстати, дополнительным преимуществом использования внешнего компилятора, является скорость компиляции. Даже с включенным режимом оптимизации мой проект компилируется за 0.5 - 0.6 сек. В Metaeditor'е компиляция занимала 9-10 секунд.

P.S. Но все-таки, из-за скорости, есть определенные сомнения насчет того, что оптимизатор из командной строки действительно работает.

 

 

 


Поделитесь с друзьями: