・MT4にインジケーターを追加したいけどどうすればいいの?
・MT4にインジケーターを追加したけど反映されてない
こんな疑問を解決します。
結論:MT4を起動してデータフォルダを開いてファイルを対応するフォルダに入れるだけ!
MT4が人気の取引プラットフォームである理由の1つにそのカスタマイズ性の高さがあると思います。
こんな機能があったらいいのになぁと思った時にはネットで調べると大体、その機能を持ったインジケーターやスクリプト、EAが公開されていて、手軽に入手して使用することができます。
しかし、MT4のフォルダ構成は標準でやや深い階層にあるため、
初心者の方はどこにダウンロードしたファイルを置けばいいのか分かりませんよね。
また、ダウンロードしたファイルの形式によってはコンパイルしなければならない等、ちゃんとインジケーター等が追加できているかも不安になると思います。
今回はちょっと複雑なインジケーターやスクリプト、EAの追加方法について解説します。
- MT4のデータフォルダについて
- MT4のインジケーター・スクリプト・EAに関するファイルについて
- MT4のインジケーター・スクリプト・EAの追加方法
- MT4のインジケーター・スクリプト・EAが反映されない場合の原因と対策
MT4のデータフォルダについて
MT4をインストールすると、「データフォルダ」が作成されます。
データフォルダとは、ヒストリカルデータやインジケーター、スクリプト、EA等を格納しておくフォルダのことです。
通常、以下の場所に作成されます。
「C:\Users\<ユーザー名>\AppData\Roaming\MetaQuotes\Terminal\<データフォルダ名>」
また、データフォルダ内のフォルダ構成は以下の通りとなっています。
No | フォルダ名 | 説明 |
① | config | MT4の設定に関するファイルの置き場所 |
② | history | 主にヒストリカルデータファイルの置き場所 |
③ | logs | MT4のログ(操作履歴タブ)ファイルの置き場所 |
④ | MQL4 | インジケーターやスクリプト、EAに関するファイルの置き場所 |
⑤ | profiles | MT4のチャートプロファイルの関するファイルの置き場所 |
⑥ | templates | MT4のチャートテンプレートファイルの置き場所 |
⑦ | tester | ストラテジーテスターに関するファイルの置き場所 |
今回、大切なのが④の「MQL4」フォルダです。
インジケーター、スクリプト、EA等は全てここに配置することでMT4から利用することができるようになります。
MT4のインジケーター・スクリプト・EAに関するファイルについて
続いて、MT4のインジケーター・スクリプト・EAに関するファイルについて解説します。
これらに関連するファイルは以下の通りです。
- mql4ソースファイル(.mq4)
- MT4実行ファイル(.ex4)
- ヘッダーファイル(.mqh)
上記以外にも外部DLL等を使用している際、
「.dll」という拡張子を持つファイルを配置しなければならない場合等はあります。
しかし、ほとんどの場合で上記3つからインジケーターやスクリプト、EA等は成り立っていることが多いため、
この記事では上記3つのファイルについて解説します。
mql4ソースファイル(.mq4)
「.mq4」という拡張子を持つこのファイルは、インジケーターやスクリプト、EA等のソースコードが記述されているファイルです。
このファイルはインジケーターやスクリプト、EAになる前のファイルであるため、これを指定フォルダに配置するだけではMT4上から実行することができません。
MT4から実行するにはどうすれば良いかというと、コンパイルを行って後述する「.ex4」の拡張子を持つMT4実行ファイルにする必要があります。
コンパイルの方法は後述の「MT4のインジケーター・スクリプト・EAの追加方法」にて解説します。
MT4実行ファイル(.ex4)
「.ex4」という拡張子を持つこのファイルは、インジケーターやスクリプト、EA等をMT4上で実行可能な状態にしたファイルです。
言うなればインジケーター・スクリプト・EAの本体です。
ネット上で公開されているインジケーター・スクリプト・EAもこの形式で公開されていることが多いため、
もっとも目にすることが多いファイルだと思います。
このファイルを特定の場所に配置することで、
MT4上からインジケーター・スクリプト・EAを実行することができるようになります。
ヘッダーファイル(.mqh)
最後の一つは「.mqh」の拡張子を持つヘッダーファイルです。
ネット上で公開されているインジケーターやスクリプト、EAではあまりこのファイルを見かけることはないかもしれません。
なぜならこのファイルは、外部定義されている関数等を呼び出すときに必要なファイルなので、mq4ファイル単品で完結している場合は必要ないからです。
この外部定義されている関数を格納しているファイルをライブラリと呼びます。
よって、インジケーター・スクリプト・EA内で外部定義の関数等を使用している場合、これらのファイルが無いと動作しません。
そのため、インジケーターやスクリプト、EAと同時に配布されている場合、ヘッダーファイルとライブラリを正しく配置しなければなりません。
MT4のインジケーター・スクリプト・EAの追加方法
いよいよここからはMT4のインジケーター・スクリプト・EAの追加方法について解説します。
手順としては以下の通りです。
- MT4のデータフォルダを開く
- 対象のフォルダにファイルを配置する
- MT4を再起動する
手順1. MT4のデータフォルダを開く
まずはファイルを配置するためにMT4のデータフォルダを開きます。
先述のデータフォルダの場所をエクスプローラーで辿って探し出しても良いですが、もっと簡単な方法があります。
まず、MT4が起動していない場合MT4を起動します。
そして以下の画像の通り、左上の「ファイル(F)」をクリックしてメニューを出したら、「データフォルダを開く」をクリックします。
そうすると、エクスプローラーが立ち上がり、データフォルダが開きます。
手順2. 対象のフォルダにファイルを配置する
データフォルダを開いたら、インジケーター・スクリプト・EAの種別に応じてフォルダにファイルを配置します。
データフォルダを開いたらまずは「MQL4」フォルダをダブルクリックし、移動します。
すると以下のようなフォルダ構成になっているので、インジケーター・スクリプト・EAのそれぞれに対応したフォルダにファイルを配置します。
各種別とフォルダ、配置するファイルは以下の通りです。
種別 | フォルダ | ファイル |
インジケーター | Indicators | mq4ファイル ex4ファイル |
スクリプト | Scripts | mq4ファイル ex4ファイル |
EA | Experts | mq4ファイル ex4ファイル |
ヘッダーファイル | Include | mqhファイル |
ライブラリ | Libraries | mq4ファイル ex4ファイル |
上記対応表に従って、それぞれのファイルを配置してください。
また、配布元から上記以外で配置すべきファイルがあるのであれば、それも配置します。
手順3. MT4を再起動する
最後にMT4を再起動します。
これはMT4再起動時に自動でmq4ファイルをコンパイルし、MT4上に表示してくれるからです。
再起動すると、MT4画面左側の「ナビゲーター」というところにインジケーター・スクリプト・EAが表示されていると思います。
もしも、「ナビゲーター」画面を消してしまった場合、以下のように、「表示」メニューから再表示することができます。
MT4の再起動なしでmq4ファイルをコンパイルし、MT4上に表示する方法
ここからはMT4の再起動を行わない方法を紹介します。
大抵の場合、再起動してしまった方が楽です。
しかしインジケーター・スクリプト・EAのプログラミング等をしている場合、再起動するよりもこちらの方法が速いので便利です。
特にEAをストラテジーテスターでテストしているときに再起動してしまうと、テスト結果等がリセットされてしまうため、こちらの方法が向いています。
手順としては以下の通りです。
- mq4ファイルをメタエディターで開いてコンパイルする
- MT4の「ナビゲーター」上で更新を行う
手順1. mq4ファイルをメタエディターで開いてコンパイルする
まずはデータフォルダに配置したmq4ファイルをメタエディターで開いてコンパイルします。
この手順はすでにコンパイルされているex4ファイルの場合は必要ありません。
以下の画像のように、コンパイルしたいファイルをダブルクリックします。
そうすると、メタエディターが起動するので、コンパイルを実行します。
手順2. MT4の「ナビゲーター」上で更新を行う
コンパイルが完了したら、MT4に戻りナビゲーター上で右クリック→更新を実行します。
これで、MT4を再起動した場合と同様にインジケーター・スクリプト・EAが使用可能になります。
MT4のインジケーター・スクリプト・EAが反映されない場合の原因と対策
最後にMT4にインジケーター・スクリプト・EAを追加したのに反映されていない場合の原因とその対策について解説します。
反映されていない原因として以下の3つである場合が多いのではないでしょうか。
- MT4のデータフォルダを間違えている
- 各種ファイルに対応したフォルダに配置していない
- コンパイルできていない
原因1. MT4のデータフォルダを間違えている
前述の通り、MT4のデータフォルダの場所はかなり深いところにあるため分かりづらくなっています。
また、複数のMT4をインストールしている場合、「C:\Users\<ユーザー名>\AppData\Roaming\MetaQuotes\Terminal」に異なるデータフォルダ名でフォルダが作成されます。
このデータフォルダ名はかなり長い英数字となっており、
これを見ただけではどのMT4のデータフォルダなのかぱっと見では分からないため、大変紛らわしく間違えやすいです。
よって、MT4にインジケーター・スクリプト・EAを追加する際は、
MT4を起動し、ファイルメニューからデータフォルダを開くようにします。
また、特に複数のMT4を使用している場合、ファイルを追加する際には必ずそのデータフォルダが対象のMT4のデータフォルダであるか確認するようにします。
原因2. 各種ファイルに対応したフォルダに配置していない
前述の通り、MT4でインジケーター・スクリプト・EAを利用するためには正しいフォルダにファイルを配置する必要があります。
そのため、インジケーターのファイルなのにScriptsフォルダに配置する等、
誤ったフォルダにファイルを配置してもそのインジケーターは使用できません。
また、配置する必要のあるファイルを配置し忘れた場合も同様に使用することはできません。
たとえば外部関数を使用しているインジケーターのため、mqhファイルをIncludeフォルダに配置する必要があるのに、
インジケーター本体のmq4ファイルのみIndicatorsフォルダに配置してしまったような場合です。
よって、ファイルを配置する際には全てのファイルを正しいフォルダに配置したか確認してください。
原因3. コンパイルできていない
配布がmq4ファイルで行われている場合、まれにソースコード自体にエラーがありコンパイルができていない場合があります。
原因1~2を確認して、いずれも大丈夫なのにMT4に反映されていない場合、コンパイルエラーが発生しているかもしれません。
確認方法として、対象のファイルをMetaEditorで開き、一度コンパイルを実行してください。
このとき、エラータブにエラーメッセージが表示されていた場合、コンパイルエラーが発生してコンパイルできない状態になっています。
この場合、対処方法はエラーの原因を突き止めてエラーを修正するしかありません。
もしもこれが困難であれば、配布元に連絡してみることをおすすめします。
MT4にインジケーター・スクリプト・EAを追加する方法と追加できない原因と対策を徹底解説:まとめ
データフォルダとは、ヒストリカルデータやインジケーター、スクリプト、EA等を格納しておくフォルダのことです。
通常、以下の場所に作成されます。
「C:\Users\<ユーザー名>\AppData\Roaming\MetaQuotes\Terminal\<データフォルダ名>」
ここにインジケーター・スクリプト・EAのファイルを配置します。
配置するファイルは以下の3種類のファイルです。
- mql4ソースファイル(.mq4)
- MT4実行ファイル(.ex4)
- ヘッダーファイル(.mqh)
mql4ソースファイルはインジケーター・スクリプト・EA等のソースコードが記述されているファイルです。
このファイルをコンパイルすることで、インジケーター・スクリプト・EA等になります。
MT4実行ファイルはmql4ソースファイルをコンパイルした後のファイルで、インジケーターやスクリプト、EA等をMT4上で実行可能な状態にしたファイルです。
ヘッダーファイルはライブラリ等を利用する際に必要となるファイルです。
これらをデータフォルダに正しく配置することでMT4から利用可能になります。
MT4のインジケーター・スクリプト・EAの追加手順としては以下の通りです。
- MT4のデータフォルダを開く
- 対象のフォルダにファイルを配置する
- MT4を再起動する
通常この手順で追加すれば、MT4で利用可能になります。
しかし、MT4で利用可能にならなかった場合、以下の原因が考えられます。
- MT4のデータフォルダを間違えている
- 各種ファイルに対応したフォルダに配置していない
- コンパイルできていない
いかがでしたでしょうか。
今回の記事ではMT4にインジケーター・スクリプト・EAを追加する方法と追加できない原因、その対策について解説を行いました。
この記事が少しでもお役に立てれば幸いです。
コメント