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

MQL4のコーディングでMetaEditorの代わりに使えるものがないかと探していましたら、VSCode(Visual Studio Code) がありました。

これのいいところは矩形選択やGrepができるのでファイルを横断して検索できます。

notepad++ というのもあったのですが、MT4の改変で使いづらくなったようなのでVSCodeにしました。

Visual Studio Code

 
VSCodeを使い始めて1年以上経ちましたが

快適です

日本語コメントも入れやすいし、検索も早い軽い

というかMetaEditorがダメダメなのでね~
 

 

Download

 
まずはダウンロードです。
Visual Studio Code こちらから、Windows版をダウンロードします。

MacやLinuxがありますが、コンパイラーと関連付けをしたい場合はMetaEditorが必要なのでWindowsにしたほうが苦労はありません。(Mac版もあるにはありますが…)

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)」を開きます。
 

 
metaeditor.exeのパス設定
例としてDukascopy のMT4をインストールしたフォルダにありますが他のMT4でも可能

C:\Program Files(x86)\Dukascopy MetaTrader 4\metaeditor.exe

(注: テストデバッグを行うMT4のパスで指定しないとIncludeやLibraryなどが合わなくなる
 

 
例として、MT4に既にある MACD sample.mq4 を取り込んでコンパイルしてみます。保存で自動コンパイルできるのでメニューから保存を選択、あるいはCtrl+S
 

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

 

Tips

 

Grepのやり方

「Edit」「Find in Files」 あるいは、
Ctrl+Shift+F でファイルをまたいで検索ができます
元々これがやりたかったので

 

矩形選択

Shift+Alt+マウス左クリックのままで矩形を選択するとできます。
あるいは、
Shift+Alt+Ctrlから矢印を使って範囲を選択

 

Indentの設定

右下にSpaces: 3
とありますがここをクリックすると設定が出てきます。
TabsとしてあるいはSpacesとして設定が可能

 

Themeの設定

「File」「Preferences」「Color Theme」から色合いを変更
defaultではDark+になっていますが、明るいテーマ色(Light+等)に変えたりできます。

 

ファイルの比較

「エクスプローラー」からファイルを「Ctrl」を押しながら選択
右クリックで「選択項目の比較」

英語版では、
「Explorer」からファイルを「Ctrl」を押しながら選択
右クリックで「Comppare Selected」

これで2つのファイル差分を表示される

(*1) #includeのパスに注意
例えばこの例ではmetaeditor.exeのパスを設定 Alpari のMT4で設定しましたが
これは同時にincludeのパスも同じAlpariの作業フォルダに設定されるため、他のMT4でデバッグしようとするとincludeファイルのパスが異なりエラーになりることがあります。

標準ライブラリーならばいいのですがカスタムファイルは場所を移動するか、パスを変える必要があります

 




シェアする

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

フォローする