2018年6月2日土曜日
[MQL4] metaeditor.exe を使ってコマンドラインで mq4 ファイルをコンパイルする方法
コマンドラインで mql4 ファイルをコンパイルしたい場合、`metaeditor.exe` のオプションが使えます。 > 参考 > > [コンパイル - プログラム作成 - MetaTrader 5](https://www.metatrader5.com/ja/metaeditor/help/development/compile) ### コンパイル方法 `metaeditor.exe` に `/compile:{path}` をつけて実行します 。 ```console `gutter:false; C:\Users\yusuke\Metatrader> .\metaeditor.exe /compile:".\MQL4\Experts\Moving Average.mq4" ``` ### ヘッダファイルの場所を指定する 依存するヘッダファイルがある場合、そのヘッダがあるディレクトリ(インクルードディレクトリ)を `/include:{path}` で指定します。 ```console `gutter:false; C:\Users\yusuke\Metatrader> .\metaeditor.exe /compile:".\MQL4\Experts\Moving Average.mq4" /include:"C:\Program Files\TradingPlatform 2\MQL5" ``` なお、ヘッダファイルが `metaeditor.exe` 直下の `MQL4` ディレクトリにある場合、`/include:{path}` の代わりに `/portable` を使用することも可能です。 ```console `gutter:false; C:\Users\yusuke\Metatrader> .\metaeditor.exe /portable /compile:".\MQL4\Experts\Moving Average.mq4" ``` > 参考 > > [プラットフォームの起動 - 上級ユーザーのために - MetaTrader 5](https://www.metatrader5.com/ja/terminal/help/start_advanced/start) ### PowerShell だと動作がおかしい? この方法、PowerShell でも動作するのですが、スペースを含むパスを指定すると動作しません。 エスケープしたりいろいろ試したのですが、どうもうまくいかず 。 というわけで、PowerShell は使わない方がよいです。