※この記事は、EAのソースコード(.mq4ファイル)を自分で編集・コンパイルして動かしたい方向けの解説です。
MT4での基本的なEAの動かし方を知りたい方は、初心者向け設定ガイドをご覧ください。
MT4でEAを作った、または入手したものの、 「コンパイルはできたのに動かない」 「バックテストのやり方が分からない」 「チャートに入れてもエントリーしない」 と困っていませんか?
EAは コンパイル → MT4設定 → バックテスト → チャートへの適用 という手順を正しく踏まないと、正常に動作しません。
本記事では、MetaEditorでのコンパイル手順と、エラーが出た場合の確認ポイントを中心に、 初心者の方でも迷わないように画面付きで解説します。
※ 手順どおり進めてもEAが反応しない場合は、プログラム内部の条件(if文など)が成立していない可能性があります。
MT4でEAをコンパイルする方法(MetaEditorの使い方)
まずは、EAを動かすために ソースコードをコンパイル します。
MT4を起動し、メニューから「MetaEditor」を開きます。

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

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

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

「0 errors, 0 warnings」と表示されていればコンパイル成功です。
MT4でコンパイルエラーが出る主な原因と対処法
MetaEditorでコンパイルした際にエラーが表示される場合、コードや環境に原因があります。 代表的なパターンを確認してみましょう。
① 「’~’ – undeclared identifier」エラー
変数や関数が宣言されていない場合に発生します。
スペルミスや、includeファイルの読み込み忘れを確認してください。
② #property strict関連のエラー
旧ビルド向けのコードを使用している場合、型変換や関数定義でエラーが出ることがあります。
最新のMQL4仕様に合わせて修正が必要です。
③ includeファイルが見つからない
「cannot open file」と表示される場合、
includeファイルが正しいフォルダ(MQL4/Include)に配置されているか確認してください。
④ ファイル保存場所の間違い
EAファイル(.mq4)は「MQL4/Experts」フォルダに保存する必要があります。
フォルダが違うとMT4側に認識されません。
⑤ 0 errorsなのに動かない場合
コンパイルエラーがなくても、ロジック条件が成立していないケースが多くあります。
その場合は、Print()でログを出力して条件判定を確認しましょう。
MT4でEAを動かすための初期設定(自動売買が動かない原因)
コンパイルが成功しても、MT4側の設定が正しくないとEAは動きません。
MT4のメニューから「ツール」→「オプション」を開きます。

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

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

MT4でEAをバックテストする方法(コンパイル確認用)
いきなり実運用せず、まずはバックテストでEAの動作を確認しましょう。

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

バックテスト結果が表示されれば、EA自体は正常に動作しています。
▶ 詳細はこちら
EAバックテストのやり方・最適化・ヒストリカルデータ活用まとめ
MT4にEAを適用して動作確認する手順
最後に、EAをチャートに適用して動作確認をします。

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

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

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

この場合は、MT4の設定や自動売買許可が 正しく行われているか再確認してください。
※ ここまでの手順を確認しても不安が残る方向けに、よくある質問をまとめました。
❓ MT4でEAをコンパイル・動作確認する際のよくある質問【初心者向けQ&A】
💬 EAのコンパイル・バックテスト・動かし方について、初心者の方から特によくある質問をまとめました。
コンパイルが成功していても、MT4側の設定や自動売買の許可が正しくないとEAは動きません。
特に「自動売買ボタンが有効になっているか」「EAの設定画面で自動売買を許可しているか」は、初心者が最も見落としやすいポイントです。
MT4からMetaEditorを起動し、EAのソースコードを貼り付けた後にコンパイルを行います。
「0 errors, 0 warnings」と表示されていればコンパイルは成功していますが、これはEAが必ず動くことを保証するものではありません。
バックテストを行うことで、EAが実際に条件どおり動作しているかを事前に確認できます。
いきなり実運用すると、設定ミスやロジックの不具合に気づけず、思わぬ損失につながる可能性があります。
EAがエントリーしない原因は、条件分岐が一度も成立していないケースが非常に多いです。
コンパイルや設定に問題がない場合は、プログラム内部のif文やエントリー条件を確認する必要があります。
EAを完全に自作する場合は、MQL4による基本的なプログラミング知識が必要です。
ただし、最初はサンプルEAを動かしながら、コンパイル・設定・バックテストの流れを理解するだけでも十分に学習効果があります。
まとめ|MT4でEAをコンパイル・動作確認する基本手順
- EAは「コンパイル → 設定 → バックテスト → 適用」の順で確認する
- コンパイル成功=動作保証ではない
- 動かない場合は設定かプログラム内部を疑う
本記事は、EA初心者が最初につまずきやすい 「EAが動かない問題」を解消するための基礎記事です。








コメント