FXで自動取引するプログラムを作ってみようと思い立ち、MT4のMetaEditorを使ってカスタムインディケータを編集していましたが、慣れたVisual Studio Codeで編集する際に導入した拡張機能と設定について備忘録的に投稿します。
型や変数を色分けして表示
VSCodeでは、C#やJavaScriptを表示した際に型や変数が色分けされて表示されます。
MQLで構成されているmq4/mp5ファイルをVSCodeで開いてみると、テキストファイルと同様に色分けされずに表示されてしまいます。
拡張機能の[MQL4 Syntax Highlight]をインストールすると
C#やJavaScriptと同様に、型やコメントなどが色分けされて表示されるようになります。
これだけでも随分、mq4/mp5ファイルを編集しやすくなります。
IntelliSense の下準備
事前の拡張機能と設定が必要になりますが、先頭文字を入力すると候補を表示してくれる「IntelliSense」を .mq4/.mq5 ファイルでも利用できるようになります。
最初にインストールするのが[MQL-syntax-over-cpp]
[C/C++ Extension Pack]のインストールがオススメされた場合は、ついでにインストールします。
既にインストール済の場合は、そのまま設定に入ります。
赤波線の非表示
コードを編集する際に型や構文に、下線が追加される場合があります。気になる場合は、次の設定を変更して非表示にできます。
1.[ユーザー設定]画面で “c_cpp.errorsquiggles” を検索します。
2. 設定一覧から[disabled]を選択します。
表示されていた赤波線が非表示になります。
ファイルの関連付け
MQLとして利用するファイルの拡張子を関連付けを行います。
拡張機能の説明では、JSON形式で設定する手順が記載されていますが、現在のVSCodeのGUIを使った設定は次の手順で行います。
1.[ユーザー設定]画面で “files.associations” を検索して[項目の追加]をクリックします。
2. 追加された[項目]と[値]に拡張機能の説明に記載されていた “*.mqh” と “cpp” を入力して[OK]をクリックします。
3. 同様の操作で “*.mq4” と “*.mq5” を追加します。
インクルードパスの設定
利用するインクルードファイルの場所を設定します。
1.[MetaEditor]の[ナビゲータ]画面で[MQL4¥Inclue]を選択して右クリックして表示されたポップアップメニューから[フォルダを開く]を選択します。
2. 表示されたエクスプローラーのアドレス部分をすべて選択してクリップボードにコピーします。
3. VSCodeの[ユーザー設定]画面で “c_cpp.includepath” を検索して[項目の追加]をクリックします。
4. 追加された入力ボックスに、エクスプローラーのアドレス部分をクリップボードから貼り付けて[OK]をクリックします。
IntelliSense を利用する
エディター画面で、文字入力した際に候補を表示する[IntelliSense]を利用するには[MQL Snippets]をインストールします。
インストール後は、エディター画面に文字を入力すると利用できる候補が一覧で表示されるようになります。
MQLのコンパイル
編集した .mq4/.mq5 ファイルを、MetaTraderで利用できるようにコンパイルする作業もVSCodeで行うことができます。
拡張機能でコンパイル
拡張機能を利用する場合は[compilemql4]が利用できます。
インストール後に、インクルードファイルとログファイルの設定を追加します。
インクルードパスの設定
[ユーザー設定]画面で “compilemql4.includeDir” を検索してインクルードファイルの場所を設定します。(インクルードファイルの場所は、InteliSenseと同じ方法で確認できます)
ログファイル出力先の設定
[ユーザー設定]画面で “compilemql4.logDir” を検索して実行結果が含まれるログファイルの出力場所を設定します。
ビルド タスクでコンパイル
VSCodeの[ビルド タスク]機能を利用して、MetaTraderをコマンドラインで実行してコンパイル作業を自動化できます。
詳しい内容については、別記事をご覧ください。
まとめ
今回は、外貨取引(FX)で利用できる自動売買プラットフォームの[MT4]で動作するコードを[Visual Studio Code]で編集する際に導入した拡張機能と設定について紹介しました。
拡張機能をインストールすることで、C#やJavaScriptを編集すると同様に .mq4/.mq5 ファイルに記載された型や構文などを色分けして表示したり、InteliSenseを利用できます。
また .mq4/.mq5 ファイルを実際に利用するためのコンパイル作業も拡張機能やビルドタスクを利用して自動化することが可能です。
VSCodeで、.mq4/.mq5 形式ファイルを編集したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。