Visual Studio Code をMQL4のエディタとして使う

MQL4のコーディングで、MetaEditorの代わりに使えるエディタを探して見つけたのが VSCode(Visual Studio Code)です。

矩形選択ができるうえに、Grep(複数のファイルを横断した検索)も使えるので、EAやインジケーターのファイルが増えても目的の箇所をすぐに探せます。

(以前は Notepad++ も使っていましたが、MT4側の仕様変更で使いづらくなったため、VSCodeに切り替えました)

[PR]


Visual Studio Code

もう何年もVSCodeを使っていますが快適です。日本語のコメントも入れやすく、動作が軽くて検索も速いのが気に入っています。

MQL5の設定方法はこちらの記事にまとめています。

Download

まずはダウンロードです。Visual Studio Code の公式サイトから、Windows版をダウンロードします。

Mac版やLinux版もありますが、VSCodeからコンパイルするには MetaEditor が必要です。

MetaEditorはMT4をインストールすると一緒に入りますが、MT4は基本Windows向けのソフトなので、MetaEditorもWindowsが前提になります。そのため、Windows版を選んでおくのが一番手間がかかりません。

ダウンロードが終わったら、インストールを始めます。

VSCodeがインストールされました。

Compile Setting

次に、VSCodeからコンパイルできるように設定します。

左側のアイコンから「拡張機能(Extensions)」をクリックし、検索窓に MQL4 と入力すると、いくつか候補が出てきます。

最低限、以下の2つをインストールします。

  • MQL4 Syntax Highlight(MQL4のコードを色分け表示)
  • compilemql4(VSCodeからMetaEditorを呼び出してコンパイル)

インストールしたら、compilemql4 のREADME(説明ページ)に目を通しておきましょう。ポイントをまとめると次のとおりです。

  • MetaEditorがインストールされている必要がある
    • どこかのブローカーのMT4をインストールしておく、ということです
  • Compile After Save にチェックを入れると、保存したときに自動でコンパイルされる
  • Metaeditor Dir に metaeditor.exe のパスを設定する(必須)
  • ヘッダーファイル(.mqh)を使う場合は、Includeフォルダのパスを Include Dir に設定する*1
  • コンパイルログが出力される。何も設定しなければ、コンパイルしたファイルと同じフォルダに compilemql4.log として出力され、Log Dir で出力先を変えることもできる

これらを順に設定していきます。compilemql4 の歯車(設定)アイコンから「Extension Settings」を開きます。

パス設定の画面

ここで注意したいのは、MT4関連のパスが2種類あることです。

① MT4本体(exeファイル)があるフォルダ
C:\Program Files (x86)\… 以下にあり、metaeditor.exe もここに入っています。

② インジケーターやEAが置かれている「データフォルダ」
C:\Users\…\AppData\Roaming\MetaQuotes\Terminal\…\MQL4\… のようなパスです。MT4のメニュー「ファイル」→「データフォルダを開く」で開けます。

この2つを区別したうえで、各項目を次のように設定します。

設定項目 設定する値(例) ポイント
Compile After Save チェックを入れる 保存(Ctrl+S)するだけで自動的にコンパイルされる
Include Dir C:\Users\…\AppData\Roaming\MetaQuotes\Terminal\…\MQL4\Include ②のデータフォルダ側。Includeファイルを使わないことも多いので、必須ではない
Log Dir C:\Program Files (x86)\Dukascopy MetaTrader 4\compile.log コンパイルログの出力先。空欄ならコンパイルしたファイルと同じフォルダに出力される
Metaeditor Dir C:\Program Files (x86)\Dukascopy MetaTrader 4\metaeditor.exe ①のMT4本体側(必須)。テスト・デバッグに使うMT4のものを指定しないと、IncludeやLibraryの場所が合わなくなる

試しに、MT4のメニューから「データフォルダを開く」を選び、\MQL4\Experts にある MACD Sample.mq4 をVSCodeで開いてコンパイルしてみます。

Compile After Save を有効にしているので、メニューから保存を選ぶか、Ctrl+S を押すだけでコンパイルされます。

問題なくコンパイルできています。

(*1) #include のパスに注意

この例では、Metaeditor Dir に Dukascopy のMT4の metaeditor.exe を指定し、Include Dir もそのMT4のデータフォルダに合わせています。そのため、別のMT4でテスト・デバッグしようとすると、includeファイルの場所が食い違ってエラーになることがあります。

標準ライブラリだけを使っているなら問題ありませんが、自作のincludeファイル(.mqh)を使っている場合は、ファイルを移動するか、パスを設定し直してください。

MQL Toolsを使う方法

MQL5の記事で紹介している拡張機能 MQL Tools でも、MQL4のコンパイルができます。

MQL Toolsの設定で Mql_tools.Metaeditor: Metaeditor4 Dir にMT4の metaeditor.exe のパスを入れれば、MQL5と同じ環境でMQL4も扱えます。コードの色分けやコンパイルに加えて、F1キーでMQLのヘルプを開く機能などもあるので、MT4とMT5の両方を使う場合はこちらにまとめるのも一つの方法です。

設定手順は「Visual Studio Code による MQL5 の開発環境を設定」を参考にしてください。

VSCodeをMQL4のエディタとして使う上でのエラーやTipsは、こちらにまとめています。

Visual Studio Code MQL4でのTips とErrors

シェアする

  • このエントリーをはてなブックマークに追加

フォローする