MT4インジケーターをEA化する前に整理すること
MT4インジケーターをEA化したい場合、最初に整理するべきことは、インジケーターが何を表示しているのか、EAがどのタイミングで何を実行するのかを分けて確認することです。
インジケーターは、チャート上に矢印、ライン、色、アラートなどを表示するための補助ツールです。一方、EAは、条件判定だけでなく、注文、決済、ロット、MagicNumber、重複エントリー制限、エラー処理、ログ確認などを扱います。
そのため、サインが表示されるインジケーターがあるだけでは、すぐにEA化できるとは限りません。サインバッファ、iCustomでの参照可否、リペイントの有無、確定足で判断するか、リアルタイムで判断するか、エントリー条件、決済条件、保有中ポジションの扱いまで整理する必要があります。
この記事では、MT4インジケーターをEA化する前に確認したい、ソースコードの有無、サインバッファ、iCustom、リペイント、確定足、EAに必要な仕様、開発依頼前に整理する情報をまとめます。
なお、この記事はMT4インジケーターのEA化、MQL4開発、設定確認、検証、不具合切り分け、開発依頼前の整理を目的とした技術記事です。投資助言、売買指示、利益保証、勝率保証、損失回避保証、推奨ロットの提示を目的としたものではありません。
この記事で確認すること
- インジケーターのEA化とは何か
- インジケーターとEAの責務差
- EA化できるケースと難しいケース
- ソースコード、サインバッファ、iCustomの確認
- リペイントと確定足の確認
- EA化に必要なエントリー条件・決済条件
- 見た目の矢印とEA判定を混同しない考え方
- 開発依頼前に送る情報
インジケーターのEA化とは
表示・通知から売買実行へ移すこと
インジケーターのEA化とは、チャート上の表示や通知をもとに、EAとして条件判定、注文、決済、管理処理を行える形へ仕様化することです。
たとえば、矢印が出るインジケーターを使っている場合でも、EA化では「どの矢印を」「どの足で」「どのタイミングで」「BUYなのかSELLなのか」「一度だけ注文するのか」「決済は何で行うのか」を明確にする必要があります。
インジケーター側では見た目だけで判断できていた内容でも、EA側では機械的に再現できる条件へ落とし込む必要があります。
インジとEAの責務差
インジケーターとEAは、MT4上での役割が異なります。
インジケーターは、サイン表示、アラート通知、ライン描画、チャート上の情報表示を主に扱います。EAは、これに加えて、売買実行、決済、ポジション管理、ロット計算、MagicNumber管理、注文エラー処理、ログ出力などを扱います。
| 項目 | インジケーター | EA |
|---|---|---|
| 主な役割 | 表示、通知、補助判断 | 判定、注文、決済、管理 |
| 矢印表示 | チャート上に表示する | 表示ではなく条件値として参照する |
| アラート | 通知を出す | 通知とは別に注文可否を判定する |
| ポジション管理 | 通常は管理しない | MagicNumberや通貨ペア単位で管理する |
| ログ確認 | 表示・通知の確認が中心 | 注文・決済・エラー・ブロック理由も確認する |
EA化できるものと難しいもの
EA化しやすいのは、サイン条件が明確で、バッファ値や内部条件をEA側から参照でき、リペイントや表示後の変化を把握できているインジケーターです。
一方で、サイン条件が不明、矢印がオブジェクト描画だけ、バッファが分からない、過去サインが変わる、通知タイミングと表示タイミングが一致しない、ソースコードがない、といった場合は確認項目が増えます。
EA化の可否は、単に「サインが出ているか」ではなく、EAが安定して参照できる条件として整理できるかで判断します。
最初に確認すること
ソースコードの有無
最初に、対象インジケーターのソースコードがあるか確認してください。
MT4インジケーターでは、ソースコードは通常 mq4、コンパイル済みファイルは ex4 です。mq4がある場合は、サイン条件、バッファ、アラート条件、リペイントの可能性、表示処理を確認しやすくなります。
ex4のみの場合でも、iCustomで値を参照できる場合があります。ただし、内部ロジックを直接確認することは基本的に難しく、表示例、挙動確認、ログ、バッファ調査をもとに仕様化する必要があります。
サインバッファ
サインバッファとは、インジケーターが計算した値をチャートやEA側へ渡すための内部データ領域です。
矢印サインが表示されている場合でも、その矢印がバッファで出ているのか、チャートオブジェクトとして描画されているだけなのかを確認する必要があります。EAから参照しやすいのは、BUYサイン、SELLサイン、フィルター値などがバッファとして整理されているケースです。
iCustomで参照できるか
MT4のEAからカスタムインジケーターを参照する場合、iCustom を使う構成になることがあります。
iCustomで参照する場合は、インジケーター名、Inputsの順番、バッファ番号、参照する足の位置、戻り値の意味を確認します。バッファ番号や値の意味が不明なままだと、EA側でBUYとSELLを取り違えたり、未確定足の変化を誤って注文条件に使ったりする可能性があります。
サイン条件の明確さ
EA化では、サイン条件を文章で説明できる状態にすることが重要です。
「矢印が出たらエントリー」だけでは不十分です。どの矢印か、同じ足で1回だけか、足確定後か、矢印が消えることがあるか、BUYとSELLが同時に出ることがあるか、通知と矢印のタイミングは同じかを整理します。
| 確認項目 | 確認する内容 | EA化への影響 |
|---|---|---|
| ソースコード | mq4があるか、ex4のみか | 内部条件の確認範囲が変わる |
| サインバッファ | BUY/SELL値を参照できるか | EA側の判定材料になる |
| iCustom | EAから値を取得できるか | 既存インジ利用型EAに関係する |
| サイン条件 | 発生条件とタイミングが明確か | 注文条件の仕様化に必要 |
リペイント確認
過去サインが変わるか
リペイントとは、過去に表示されていたサインや値が、後から変わる、消える、別の位置に移るように見える挙動です。
リペイントがあるインジケーターをEA化する場合、どの時点のサインを有効とするかを慎重に決める必要があります。チャート上で過去にきれいに見えるサインでも、リアルタイムでは確定前に変化していた可能性があります。
確定足で判断するか
EA化では、未確定足で判断するのか、確定足で判断するのかを決める必要があります。
確定足で判断する場合、現在形成中の足ではなく、1本前の確定済みローソク足のサインを使います。これにより、未確定足の中でサインが出たり消えたりする影響を減らせる場合があります。
ただし、確定足判定にすると、通知や注文のタイミングはリアルタイム表示より遅くなります。この違いを理解したうえで、EA仕様として固定する必要があります。
リアルタイムで変化するか
リアルタイム判定を使う場合、足が確定する前にサインが変化する可能性があります。
そのため、同じ足で何度も注文しない制限、サインが消えた場合の扱い、BUYからSELLへ変化した場合の扱い、通知と注文の重複防止を設計する必要があります。
検証時の注意
リペイント確認では、過去チャートだけで判断しないことが重要です。
可能であれば、リアルタイムでサインが出た時刻、確定後の状態、スクリーンショット、Expertsログ、サインバッファ値を記録してください。バックテストや過去チャートだけでは、リアルタイム中の変化を確認しきれない場合があります。
| 確認項目 | 見る内容 | 仕様化すること |
|---|---|---|
| 過去サイン | 表示後に消える、移動する、変わるか | リペイント有無の扱い |
| 確定足 | 1本前の足で判定するか | 判定タイミング |
| リアルタイム | 未確定足で値が変化するか | 重複注文防止、再判定条件 |
| 検証記録 | スクリーンショット、ログ、時刻 | 再現確認の材料 |
EA化に必要な仕様
エントリー条件
EA化では、エントリー条件を具体的に整理してください。
BUYサインが出た時だけなのか、SELLサインも使うのか、足確定後に注文するのか、サイン発生直後に注文するのか、同じ方向のポジションがある場合は追加しないのか、反対サインでドテンするのかを決める必要があります。
「サインが出たら注文」ではなく、EAが判定できる条件として、対象バッファ、参照足、BUY/SELL判定、重複制限、注文可否を整理します。
決済条件
EA化では、エントリー条件だけでなく決済条件も必要です。
決済条件には、固定の利確・損切り、反対サイン決済、時間決済、トレーリング、建値移動、手動決済のみなどがあります。どの条件で決済するのかを決めないと、EAとしての動作が曖昧になります。
ロット
ロットは注文数量に関係する設定項目です。
この記事では特定のロットを提示しません。EA化の相談時には、固定ロットにするのか、入力パラメータで変更できるようにするのか、最小ロットやロットステップに合わせて処理するのかを確認します。
MagicNumber
MagicNumberは、EAが自分の注文やポジションを識別するための番号です。
複数EAを同じ口座で使う場合や、手動注文とEA注文を分けたい場合、MagicNumberの設計が重要になります。EA化の際には、どのポジションを管理対象にするか、手動注文を対象にするか、別EAのポジションを除外するかを決めます。
時間足
対象時間足を整理してください。
M1だけで使うのか、M5やM15でも使うのか、チャートに設定した時間足を使うのか、EA内部で固定時間足を参照するのかによって、実装内容が変わります。
通貨ペア
対象通貨ペアを整理してください。
特定通貨ペアだけで使うのか、複数通貨ペアで使うのか、銘柄名にサフィックスが付く口座を想定するのかを確認します。通貨ペアによって桁数、最小ロット、スプレッド、取引時間が異なる場合があります。
重複エントリー制限
EAでは、同じ条件で何度も注文しないための制限が必要です。
同じ足では1回だけ注文するのか、同じ方向のポジションがある場合は追加しないのか、BUYとSELLを同時に持つのか、反対サインが出たら決済だけにするのか、新規注文も行うのかを整理してください。
| EA化で決める項目 | 整理する内容 | 確認理由 |
|---|---|---|
| エントリー条件 | BUY/SELL、参照足、注文タイミング | 注文条件を明確にするため |
| 決済条件 | 利確、損切り、反対サイン、手動決済 | 保有後の動作を明確にするため |
| ロット | 固定値か入力変更か、口座仕様への対応 | 注文数量の扱いを決めるため |
| MagicNumber | EA注文、手動注文、他EA注文の区別 | 管理対象を分けるため |
| 時間足 | チャート時間足か固定時間足か | 判定条件を再現するため |
| 重複制限 | 同一足、同方向、同時保有の扱い | 連続注文を防ぐため |
インジの見た目とEA判定を混同しない
矢印表示
チャート上の矢印表示は、人間が見るための表示です。
EA化では、その矢印がどの値をもとに表示されているのか、BUYとSELLをどう識別するのか、過去に消えることがあるのか、確定足で残るのかを確認します。
矢印が見えることと、EAが安定して判定できることは同じではありません。
アラート
アラート通知が出るインジケーターでも、アラート条件とEAの注文条件が同じとは限りません。
アラートは表示や通知のために設計されている場合があります。EA化する時は、アラート発生を注文条件に使うのか、バッファ値を使うのか、内部条件を再実装するのかを決める必要があります。
バッファ値
EA化では、バッファ値の意味を確認することが重要です。
BUYサインの時にどのバッファがどの値になるのか、SELLサインの時にどのバッファがどの値になるのか、サインがない時は何が返るのかを確認します。空値、0、EMPTY_VALUE、価格値など、インジケーターによって扱いが異なります。
判定タイミング
インジケーターの表示タイミングと、EAの注文タイミングを混同しないでください。
チャート上ではサインが出たように見えても、EA側でどの足の値を参照するかによって、注文タイミングが変わります。未確定足を使うのか、確定足を使うのかは、EA仕様として明確に決める必要があります。
| 見た目の要素 | EA化で確認すること | 注意点 |
|---|---|---|
| 矢印 | どの条件・バッファで表示されるか | 表示だけではEA判定に使えない場合がある |
| アラート | 通知条件と注文条件が同じか | 通知と注文は責務が違う |
| バッファ | 値の意味、空値、BUY/SELLの識別 | 番号や値を取り違えない |
| 判定タイミング | 未確定足か確定足か | 注文タイミングと検証結果に影響する |
開発依頼前に送る情報
インジファイル
開発相談時には、対象インジケーターのファイル名を整理してください。
mq4、ex4、関連ファイル、テンプレート、setファイルがある場合は、どれを使っているかを分けて確認します。複数バージョンがある場合は、現在チャートで使っている版を明確にしてください。
ソース有無
mq4ソースがあるか、ex4のみかを整理してください。
mq4がある場合は、サイン条件やバッファを確認しやすくなります。ex4のみの場合は、内部条件を直接確認できないため、表示例、iCustomでの参照可否、スクリーンショット、動作ログをもとに確認する形になります。
表示例
BUYサイン、SELLサイン、サインなしの状態が分かるスクリーンショットを用意してください。
表示例があると、どのサインをEA化対象にするのか、どの表示は無視するのか、アラートと矢印が一致しているかを確認しやすくなります。
希望するEA動作
希望するEA動作を文章で整理してください。
たとえば、BUYサイン確定後に新規BUY、SELLサイン確定後に新規SELL、反対サインで決済、同じ方向のポジションがある時は追加しない、などです。希望する動作は、売買判断ではなく、開発するEAの仕様として整理します。
対象口座環境
対象口座、通貨ペア、時間足、MT4環境を整理してください。
銘柄名にサフィックスが付く場合、EA側で銘柄名を固定するのか、チャート銘柄を使うのかを決める必要があります。VPS上で動かす場合は、VPS環境、MT4台数、外部通知や認証の有無も確認対象になります。
ログ
ExpertsログとJournalログを整理してください。
インジケーターの初期化エラー、通知ログ、EA化後の注文エラー、外部連携エラーなどを確認する時に役立ちます。ログやスクリーンショットに口座番号、Webhook URL、APIキー、認証トークンなどが含まれる場合は、共有前にマスクしてください。
| 送ると確認しやすい情報 | 理由 |
|---|---|
| インジファイル名 | 対象ファイルを特定するため |
| mq4 / ex4の有無 | 内部確認や再実装範囲を判断するため |
| サイン表示例 | EA化対象のサインを確認するため |
| 希望するEA動作 | 注文・決済仕様を決めるため |
| 対象口座環境 | 銘柄名、時間足、VPS、MT4環境を確認するため |
| Expertsログ・Journalログ | 初期化やエラー状態を確認するため |
送らない方がよい情報
EA化相談では、インジケーター、setファイル、スクリーンショット、ログに重要情報が含まれる場合があります。
| そのまま送らない方がよい情報 | 注意点 |
|---|---|
| 口座番号 | スクリーンショットやログへの映り込みに注意 |
| ログインパスワード | 確認に不要なため送らない |
| Webhook URL | 通知先へ接続できる情報のため注意 |
| GAS URL | 外部シート連携先に関係するため注意 |
| APIキー | 外部サービス認証に関係するため注意 |
| 認証トークン | 利用権限に関係するためマスクする |
| VPSログイン情報 | サーバー操作権限に関係するため送らない |
EA化で注意する表現
利益保証ではない
インジケーターのEA化は、表示や通知をもとにEAとして動作できるようにする技術開発です。
EA化したことによって、利益、勝率、損失回避、運用結果が保証されるものではありません。この記事では、サイン条件、判定タイミング、注文・決済仕様、ログ確認など、技術的な整理を扱います。
サインどおりに売買すればよいとは限らない
インジケーターのサインをEAで使う場合でも、サイン表示だけをそのまま注文に使えるとは限りません。
リペイント、未確定足の変化、サイン重複、取引時間、スプレッド、注文エラー、既存ポジションの有無など、EA側で確認すべき項目があります。
売買判断ではなく仕様化として扱う
EA化の相談では、「どこで売買すべきか」ではなく、「どの条件が成立した時にEAが何を実行する仕様にするか」を整理します。
エントリー、決済、ロット、MagicNumber、対象時間足、重複制限、ログ出力は、EAの仕様として明確に定義してください。
よくあるトラブルと確認順
インジケーターのEA化では、表示とEA判定のズレ、バッファ参照ミス、リペイント、重複注文、決済条件未定義が原因で確認が難しくなることがあります。
| 症状 | 主な原因候補 | 確認順 |
|---|---|---|
| 矢印は出るがEAが注文しない | バッファ未参照、確定足条件、注文ブロック | バッファ値、参照足、Expertsログを確認 |
| EAが想定外のタイミングで注文する | 未確定足参照、バッファ番号違い、重複制限不足 | 参照足、バッファ番号、同一足制限を確認 |
| 過去チャートでは良く見えるが実運用で違う | リペイント、未確定足変化、検証方法の違い | リアルタイム記録と確定後表示を比較 |
| 決済されない | 決済条件未定義、MagicNumber違い、管理対象外 | 決済仕様、MagicNumber、ポジション認識を確認 |
| 同じサインで何度も注文する | 重複エントリー制限不足 | 同一足制限、同方向保有制限を確認 |
よくある質問
MT4インジケーターは必ずEA化できますか?
必ずできるとは限りません。ソースコード、サインバッファ、iCustomでの参照可否、リペイント、判定条件、EA化したい動作を確認する必要があります。
サインが出るインジならEA化できますか?
サイン表示だけでは不十分です。EAが参照できる値、判定タイミング、エントリー条件、決済条件、重複制限を整理する必要があります。
リペイントするインジはEA化できますか?
技術的に扱える場合もありますが、検証方法、判定タイミング、確定足で使うかどうかを慎重に整理する必要があります。
iCustomで参照できればEA化できますか?
iCustomで値を取得できることは重要ですが、それだけでEA仕様が完成するわけではありません。バッファ値の意味、参照足、注文条件、決済条件を確認する必要があります。
EA化依頼には何を送ればよいですか?
インジファイル、mq4/ex4の有無、サイン表示例、希望するエントリー・決済条件、対象通貨ペア、時間足、ログ、スクリーンショットを整理してください。
EA化すれば利益は保証されますか?
いいえ。EA化は機能開発であり、利益、勝率、損失回避、運用結果を保証するものではありません。
ex4だけでもEA化相談はできますか?
相談は可能な場合があります。ただし、内部ロジックを直接確認できないため、表示例、iCustom参照、サイン挙動、希望仕様をもとに確認する形になります。
まとめ
EA化はサイン条件と決済条件の仕様整理が重要
MT4インジケーターをEA化する時は、サイン表示だけでなく、EAが参照できる条件として整理することが重要です。
BUYサイン、SELLサイン、サインなしの状態、参照する足、注文タイミング、決済条件、MagicNumber、重複エントリー制限、対象通貨ペア、時間足を具体的に決めてください。
リペイントと確定足を必ず確認する
インジケーターのEA化では、リペイントの有無と判定タイミングが重要です。
過去チャートで見えるサインだけで判断せず、リアルタイムでサインが出た時、足確定後にサインが残るか、バッファ値が変わるか、アラートと表示が一致するかを確認してください。
相談前に整理しておきたい情報
- 対象インジケーター名、ファイル名、バージョン
- mq4 / ex4の有無
- サインバッファの有無、BUY/SELLの値
- iCustomで参照できるか
- リペイントの有無、確定足かリアルタイムか
- エントリー条件、決済条件、重複エントリー制限
- 対象通貨ペア、時間足、口座環境
- 希望するロット設定方式、MagicNumberの扱い
- サイン表示例、スクリーンショット、Expertsログ、Journalログ
- 外部通知やWebRequestを使う場合は、URLやトークンをマスクした設定メモ
関連ページ
- EA作成・改修相談
- インジケーター作成・改修相談
- サインインジケーター作成を依頼する前に整理すること
- MT4 EAの作り方を依頼前に整理する方法
- MQL4とは?MT4のEA・インジケーター開発でできること
- MT4インジケーターでアラート通知を使う前に確認すること
- MT4インジケーターとは?入れ方・表示されない時の確認ポイント
- 不具合報告・調査依頼について
- 免責事項
MT4インジケーターをEA化したい、サインバッファやiCustomで参照できるか確認したい、リペイントや確定足の扱いを整理したい場合は、インジファイル、mq4/ex4の有無、サイン表示例、希望するEA動作、Expertsログ、Journalログを整理したうえでご相談ください。

