Чтобы скомпилировать файл исходного кода из командной строки, вы можете использовать для этого MetaEditor. Например:
metaeditor.exe /compile:"C:\Program Files\Platform\MQL5\Scripts\myscript.mq5"
Для 64-разрядной версии используйте metaeditor64.exe
.
В Linux/macOS этого можно добиться с помощью Wine, например:
wine metaeditor.exe /compile:"MQL4/Experts/MACD Sample.mq4"
Для массовой компиляции вы можете указать папку, например:
metaeditor.exe" /compile:"MQL5\Scripts"
Чтобы указать пользовательскую папку MQL5/MQL4 с включаемыми файлами, вы можете использовать параметр /inc
, например:
metaeditor.exe /compile:"./Scripts" /inc:"C:\Program Files\TradingPlatform 2\MQL5"
Для получения дополнительной информации о процессе компиляции вы можете использовать /log
:
metaeditor.exe /compile:"C:\Program Files\Platform\MQL5\Scripts\myscript.mq5" /log
Чтобы проверить только синтаксис, добавьте дополнительные /s
.
Если компиляция завершится ошибкой, в папке платформы будет создан файл MQL4.log
с соответствующими данными. Он будет в формате UTF-16, поэтому вам может понадобиться специальный инструмент (например, Vim, Ruby, findstr
или rg
).
Чтобы указать собственный файл журнала компиляции, используйте параметр /log:file.log
, например.
metaeditor.exe /log:errors.log /compile:.
Примечание. Отображение на стандартный вывод не поддерживается (хотя в Linux вы можете использовать: /log:CON
).
Для получения дополнительной информации см.: Компиляция из командной строки
Некоторое время назад вы могли скачать компилятор программ MQL4/MQL5, который запускается отдельно от MetaEditor — MQL.exe
. Он распространялся отдельно от терминала и его можно было скачать по следующим адресам:
https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mql.exe
https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mql64.exe
Использование (согласно MQL4/MQL5 Compiler build 1162 от 02.07.2015):
mql.exe [<flags>] filename.mq5
/mql5 - compile mql5 source
/mql4 - compile mql4 source
/s - syntax check only
/i:<path> - set working directory
/o - use code optimizer
Однако автономный компилятор был намеренно удален, поэтому теперь ссылки указывают на установщик в пользу MetaEditor.
Гораздо более старая версия MetaTrader до сборки 600 включала metalang.exe
в платформу.
Однако в сборке 616 компания MetaQuotes намеренно удалила компилятор (mql.exe
/mql64.exe
) из стандартной установки MetaTrader.
Это означает, что если вы обновите свою платформу MT (›616), исполняемый файл компилятора будет удален.
person
kenorb
schedule
08.09.2015