海外FXで副業を始めてみませんか?

将来への備えとして
副業を始めて自分で稼ぐ力を身に着けませんか?

副業を始めるなら
簡単に始められて追証なしの海外FXがおすすめです。

おすすめの海外FX業者はこちら

MT4にインジケーター・スクリプト・EAを追加する方法と追加できない原因と対策を徹底解説

アイキャッチ画像32 MT4ロゴ インジケーター・スクリプト・EA 追加方法を徹底解説 FX

・MT4にインジケーターを追加したいけどどうすればいいの?
・MT4にインジケーターを追加したけど反映されてない

こんな疑問を解決します。

結論:MT4を起動してデータフォルダを開いてファイルを対応するフォルダに入れるだけ!

 

MT4が人気の取引プラットフォームである理由の1つにそのカスタマイズ性の高さがあると思います。

こんな機能があったらいいのになぁと思った時にはネットで調べると大体、その機能を持ったインジケーターやスクリプト、EAが公開されていて、手軽に入手して使用することができます。

しかし、MT4のフォルダ構成は標準でやや深い階層にあるため、
初心者の方はどこにダウンロードしたファイルを置けばいいのか分かりませんよね。

また、ダウンロードしたファイルの形式によってはコンパイルしなければならない等、ちゃんとインジケーター等が追加できているかも不安になると思います。

今回はちょっと複雑なインジケーターやスクリプト、EAの追加方法について解説します。

この記事の内容
  • MT4のデータフォルダについて
  • MT4のインジケーター・スクリプト・EAに関するファイルについて
  • MT4のインジケーター・スクリプト・EAの追加方法
  • MT4のインジケーター・スクリプト・EAが反映されない場合の原因と対策
スポンサーリンク

MT4のデータフォルダについて

MT4をインストールすると、「データフォルダ」が作成されます。

データフォルダとは、ヒストリカルデータやインジケーター、スクリプト、EA等を格納しておくフォルダのことです。

通常、以下の場所に作成されます。

C:\Users\<ユーザー名>\AppData\Roaming\MetaQuotes\Terminal\<データフォルダ名>

MT4 データフォルダ URL エクスプローラ

また、データフォルダ内のフォルダ構成は以下の通りとなっています。

No フォルダ名 説明
config MT4の設定に関するファイルの置き場所
history 主にヒストリカルデータファイルの置き場所
logs MT4のログ(操作履歴タブ)ファイルの置き場所
MQL4 インジケーターやスクリプト、EAに関するファイルの置き場所
profiles MT4のチャートプロファイルの関するファイルの置き場所
templates MT4のチャートテンプレートファイルの置き場所
tester ストラテジーテスターに関するファイルの置き場所

今回、大切なのが④の「MQL4」フォルダです。

インジケーター、スクリプト、EA等は全てここに配置することでMT4から利用することができるようになります。

補足:ポータブルモードの場合のデータフォルダについて

実はMT4には起動モードに通常モードとポータブルモードの2種類があります。

そしてこの起動モードによりデータフォルダの場所は異なります。

通常モードで起動した場合は前述の通りです。

一方、ポータブルモードで起動した場合、MT4の本体である「terminal.exe」が配置されているフォルダと同じフォルダがデータフォルダとして扱われます。

例:「D:\FX\MT4\XM_Test」にMT4をインストールした場合
MT4 データフォルダ ポータブル URL エクスプローラ

上記の画像で、前述の通常モードのデータフォルダと同じフォルダがインストールフォルダに作成されていることがわかると思います。

MT4のインジケーター・スクリプト・EAに関するファイルについて

続いて、MT4のインジケーター・スクリプト・EAに関するファイルについて解説します。

これらに関連するファイルは以下の通りです。

