MQL4のコーディングでMetaEditorの代わりに使えるものがないかと探していましたら、VSCode (Visual Studio Code) がありました
これのいいところは矩形選択やGrepができるのでファイルを横断して検索できます
(以前は、notepad++ というのもあったのですが、MT4の改変で使いづらくなったようなのでVSCodeにしました)
Visual Studio Code
何年もVSCodeを使っていますが快適です
日本語コメントも入れやすいし、検索も早い軽い
Download
まずはダウンロードです。
Visual Studio Code こちらから、Windows版をダウンロードします。
MacやLinuxがありますが、コンパイラーと関連付けをしたい場合は MetaEditor が必要なのでWindowsにしたほうが苦労はありません
MetaEditorはMT4をインストールするとついてくるので、
MT4は基本Windows向けなのでMetaEditorもWindowsの枷があります
ダウンロード後はインストールを始めます。
VS-Codeがインストールされました。
Compile Setting
コンパイラーを設定しましょう。
左のアイコン 拡張機能(Extensions) をクリック
「検索窓」に MQL4 を入力すると
いくつか候補が出てきます。
最低限として以下をインストール
- MQL4 Syntax Highlight
- compilemql4
READMEを読んでおきましょう。まとめると
- MetaEditorがインストールされている必要がある
- どこかのブローカーのMT4をインストールしておくということです
- Compile After Save にチェックをいれると保存時に自動的にコンパイルできる
- Metaeditor.exeのパスを設定する必要がある
- header ファイルのIncludeのパスを設定することでできる*1
- コンパイルログが出力されるが、出力先を設定することも可能
以上のことを設定していきます
metaeditor.exe のパスを設定するために、compilemql4の設定アイコンから
「Extension Settings」を開きます。
パス設定
注意点として、パスは2種類あり、
1.MT4のexeファイルがあるProgram Files(x86)以下のパスと
2. MT4のインジケータやEAが配置されている以下のうようなパスです
C:\Users\…\AppData\Roaming\MetaQuotes\Terminal\…\MQL4\…
MT4の「データフォルダを開く」から展開されています
- Compile After Save にチェック
- Include Dir の設定
- C:\Users\…\AppData\Roaming\MetaQuotes\Terminal\…\MQL4\Include
- MT4の..\MQL4¥Include のパスを設定します
Includeにファイルを入れない場合も多々あるので必須ではありません
- Log Dir
- C:\Program Files(x86)\Dukascopy MetaTrader 4\compile.log
- コンパイルのログを残す場所を決めておきます
- metaeditor.exeのパス設定
- C:\Program Files(x86)\Dukascopy MetaTrader 4\metaeditor.exe
- テストデバッグを行うMT4のパスで指定しないとIncludeやLibraryなどが合わなくなる
例として、MT4を起動してメニューから「データフォルダを開く」
\MQL4\Experts 以下にある
MACD sample.mq4 を取り込んでコンパイルしてみます
保存で自動コンパイルできるのでメニューから保存を選択、あるいはCtrl+S
問題なくコンパイルできています。
(*1) #includeのパスに注意
この例ではmetaeditor.exeのパスを設定 Alpari のMT4で設定しましたが
これは同時にincludeのパスも同じAlpariの作業フォルダに設定されるため、他のMT4でデバッグしようとするとincludeファイルのパスが異なりエラーになりることがあります。
標準ライブラリーならばいいのですがカスタムファイルは場所を移動するか、パスを変える必要があります
VSCodeをMQL4のエディターとして使う上でのエラーやTipsはこちらを見てください
Visual Studio Code MQL4でのTips とErrors