※この記事は、EAのソースコード(.mq4ファイル)を自分で編集・コンパイルして動かしたい方向けの解説です。
MT4での基本的なEAの入れ方・自動売買設定・チャートへの適用手順を知りたい方は、 MT4でEAを動かす設定ガイド をご覧ください。
※ MT4でEAをプログラミングして自作する全体の流れは、 MQL4基礎からバックテストまでの学習手順まとめ で整理しています。
MT4でEAを作った、または入手したものの、
「mq4ファイルをどう使えばいいか分からない」
「MetaEditorでコンパイルしたいけど手順が不安」
「0 errorsなのにEAが動かない」
と困っていませんか?
EAのソースコードは、.mq4ファイルをMetaEditorでコンパイルし、.ex4ファイルに変換することでMT4上で実行できるようになります。
本記事では、MetaEditorでmq4をex4化する手順と、コンパイルエラーが出た場合の確認ポイントを初心者向けに解説します。
- MT4のMetaEditorでEAをコンパイルする方法
- .mq4ファイルと.ex4ファイルの違い
- コンパイル成功時の「0 errors」の見方
- コンパイルエラーが出る主な原因
- コンパイル後にEAが動かない場合の確認ポイント
※ 手順どおり進めてもEAが反応しない場合は、プログラム内部の条件(if文など)が成立していない可能性があります。
MT4でEAをコンパイルする方法 MetaEditorの使い方
まずは、EAを動かすためにソースコードをコンパイルします。
MT4を起動し、メニューから「MetaEditor」を開きます。

MetaEditorが起動したら、「新規作成」→「エキスパートアドバイザ」を選択します。

名前は任意で構いません。今回は例として「test」としています。

作成後、表示されたサンプルコードをすべて削除し、使用したいEAのソースコードを貼り付けてコンパイルします。

「0 errors, 0 warnings」と表示されていればコンパイル成功です。
EAファイル(.mq4 / .ex4)の違い
MT4のEAでは、.mq4 が編集用のソースコード、.ex4 がMT4で実行されるコンパイル後のファイルです。
MetaEditorでコンパイルに成功すると、通常は同じフォルダ内に .ex4ファイル が作成されます。
- .mq4:編集できるソースコードファイル
- .ex4:MT4で実行されるコンパイル後のファイル
- MetaEditor:mq4を編集・コンパイルするためのツール
EAをMT4で使う場合は、基本的に MQL4/Experts フォルダ内にファイルを置き、MT4のナビゲーターを更新して認識させます。
MT4でコンパイルエラーが出る主な原因と対処法
MetaEditorでコンパイルした際にエラーが表示される場合、コードやファイル配置に原因があります。代表的なパターンを確認してみましょう。
① 「’~’ – undeclared identifier」エラー
変数や関数が宣言されていない場合に発生します。
スペルミス、関数名の間違い、必要な変数の書き忘れがないか確認してください。
② #property strict関連のエラー
古いMQL4コードを使用している場合、型変換や関数定義でエラーが出ることがあります。
最新のMQL4仕様に合わせて、変数の型や関数の書き方を見直す必要があります。
③ includeファイルが見つからない
「cannot open file」と表示される場合、includeファイルが正しいフォルダに配置されていない可能性があります。
通常、includeファイルは MQL4/Include フォルダに配置します。
配布EAや購入EAで追加ファイルがある場合は、説明書どおりに配置できているか確認しましょう。
④ ファイル保存場所の間違い
EAファイル(.mq4)は、基本的に MQL4/Experts フォルダに保存します。
違うフォルダに置いていると、コンパイルできてもMT4側でEAとして認識されない場合があります。
⑤ 0 errorsなのにEAが動かない場合
コンパイルエラーがなくても、EAが必ずエントリーするわけではありません。
特に多いのは、エントリー条件が一度も成立していないケースです。
この場合は、Print()でログを出力し、if文やエントリー条件が成立しているか確認しましょう。
▶ Print()を使ってEAがエントリーしない原因を確認する方法
コンパイル後にMT4でEAを確認する流れ
コンパイルが成功したら、MT4側でEAが正しく認識されるかを確認します。
ただし、EAの入れ方・自動売買設定・チャートへの適用手順を詳しく知りたい場合は、以下の記事でまとめています。
本記事ではコンパイル手順を中心に解説しています。
MT4にEAを入れる方法、自動売買の許可、チャートへの適用手順は以下の記事で確認できます。
ここでは、コンパイル後に最低限確認しておきたい流れだけを整理します。
- MetaEditorでコンパイルし、「0 errors」を確認する
- MT4のナビゲーターでEAが表示されるか確認する
- 必要に応じてナビゲーターを右クリックして「更新」する
- EAをチャートに適用する
- ニコニコマークが表示されるか確認する
MT4側の自動売買設定も確認する
コンパイルが成功しても、MT4側の設定が正しくないとEAは動きません。
MT4のメニューから「ツール」→「オプション」を開きます。