MT4のインジケーター・スクリプト・EA関連ファイル
  1. mql4ソースファイル(.mq4)
  2. MT4実行ファイル(.ex4)
  3. ヘッダーファイル(.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のインジケーター・スクリプト・EAの追加手順
  1. MT4のデータフォルダを開く
  2. 対象のフォルダにファイルを配置する
  3. MT4を再起動する

手順1. MT4のデータフォルダを開く

まずはファイルを配置するためにMT4のデータフォルダを開きます。

先述のデータフォルダの場所をエクスプローラーで辿って探し出しても良いですが、もっと簡単な方法があります。

まず、MT4が起動していない場合MT4を起動します。

そして以下の画像の通り、左上の「ファイル(F)」をクリックしてメニューを出したら、「データフォルダを開く」をクリックします。

MT4 ファイルメニュー データフォルダを開く 強調

そうすると、エクスプローラーが立ち上がり、データフォルダが開きます。

手順2. 対象のフォルダにファイルを配置する

データフォルダを開いたら、インジケーター・スクリプト・EAの種別に応じてフォルダにファイルを配置します。

データフォルダを開いたらまずは「MQL4」フォルダをダブルクリックし、移動します。

エクスプローラー データフォルダ MQL4フォルダ 強調

すると以下のようなフォルダ構成になっているので、インジケーター・スクリプト・EAのそれぞれに対応したフォルダにファイルを配置します。

エクスプローラー MQL4フォルダ

各種別とフォルダ、配置するファイルは以下の通りです。

種別 フォルダ ファイル
インジケーター Indicators mq4ファイル
ex4ファイル
スクリプト Scripts mq4ファイル
ex4ファイル
EA Experts mq4ファイル
ex4ファイル
ヘッダーファイル Include mqhファイル
ライブラリ Libraries mq4ファイル
ex4ファイル

上記対応表に従って、それぞれのファイルを配置してください。

また、配布元から上記以外で配置すべきファイルがあるのであれば、それも配置します。

手順3. MT4を再起動する

最後にMT4を再起動します。

これはMT4再起動時に自動でmq4ファイルをコンパイルし、MT4上に表示してくれるからです。

再起動すると、MT4画面左側の「ナビゲーター」というところにインジケーター・スクリプト・EAが表示されていると思います。

もしも、「ナビゲーター」画面を消してしまった場合、以下のように、「表示」メニューから再表示することができます。

MT4 表示メニュー ナビゲーター 強調

MT4の再起動なしでmq4ファイルをコンパイルし、MT4上に表示する方法

ここからはMT4の再起動を行わない方法を紹介します。

大抵の場合、再起動してしまった方が楽です。
しかしインジケーター・スクリプト・EAのプログラミング等をしている場合、再起動するよりもこちらの方法が速いので便利です。

特にEAをストラテジーテスターでテストしているときに再起動してしまうと、テスト結果等がリセットされてしまうため、こちらの方法が向いています。

手順としては以下の通りです。

MT4の再起動なしの手順
  1. mq4ファイルをメタエディターで開いてコンパイルする
  2. MT4の「ナビゲーター」上で更新を行う
手順1. mq4ファイルをメタエディターで開いてコンパイルする

まずはデータフォルダに配置したmq4ファイルをメタエディターで開いてコンパイルします。

この手順はすでにコンパイルされているex4ファイルの場合は必要ありません

以下の画像のように、コンパイルしたいファイルをダブルクリックします。

エクスプローラー MQL4 Scriptsフォルダ OutputReportToCsvファイル 強調

そうすると、メタエディターが起動するので、コンパイルを実行します。

メタエディター コンパイルボタン エラー表示 強調

このとき、エラータブの表示で「0 error」となっていることを確認してください。

もしも上記画像のようではなく、赤色の警告メッセージがエラータブに表示されている場合、
何かしらのエラーでコンパイルができない状態になっています。

この状態の場合、エラーの原因を取り除かない限りコンパイルしてMT4で利用することができません

プログラミングの知識がある場合、自分で修正しても良いかもしれませんが、
そうではない場合は諦めるか、配布元に連絡して直してもらうしかありません。

手順2. MT4の「ナビゲーター」上で更新を行う

コンパイルが完了したら、MT4に戻りナビゲーター上で右クリック→更新を実行します。

MT4 ナビゲーター 右クリックメニュー 更新

これで、MT4を再起動した場合と同様にインジケーター・スクリプト・EAが使用可能になります。

MT4のインジケーター・スクリプト・EAが反映されない場合の原因と対策

最後にMT4にインジケーター・スクリプト・EAを追加したのに反映されていない場合の原因とその対策について解説します。

反映されていない原因として以下の3つである場合が多いのではないでしょうか。

MT4にインジケーター等が反映されない原因
  1. MT4のデータフォルダを間違えている
  2. 各種ファイルに対応したフォルダに配置していない
  3. コンパイルできていない

原因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で開き、一度コンパイルを実行してください。

このとき、エラータブにエラーメッセージが表示されていた場合、コンパイルエラーが発生してコンパイルできない状態になっています。

この場合、対処方法はエラーの原因を突き止めてエラーを修正するしかありません。

もしもこれが困難であれば、配布元に連絡してみることをおすすめします。

mq4ファイルのコンパイル方法はこちら

MT4にインジケーター・スクリプト・EAを追加する方法と追加できない原因と対策を徹底解説:まとめ

データフォルダとは、ヒストリカルデータやインジケーター、スクリプト、EA等を格納しておくフォルダのことです。

通常、以下の場所に作成されます。

C:\Users\<ユーザー名>\AppData\Roaming\MetaQuotes\Terminal\<データフォルダ名>

ここにインジケーター・スクリプト・EAのファイルを配置します。

配置するファイルは以下の3種類のファイルです。

MT4のインジケーター・スクリプト・EA関連ファイル
  1. mql4ソースファイル(.mq4)
  2. MT4実行ファイル(.ex4)
  3. ヘッダーファイル(.mqh)

mql4ソースファイルはインジケーター・スクリプト・EA等のソースコードが記述されているファイルです。
このファイルをコンパイルすることで、インジケーター・スクリプト・EA等になります。

MT4実行ファイルはmql4ソースファイルをコンパイルした後のファイルで、インジケーターやスクリプト、EA等をMT4上で実行可能な状態にしたファイルです。

ヘッダーファイルはライブラリ等を利用する際に必要となるファイルです。

これらをデータフォルダに正しく配置することでMT4から利用可能になります。

MT4のインジケーター・スクリプト・EAの追加手順としては以下の通りです。

MT4のインジケーター・スクリプト・EAの追加手順
  1. MT4のデータフォルダを開く
  2. 対象のフォルダにファイルを配置する
  3. MT4を再起動する

通常この手順で追加すれば、MT4で利用可能になります。

しかし、MT4で利用可能にならなかった場合、以下の原因が考えられます。

MT4にインジケーター等が反映されない原因
  1. MT4のデータフォルダを間違えている
  2. 各種ファイルに対応したフォルダに配置していない
  3. コンパイルできていない

いかがでしたでしょうか。

今回の記事ではMT4にインジケーター・スクリプト・EAを追加する方法と追加できない原因、その対策について解説を行いました。

この記事が少しでもお役に立てれば幸いです。

コメント

タイトルとURLをコピーしました