MT4でEAをコンパイルする方法 MetaEditorでmq4をex4化する手順とエラー対処

MT4でEAをコンパイル・バックテスト・動かし方まで初心者向けに解説したアイキャッチ画像
EAを自作してみよう
記事内に商品プロモーションを含む場合があります

※この記事は、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」を開きます。

MT4の画面からMetaEditorを起動する方法

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

MetaEditorで新規エキスパートアドバイザを作成する画面

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

EAの名前を入力して作成を進めるMetaEditorの設定画面

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

MetaEditorでEAをコンパイルしエラーが出ていない状態の画面

「0 errors, 0 warnings」と表示されていればコンパイル成功です。

EAファイル(.mq4 / .ex4)の違い

MT4のEAでは、.mq4 が編集用のソースコード、.ex4 がMT4で実行されるコンパイル後のファイルです。

MetaEditorでコンパイルに成功すると、通常は同じフォルダ内に .ex4ファイル が作成されます。

mq4とex4の違い
  • .mq4:編集できるソースコードファイル
  • .ex4:MT4で実行されるコンパイル後のファイル
  • MetaEditor:mq4を編集・コンパイルするためのツール

EAをMT4で使う場合は、基本的に MQL4/Experts フォルダ内にファイルを置き、MT4のナビゲーターを更新して認識させます。


MT4でコンパイルエラーが出る主な原因と対処法

MetaEditorでコンパイルした際にエラーが表示される場合、コードやファイル配置に原因があります。代表的なパターンを確認してみましょう。

① 「’~’ – undeclared identifier」エラー

変数や関数が宣言されていない場合に発生します。
スペルミス、関数名の間違い、必要な変数の書き忘れがないか確認してください。

② #property strict関連のエラー

古いMQL4コードを使用している場合、型変換や関数定義でエラーが出ることがあります。
最新のMQL4仕様に合わせて、変数の型や関数の書き方を見直す必要があります。

#property strictの考え方はこちら

③ 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の入れ方・自動売買設定・チャートへの適用手順を詳しく知りたい場合は、以下の記事でまとめています。

EAの入れ方・動かし方を確認したい方へ

本記事ではコンパイル手順を中心に解説しています。
MT4にEAを入れる方法、自動売買の許可、チャートへの適用手順は以下の記事で確認できます。

▶ MT4でEAを動かす設定ガイドを見る

ここでは、コンパイル後に最低限確認しておきたい流れだけを整理します。

  1. MetaEditorでコンパイルし、「0 errors」を確認する
  2. MT4のナビゲーターでEAが表示されるか確認する
  3. 必要に応じてナビゲーターを右クリックして「更新」する
  4. EAをチャートに適用する
  5. ニコニコマークが表示されるか確認する

MT4側の自動売買設定も確認する

コンパイルが成功しても、MT4側の設定が正しくないとEAは動きません。

MT4のメニューから「ツール」→「オプション」を開きます。

MT4のツールメニューからオプションを開く手順

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

MT4の自動売買を許可する設定画面

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

MT4の自動売買ボタンが有効になっている状態

バックテストでEAのコンパイル結果を確認する

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

バックテストを行うことで、EAがMT4上で実行できる状態になっているか、エントリー条件が成立するか、想定外のエラーが出ないかを確認できます。

MT4のストラテジーテスター画面の全体像

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

EAのバックテスト条件を設定するMT4画面

バックテスト結果が表示されれば、EA自体はMT4上で実行できています。

バックテストの詳しい設定や、最適化・ヒストリカルデータの使い方は以下の記事で解説しています。

EAバックテストのやり方 最適化 ヒストリカルデータ活用まとめ


MT4にEAを適用して動作確認する手順

最後に、EAをチャートに適用して動作確認をします。

MT4のナビゲーターからEAをチャートに適用する手順

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

EAのパラメータ設定画面で自動売買を許可するチェック項目

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

EAが正常に動作している時のニコニコマーク表示例

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

EAが正常に動作していない時の残念マーク表示例

この場合は、MT4の自動売買設定や、EA側の自動売買許可が正しく行われているか再確認してください。

詳しい設定手順は、以下の記事でまとめています。

MT4でEAを動かす設定ガイド


※ ここまでの手順を確認しても不安が残る方向けに、よくある質問をまとめました。

MT4でEAをコンパイルする際のよくある質問

EAのコンパイル・mq4/ex4ファイル・エラー対処・動作確認について、初心者の方から特によくある質問をまとめました。

MT4でEAをコンパイルしたのに動かないのはなぜですか?

コンパイルが成功していても、MT4側の設定や自動売買の許可が正しくないとEAは動きません。
また、コンパイルは成功していても、プログラム内部のエントリー条件が成立していない場合もあります。

mq4ファイルとex4ファイルの違いは何ですか?

mq4ファイルは編集できるソースコード、ex4ファイルはMT4で実行されるコンパイル後のファイルです。
MetaEditorでmq4ファイルをコンパイルすると、MT4で実行できるex4ファイルが作成されます。

MetaEditorでEAをコンパイルする正しい手順は?

MT4からMetaEditorを起動し、EAのソースコードを貼り付けた後にコンパイルを行います。
「0 errors, 0 warnings」と表示されていればコンパイルは成功しています。

コンパイルエラーが出た場合はどこを確認すればよいですか?

まずはエラー行、関数名や変数名のスペル、includeファイルの有無、ファイルの保存場所を確認してください。
「undeclared identifier」や「cannot open file」など、エラー文ごとに確認すべき場所が異なります。

0 errorsならEAは必ずエントリーしますか?

いいえ。0 errorsは、あくまでソースコードがコンパイルできたという意味です。
EAがエントリーするかどうかは、MT4設定、バックテスト環境、エントリー条件、ロジックの成立状況によって変わります。

MT4でEAを自作するにはプログラミングが必須ですか?

EAを完全に自作する場合は、MQL4による基本的なプログラミング知識が必要です。
ただし、最初はサンプルEAを動かしながら、コンパイル・設定・バックテストの流れを理解するだけでも十分に学習効果があります。


まとめ MT4でEAをコンパイルする基本手順

  • EAの編集用ファイルは .mq4、MT4で実行されるファイルは .ex4
  • MetaEditorでmq4をコンパイルするとex4ファイルが作成される
  • 「0 errors, 0 warnings」でコンパイル成功
  • コンパイル成功は、EAが必ず動くことを保証するものではない
  • 動かない場合は、MT4設定・バックテスト・エントリー条件を確認する

本記事は、EA初心者が最初につまずきやすい 「mq4ファイルをどうEAとして動かすか」 を整理するための基礎記事です。

EAの入れ方や自動売買設定を確認したい場合は、以下の記事へ進んでください。

MT4でEAを動かす設定ガイド

次に読むべき関連記事

コメント

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