見出し画像

notepad++ でMQL4

こんにちは!
はぐです。

前回の記事でIntelliJを使いましたが、今回はnotepad++。
notepad++も結構昔からあるソフトで、一度はインストールしたものの使ってはいなかった。
Windowsになってからは、sakura -> K2 -> xyzzy -> sakura -> atom -> vscode ときたけど、これで決まりかも。
今回、MQL4のエディタ&コンパイル環境構築でとても良い!!ということがわかったので、環境構築を書く。

メリット

  • コンパイルが問題なくできる。include<>も問題なし。

  • Gtagsを使った関数ジャンプ。少し不満点もある。

  • コンパイルエラー時にはエラー行に飛べる

  • 関数、定数がハイコントラスト。

  • 関数、定数の補完入力

  • MQL4関数ヘルプ呼べる

  • 軽くて普段使いもできる。

デメリット

さすがにデバッグ実行はできない

というわけで、今のところイチオシ。
私にとってVscodeより使いかって良い。
git使うならたぶんvscodeに軍配上がるけど、老害プログラマーなので、日付管理してるので問題なし(^^;



環境構築

めちゃ自分用に簡単に書くので、詳しく知りたければググって。

インストール

現在ver8.5.3。これの64bit版をインストールした。

関数、定数ハイライト

これはnotepad++ではいろいろな言語の設定が入っているが、MQL4は入っていない。
当然ながら自前で作る。
私は設定でダークモードにして、スタイル設定のテーマをDeep Black。
この上で、MQL4用の言語設定を作った。
作ったといっても、いろいろな人がアップしていたのをつなぎ合わせてそれに少し足した程度。

これを、言語ーユーザー定義ー言語を定義 でインポート。
一応、C++のカラーに似せて作ったけど、漏れがあったら勘弁。
もし、テーマを変える場合は、各キーワードの背景もそのテーマに合わせて変えなければならないのでちと面倒。
そういったときは、インポートするxmlファイルの設定を見ればわかると思うが、そっちで背景を一括置換してからエクスポートしたほうが楽。

補完入力

設定ー環境設定ー自動補完

設定はこんな感じ

notepad++のインストールフォルダ/autoCompletion に以下のファイル置く。

コンパイル

プラグインで、NppExecをインストール。
ログ内容表示.batで、以下のファイル保存。適当に、間違って消さない場所に置いとく。
単なるログ表示用bat。

type %1

notepad++でF6を押す。(プラグインーNppExecーExcute NppExec Script)
以下を書く。metaeditorの場所や、batの位置は書き換えて。

NPP_SAVE
"C:\Program Files (x86)\Alpari MT4\metaeditor.exe" /compile:"$(FULL_CURRENT_PATH)" /log
D:\bot\ログ内容表示.bat "$(CURRENT_DIRECTORY)$(NAME_PART).log"

これを、そのウインドウのsaveボタンを押して、MQL4 Compile として保存。
試しに、mq4ファイルを表示して、F6押すと上記が出るので、そのままOKボタン押せばコンパイルされる。
できなければ設定見直し。

ワンキーでコンパイルできるようにする

プラグインーNppExecーAdvanced Option

さっき登録したやつがでるので、選ぶと上のMenu itemsにでるのでOKボタン。
設定ーショートカット管理で、プラグインタブでMQL4 Compileが新規にあるので、キーを設定。自分はF10。

コンパイルエラー時に、その行にジャンプ

重要項目。私のコーディングはバグばっかでいちいち自分で移動は面倒なのでないと不便。
プラグインーNppExecーConsole Output Filters

こんな感じ。
NppExecコンソールにコンパイル結果がでるので、エラー行を赤字にして、ダブルクリックでジャンプ。
ノーエラー時とエラー時で色変える。
2行目の設定はpythonの設定だった。
コピーように下記。

%ABSFILE%(%LINE%,%CHAR%)*
  File "%ABSFILE%", line %LINE%
Result: 0 errors, 0 warnings,*
Result: * errors, 0 warnings*

関数ジャンプ

これがないと、コーディング面倒でどうしようかというぐらい私にとって重要。
ちょっと今回の設定では物足りないけど仕方がない。
プラグインで、NppGtagsを導入。
ntopad++インストールフォルダ\plugins\NppGTags\bin\gtags.conf
を編集する。
ただ単にC++の表記のところに、.mq4.mqh.mq5, を追加するだけ。
追加したファイルはこちら。

ショートカットを設定。pyCharmと同じように、Ctrl+bに定義ジャンプ。
こんな感じに設定

プラグインのセッティングはそのままでOK。
自前の関数の上でCtrl+b押すと、データーベースの作成先聞いてくるけど、ソースファイルの場所なのでそのままOKボタン。
それ以降は自動で更新されるみたいだけど、どの程度で更新されるのかはまだ未検証。
Cのソースだと、きちんと定義部分に飛べるけど、MQL4だとグローバルとかあるので、うまく行かないことがある。
定義を見たいのに、Find Symbol になっちゃったり、RefarenceでなくてSymboleになっちゃう。
まぁ、仕方がないと割り切る。
だけど、きちんと認識すれば別ファイルの関数や、クラスにも行ける感じなのでとりあえずOK。

ヘルプ表示

MQL4の関数、定数上でAlt+z 押すとリファレンスに飛ぶようにした。
プラグインで、Language Help を導入。
Language Helpプラグインのオプションで、Addで設定。
Name : MQ4
mask : .mq4, .mqh
help file : C:\Users\ユーザー名\AppData\Roaming\MetaQuotes\Terminal\Help\mql4.chm
あとはキー設定で、alt+zに設定。

その他

フォント&行間。
設定ースタイル設定で、

Global Stayle の、Global overrideにして、他のスタイルにも適用にチェック。

フォントは白源 (はくげん/HackGen)

行間が狭く感じたので、Line Number margin のフォントを大きくすると、行番号フォントが大きくなるので、それに合わせて行間も大きくなる。

あとはキー設定で、
Alt-f に、メインメニューの231番、関数リスト表示
Ctrl+/ にメインメニューの65番、行コメント化トグル

最後に。

とってもはしょった説明だけど、必要なところは抑えたと思う。
抜けもあるかもしれないけど、ググってくだされ。

いろいろ設定して、notepad++の底力をとても実感した。
設定とプラグイン次第でめちゃ使える。
私はvscodeよりこっちのほうが断然いいと思う。
きちんとした開発ならvscodeより、PyCharmや、VisualStudioなどの統合開発環境がいいと思う。

では!

サポートしていただけると励みになります。 頂いたサポートは有益な他の方のnote購入代に当てさせて頂き、回していきたいと思います。