「エキスパートアドバイザ」タブで、「自動売買を許可する」にチェックを入れます。

さらに、MT4上部の「自動売買」ボタンが有効になっていることを確認してください。

バックテストでEAのコンパイル結果を確認する
コンパイル後は、いきなり実運用せず、まずはバックテストでEAの動作を確認しましょう。
バックテストを行うことで、EAがMT4上で実行できる状態になっているか、エントリー条件が成立するか、想定外のエラーが出ないかを確認できます。

EA・通貨ペア・期間を選択し、「スタート」をクリックします。

バックテスト結果が表示されれば、EA自体はMT4上で実行できています。
バックテストの詳しい設定や、最適化・ヒストリカルデータの使い方は以下の記事で解説しています。
▶ EAバックテストのやり方 最適化 ヒストリカルデータ活用まとめ
MT4にEAを適用して動作確認する手順
最後に、EAをチャートに適用して動作確認をします。

EAをチャートにドラッグし、「自動売買を許可する」にチェックを入れます。

チャート右上に ニコニコマーク が表示されていれば、EAは正常に適用されています。

ニコニコマークが出ない場合

この場合は、MT4の自動売買設定や、EA側の自動売買許可が正しく行われているか再確認してください。
詳しい設定手順は、以下の記事でまとめています。
※ ここまでの手順を確認しても不安が残る方向けに、よくある質問をまとめました。
MT4でEAをコンパイルする際のよくある質問
EAのコンパイル・mq4/ex4ファイル・エラー対処・動作確認について、初心者の方から特によくある質問をまとめました。
コンパイルが成功していても、MT4側の設定や自動売買の許可が正しくないとEAは動きません。
また、コンパイルは成功していても、プログラム内部のエントリー条件が成立していない場合もあります。
mq4ファイルは編集できるソースコード、ex4ファイルはMT4で実行されるコンパイル後のファイルです。
MetaEditorでmq4ファイルをコンパイルすると、MT4で実行できるex4ファイルが作成されます。
MT4からMetaEditorを起動し、EAのソースコードを貼り付けた後にコンパイルを行います。
「0 errors, 0 warnings」と表示されていればコンパイルは成功しています。
まずはエラー行、関数名や変数名のスペル、includeファイルの有無、ファイルの保存場所を確認してください。
「undeclared identifier」や「cannot open file」など、エラー文ごとに確認すべき場所が異なります。
いいえ。0 errorsは、あくまでソースコードがコンパイルできたという意味です。
EAがエントリーするかどうかは、MT4設定、バックテスト環境、エントリー条件、ロジックの成立状況によって変わります。
EAを完全に自作する場合は、MQL4による基本的なプログラミング知識が必要です。
ただし、最初はサンプルEAを動かしながら、コンパイル・設定・バックテストの流れを理解するだけでも十分に学習効果があります。
まとめ MT4でEAをコンパイルする基本手順
- EAの編集用ファイルは .mq4、MT4で実行されるファイルは .ex4
- MetaEditorでmq4をコンパイルするとex4ファイルが作成される
- 「0 errors, 0 warnings」でコンパイル成功
- コンパイル成功は、EAが必ず動くことを保証するものではない
- 動かない場合は、MT4設定・バックテスト・エントリー条件を確認する
本記事は、EA初心者が最初につまずきやすい 「mq4ファイルをどうEAとして動かすか」 を整理するための基礎記事です。
EAの入れ方や自動売買設定を確認したい場合は、以下の記事へ進んでください。





コメント