MT4 EAをMT5へ移行・作り直す前に確認すること
MT4 EAをMT5へ移行したい場合、最初に確認するべきことは、MT4用のEAファイルをMT5へそのまま入れても動かない場合が多いという点です。
MT4 EAは主にMQL4で作られ、MT5 EAは主にMQL5で作られます。見た目や機能が似ていても、注文管理、ポジション管理、インジケーター参照、ファイル入出力、外部連携、ログ出力、バックテスト環境などに違いがあります。
そのため、MT4 EAをMT5へ移行する場合は、単純なファイル変換ではなく、現在のEAが何を判定し、どのように注文し、どのポジションを管理し、どの条件で決済するのかを整理したうえで、MT5向けに作り直す前提で確認することが重要です。
この記事では、MT4 EAをMT5へ移行・作り直す前に確認したい、MQL4/MQL5の構造差、ソースコードの有無、setファイル、注文・ポジション管理、インジ参照、外部連携、仕様整理、開発依頼前に送る情報をまとめます。
なお、この記事はMT4/MT5 EAの移行、MQL4/MQL5開発、既存EA改修、仕様整理、検証、不具合確認、開発依頼前の整理を目的とした技術記事です。投資助言、売買指示、利益保証、勝率保証、損失回避保証、推奨ロットの提示を目的としたものではありません。
この記事で確認すること
- MT4 EAをMT5へ移行する時の基本
- MQL4とMQL5の構造差
- ソースコード、ex4、mq4、setファイルの確認
- MT4とMT5の注文・ポジション管理の違い
- インジケーター参照、WebRequest、通知、認証の違い
- MT5向けに整理すべきエントリー・決済・管理仕様
- 移行ではなく新規作成が適切なケース
- 開発相談前に送る情報と送らない方がよい情報
MT4 EAをMT5へ移行するとは
MQL5はMQL4との互換性を意識して設計されていますが、イベント関数、取引処理、インジケーターバッファや各種APIには差があります。mq4ファイルをそのままmq5へ変更するだけで移行完了とは扱いません。
移行前には、エントリー・決済ロジックだけでなく、注文・ポジション管理、インジ参照、時間足、外部連携、ファイル入出力など、MQL4依存部分を洗い出してからMT5側の実装方式へ置き換えます。
単純コピーでは動かない理由
MT4 EAをMT5へ移行する場合、MT4用の ex4 や mq4 をMT5のフォルダへ入れるだけでは、通常そのまま動きません。
MT4とMT5では、実行ファイル形式、開発言語、注文管理、ポジション管理、イベント処理、バックテスト環境が異なります。MT4用の実行ファイルである ex4 は、MT5用の実行ファイルである ex5 とは別物です。
そのため、MT4 EAをMT5で使いたい場合は、現在のEAの仕様を確認し、MT5向けのMQL5 EAとして再実装または作り直しを検討する必要があります。
MQL4とMQL5の構造差
MQL4とMQL5は似た名前ですが、EA開発では構造差があります。
特に、注文、ポジション、約定履歴、インジケーター参照、イベント処理、口座仕様への対応方法が異なります。MT4で動いていた注文処理を、そのままMT5へ置き換えられるとは限りません。
たとえば、MT4では注文単位で処理していた内容を、MT5ではPosition、Order、Dealの関係で整理する必要がある場合があります。ここを整理せずに移行すると、注文は出るが決済管理が合わない、履歴集計が合わない、MagicNumberの扱いがずれる、といった問題につながります。
作り直しが必要になるケース
MT4 EAのMT5移行では、実質的に作り直しになるケースがあります。
特に、ソースコードがない、ex4しかない、ロジック仕様が不明、古いライブラリに依存している、複数ポジション管理が複雑、ナンピンやトレーリングを含む、外部連携や認証がある、パネル表示やオブジェクト描画が多い場合は、MT5向けに仕様を再整理した方が安全です。
| 確認項目 | MT4側 | MT5移行時の確認 |
|---|---|---|
| 実行ファイル | ex4 | MT5ではex5が必要 |
| ソースコード | mq4 | MQL5向けに再実装が必要 |
| 注文管理 | Order系中心 | Position / Order / Dealの整理が必要 |
| ポジション管理 | 注文単位で扱うことが多い | 口座方式と管理対象の整理が必要 |
| 外部連携 | MT4側設定に依存 | MT5側でWebRequestや認証を再確認 |
移行前に確認するもの
ソースコードの有無
最初に確認するべきものは、MT4 EAのソースコードがあるかどうかです。
MT4 EAでは、通常 mq4 がソースコード、ex4 がコンパイル済み実行ファイルです。mq4があれば、エントリー条件、決済条件、MagicNumber管理、注文処理、インジ参照、外部連携などを確認しやすくなります。
ただし、mq4があっても、そのままMQL5へ貼り替えるだけで動くとは限りません。MQL5向けに構造を見直す必要があります。
ex4だけの場合
ex4だけの場合、内部ロジックを直接確認することは基本的に難しくなります。
この場合は、MT4版の表示、動作ログ、setファイル、スクリーンショット、バックテスト結果、仕様メモをもとに、MT5版として再現作成を検討する形になります。
ex4だけで「完全に同じもの」を作ることは難しい場合があります。どこまで再現したいのか、どこからはMT5向けに仕様変更してよいのかを整理してください。
現在のsetファイル
現在使っているsetファイルは、MT4版EAの設定内容を確認するために重要です。
setファイルには、ロット、MagicNumber、取引時間、エントリー方向、決済条件、ナンピン、トレーリング、通知、外部連携、ログ設定などが含まれる場合があります。
MT5版では同じ項目名を使える場合もありますが、内部仕様が変わる可能性があります。setファイルは、MT5版へそのまま流用するものではなく、仕様確認の資料として扱います。
対象ロジック
EAに複数ロジックがある場合は、どのロジックをMT5版へ移行したいか整理してください。
すべてのロジックを移行するのか、一部だけにするのか、エントリーのみ再現するのか、決済やナンピンまで含めるのかによって開発範囲が変わります。
使用中のインジケーター
MT4 EAがカスタムインジケーターを参照している場合、そのインジケーターも確認対象です。
MT4用インジケーターをMT5でそのまま使えない場合、インジケーター側もMT5向けに作り直す必要があります。EA本体だけでなく、依存しているインジケーター、mqhファイル、DLL、外部ファイルも整理してください。
| 移行前に確認する資料 | 確認する内容 | MT5版への影響 |
|---|---|---|
| mq4ソース | ロジック、注文処理、管理仕様 | 再実装範囲を判断しやすい |
| ex4のみ | 実行確認、表示、ログ | 再現作成になる可能性が高い |
| setファイル | Inputs設定、稼働条件 | MT5版の設定項目整理に使う |
| カスタムインジ | 参照条件、バッファ、表示 | インジ側もMT5化が必要な場合がある |
| ログ・履歴 | 動作、エラー、注文・決済 | 再現確認や検証条件に使う |
注文・ポジション管理の違い
MT4のOrder系
MT4 EAでは、注文やポジションをOrder系の関数や注文情報を中心に扱う設計が多くあります。
注文番号、MagicNumber、通貨ペア、売買方向、ロット、SL/TP、注文履歴などを確認しながら、EAが管理対象を判断します。
MT4版でどの注文を管理しているか、手動注文を対象にするか、他EAの注文を除外しているかを整理しておくと、MT5版での管理設計に反映しやすくなります。
MT5のPosition / Order / Deal
MT5では、Position、Order、Dealを分けて考える必要があります。
どの処理が注文、どの処理が約定、どの処理が保有ポジション管理なのかを整理しないと、MT4版と同じ感覚で移行した時に、履歴集計や決済管理がずれる場合があります。
MT5版では、ポジションをどう識別するか、履歴をどう集計するか、注文失敗や部分約定をどう扱うかを、仕様として確認します。
ヘッジ口座とネッティング口座
MT5では、口座方式としてヘッジ口座とネッティング口座の違いが関係する場合があります。
MT4と同じように複数ポジションを同時に持つ前提で作るのか、銘柄ごとにポジションが統合される前提で考えるのかにより、EAの設計が変わります。
ナンピン、両建て、複数ロジック、複数MagicNumber、コピーEA連携などを使う場合は、対象のMT5口座方式を確認してください。
MagicNumber管理
MagicNumberは、EAが自分の注文やポジションを識別するための番号です。
MT4版で使っていたMagicNumberを、MT5版でもどのように扱うかを整理します。複数ロジックを持つEAでは、ロジックごとにMagicNumberを分けるのか、通貨ペアごとに分けるのか、手動注文を対象外にするのかを決める必要があります。
| 管理項目 | 確認すること | MT5版で整理すること |
|---|---|---|
| 注文管理 | MT4版が何を注文対象にしているか | Order / Deal / Positionの扱い |
| 決済管理 | MagicNumber、通貨ペア、方向 | 管理対象の識別方法 |
| 履歴集計 | 注文履歴、決済履歴、損益集計 | Deal履歴の扱い |
| 口座方式 | ヘッジかネッティングか | 複数ポジション前提か確認 |
| MagicNumber | ロジック別・通貨ペア別の番号 | MT5版での識別設計 |
インジ参照・外部連携の違い
iCustom
MT4 EAがカスタムインジケーターを参照している場合、MT5版でも同じように参照できるとは限りません。
MT4用インジケーターの ex4 や mq4 は、MT5では通常そのまま使えません。EAがiCustomで参照しているインジケーターがある場合は、そのインジケーターのMT5版、バッファ番号、入力パラメータ、参照タイミングも確認してください。
ファイル入出力
EAがファイル保存や読み込みを行っている場合、MT5側でも同じ保存先・同じ形式で扱うかを確認する必要があります。
CSV保存、ログ保存、外部ツール連携、コピーEA用ファイル、認証ファイル、設定ファイルなどがある場合は、MT4版のファイル構成とMT5版で再現したい構成を整理してください。
WebRequest
WebRequestを使うEAでは、MT5側でも許可URL、送信内容、送信タイミング、エラー処理を確認します。
MT4で設定していたURLや外部連携設定は、MT5へ自動で引き継がれるわけではありません。Discord通知、Google Sheets連携、外部認証、外部パラメータ取得などがある場合は、MT5側のWebRequest設定とExpertsログを確認してください。
通知
メール通知、プッシュ通知、Discord通知、Webhook通知などを使っている場合は、通知条件と通知文面を整理します。
MT4版とMT5版で通知タイミングが変わると、運用時の確認方法も変わります。通知は売買指示ではなく、状態確認やログ補助として扱います。
認証
EAに認証、期限、口座制限、外部照合がある場合は、MT5版で認証方式をどう扱うか確認してください。
認証トークン、APIキー、GAS URL、Webhook URLなどの実値は、公開ページや通常の問い合わせ文面にそのまま記載しないよう注意してください。
| 外部要素 | 確認する内容 | 注意点 |
|---|---|---|
| iCustom | 参照インジ、バッファ、入力順 | MT5用インジも必要になる場合がある |
| ファイル入出力 | 保存先、形式、読み込みタイミング | MT5側で再設計が必要な場合がある |
| WebRequest | 許可URL、送信先、送信ログ | URLやトークンの実値を公開しない |
| 通知 | 通知条件、文面、頻度 | 通知過多や送信失敗を確認する |
| 認証 | 利用制限、口座照合、期限管理 | 認証失敗時のログを確認する |
移行時に整理すべき仕様
エントリー条件
MT5版へ移行する前に、エントリー条件を文章で整理してください。
どのインジケーター、どの時間足、どの値、どのローソク足、どのタイミングでBUYまたはSELLを判断するのかを明確にします。MT4版のソースがある場合でも、仕様として読み直すことが重要です。
決済条件
決済条件も必ず整理してください。
固定TP/SL、反対サイン決済、トレーリング、建値移動、時間決済、バスケット決済、手動決済のみなど、どの条件でポジションを閉じるのかを確認します。
ナンピン・トレール
ナンピンやトレーリングを持つEAでは、MT5版で特に慎重な仕様整理が必要です。
何pipsまたは何ポイントで追加するのか、最大本数、ロット計算、平均価格、バスケット決済、トレーリング開始条件、トレーリング幅、既存ポジションの引き継ぎ可否を整理してください。
ロット計算
ロット計算は、MT5版でも口座仕様に合わせて確認が必要です。
固定ロット、倍率式、証拠金基準、残高基準、複数ロジック別ロットなど、現在のMT4版でどの方式を使っているかを確認します。この記事では特定のロットを推奨せず、仕様確認として扱います。
ログ
MT5版では、検証しやすいログ設計も重要です。
初期化、設定読込、エントリー判定、注文ブロック理由、注文成功・失敗、決済判定、外部連携、認証、ポジション認識などをログで追えるようにしておくと、移行後の確認が進めやすくなります。
パネル表示
MT4版にパネル表示やチャート上のボタンがある場合、MT5版で再現するか整理してください。
表示だけ必要なのか、ボタン操作が必要なのか、ステータス表示、通知状態、ポジション状態、外部連携状態を表示するのかを分けて確認します。不要な表示をMT5化のタイミングで整理することも可能です。
| 仕様項目 | 整理する内容 | MT5版で確認すること |
|---|---|---|
| エントリー条件 | 判定値、時間足、BUY/SELL条件 | 参照データと判定タイミング |
| 決済条件 | TP/SL、反対サイン、時間、トレール | Position管理との整合 |
| ナンピン | 幅、本数、ロット、平均価格 | 複数ポジション管理と口座方式 |
| ロット計算 | 固定、倍率、証拠金、ロジック別 | 最小ロット、ロットステップ |
| ログ | 判定、注文、決済、エラー | 検証しやすい出力設計 |
| パネル表示 | 表示内容、ボタン、ステータス | 再現するか整理するか |
移行ではなく新規作成が適切なケース
ソースがない
MT4版のmq4ソースがなく、ex4だけの場合は、内部仕様を直接確認できません。
この場合は、移行というより、現在の動作、setファイル、ログ、スクリーンショット、バックテスト結果、仕様メモをもとに、MT5版を新規作成する形になる場合があります。
古い処理が多い
古いEAでは、現在使っていない処理、不要な入力項目、分かりにくいログ、古い外部連携、重い描画処理が残っている場合があります。
MT5化のタイミングで、不要機能を削除し、必要な機能だけに整理した方が保守しやすくなる場合があります。
仕様が不明
現在のEAがなぜエントリーするのか、どの条件で決済するのか、どのポジションを管理するのかが分からない場合は、まず仕様整理が必要です。
仕様が不明なままMT5化すると、MT4版と違う動作になった時に、何が正しいのか判断できません。移行前に、現在の挙動をログとスクリーンショットで確認してください。
MT5向けに再設計したい
MT5化を機に、ログを分かりやすくしたい、Inputsを整理したい、外部連携を追加したい、通知を整えたい、バックテストしやすくしたい場合は、新規作成に近い形で設計する方が適切です。
単純移行ではなく、MT5向けの実装・検証・保守を前提に仕様を再整理してください。
移行元のMT4 EAで残す条件・変更する条件
既存MT4 EAの改修前に最初に整理すること
EAの目的
既存MT4 EAを改修する前に、まず現在のEAが何を目的としているのかを整理してください。
EAには、条件に応じて注文や決済を行うもの、手動操作を補助するもの、ポジション管理を補助するもの、通知やログ出力を行うものがあります。
「このEAを直したい」というだけでは改修範囲を判断しにくくなります。現在何を自動化しているのか、何を表示しているのか、何を通知しているのか、どの部分を変更したいのかを分けることが重要です。
| 目的 | 主な内容 | 整理すること |
|---|---|---|
| 自動売買EA | 条件に応じて注文・決済を行う | エントリー条件、決済条件、ロット、時間足、現在の挙動 |
| 補助EA | 管理、通知、ログ、操作補助を行う | 対象ポジション、表示内容、通知条件 |
| 半裁量EA | 手動操作とEA管理を組み合わせる | ボタン操作、管理範囲、ログ、停止条件 |
| 既存MT4 EA改修 | 既存機能を変更・追加する | mq4の有無、変更箇所、現在のログ、残したい機能 |
| MT5移行・再構築 | 既存MT4の仕様を整理してMT5向けに再構築する | 既存仕様、mq4、設定、画面、ログ、MT5で残したい機能 |
完全自動か補助EAか
EAの仕様確認では、完全自動で注文・決済まで行うのか、通知や操作補助だけを行うのかを分けてください。
完全自動EAでは、エントリー条件、決済条件、ロット、マジックナンバー、取引時間、注文エラー処理が重要になります。補助EAでは、表示、通知、ログ、ボタン操作、既存ポジション管理などが中心になります。
新規開発か既存改修か
新規開発と既存改修では、依頼前に必要な情報が異なります。EAFCでは、新規EA開発はMT5を基本としています。
既存MT4 EAの改修では、現在のEAファイル、mq4/ex4の有無、setファイル、ログ、現在の挙動、変更したい箇所を整理します。大きな仕様変更を行う場合は、MT4のまま拡張するだけでなく、MT5への移行・再構築も比較します。
| 依頼内容 | 必要な情報 | 基本的な考え方 |
|---|---|---|
| 新規EA開発 | 仕様メモ、条件、表示、通知、検証条件 | MT5向けに新規開発します。 |
| 既存MT4 EA改修 | mq4/ex4、set、ログ、現在の挙動、変更内容 | ソースと改修範囲を確認して対応可否を判断します。 |
| 不具合調査 | 症状、発生時刻、Expertsログ、Journalログ、再現条件 | 原因箇所と再現条件を先に分けて確認します。 |
| MT4からMT5への移行 | mq4、画面、仕様、設定、残したい機能 | 単純変換ではなく、必要に応じてMT5向けに再設計・再実装します。 |
既存MT4を維持するか、MT5へ移行するか
既存MT4 EAを修正する場合は、MT4をそのまま維持することが適しているケースと、MT5へ移行した方がよいケースを分けて考えます。
小規模な不具合修正や表示変更など、現在のMT4環境を維持することが目的であれば、既存MT4のまま改修できる場合があります。一方、大規模な機能追加、外部連携の拡張、長期利用、今後も継続的に改修する予定がある場合は、MT5への移行・再構築を検討します。
| 状況 | 基本方針 | 確認すること |
|---|---|---|
| 既存MT4の小規模修正 | MT4のまま改修を検討 | mq4、現在の挙動、変更箇所、ログ |
| 既存MT4の不具合修正 | 再現条件を確認してMT4で修正可否を判断 | Experts / Journalログ、再現手順、対象ソース |
| 大規模な機能追加 | MT5への移行・再構築も比較 | 追加機能、既存仕様、今後の保守方針 |
| 長期利用・継続拡張 | MT5移行を推奨 | 残す機能、廃止する機能、新仕様 |
| ex4のみでソースなし | 直接改修は原則困難 | 既存仕様を整理し、必要に応じてMT5で再構築を検討 |
エントリー条件の整理
使用するインジケーター
EAのエントリー条件でインジケーターを使っている場合は、どのインジケーターのどの値を使っているのかを整理してください。
標準インジケーターなのか、カスタムインジケーターなのか、サインインジケーターなのかによって確認項目が変わります。既存MT4のカスタムインジケーターを使っている場合は、ex4/mq4の有無、表示条件、バッファ番号、サイン位置、リペイントの有無などを確認します。
時間足
EAがどの時間足で判定しているのかを整理してください。
チャートに入れた時間足で判定するのか、固定の時間足で判定するのか、複数時間足を参照するのかによって実装内容が変わります。
| 時間足の考え方 | 内容 | 確認すること |
|---|---|---|
| チャート時間足 | EAを入れた時間足で判定する | 設置時間足を明確にする |
| 固定時間足 | M15やH1など指定時間足で判定する | 入力項目にするか固定にするか |
| 複数時間足 | 下位足と上位足を組み合わせる | どの条件をどの時間足で見るか |
| 足確定判定 | 確定足で判断する | 未確定足で動かすかどうか |
買い条件
BUY条件は、SELL条件と分けて整理してください。
たとえば、インジケーターのクロス、価格がラインを上抜け、サインが表示、一定時間内だけ有効、スプレッドが条件内、ポジションがない場合だけ、といった条件を個別に分解します。
売り条件
SELL条件も、BUY条件と同じ構造で整理すると確認しやすくなります。
BUYとSELLが完全に反対条件なのか、一部だけ違うのか、SELLだけ使わないのか、片方向のみを対象にするのかを明確にしてください。
同時保有
EAが複数ポジションを持つかどうかを整理します。
同じ方向に1ポジションだけなのか、BUYとSELLを同時に持つ可能性があるのか、ナンピンや分割エントリーを行うのかによって、ポジション管理が変わります。
再エントリー
決済後に再エントリーする条件も整理してください。
同じ足では再エントリーしない、決済後何分待つ、反対サインが出るまで待つ、1日あたりの回数を制限するなど、再エントリーのルールはEAの挙動に大きく関係します。
決済条件の整理
TP/SL
TPは利益確定、SLは損切りの設定です。
既存EAの仕様確認では、TP/SLを固定ポイントにするのか、価格差で指定するのか、インジケーター条件で決済するのか、手動決済を前提にするのかを整理します。
なお、TP/SLの設定は損失回避や利益を保証するものではありません。この記事では、あくまでEAの動作仕様として扱います。
トレーリング
トレーリング機能を使用する場合は、開始条件、追従幅、更新間隔、BUY/SELL別設定、既存ポジションへの適用有無を整理してください。
時間決済
一定時刻や保有時間で決済するルールを使用する場合は、時間の基準を明確にします。
MT4サーバー時間なのか、PC時間なのか、指定曜日を含むのか、週末前だけ決済するのかなどを整理してください。
反対シグナル決済
反対シグナルが出た時に決済するルールを使用する場合は、どのシグナルを反対条件とするかを整理します。
反対シグナルで決済だけするのか、決済後に反対方向へ新規エントリーするのかも分けてください。
一括決済
複数ポジションをまとめて決済する場合、対象範囲が重要です。
同じマジックナンバーだけを決済するのか、同じ銘柄だけなのか、BUYだけ、SELLだけ、全方向なのかを整理してください。
手動決済との関係
手動で決済した場合にEAがどう扱うかも確認対象です。
手動決済後に再エントリーするのか、管理を停止するのか、次のサインまで待つのかなど、手動操作との関係を決めておくと、改修後の確認がしやすくなります。
| 決済条件 | 整理する内容 | 確認すること |
|---|---|---|
| TP/SL | 固定、価格差、インジ条件 | 単位、対象ポジション、入力化 |
| トレーリング | 開始条件、追従幅、更新条件 | BUY/SELL別、ログ出力 |
| 時間決済 | 時刻、曜日、保有時間 | サーバー時間かPC時間か |
| 反対シグナル決済 | どの条件を反対とするか | 決済のみか反転エントリーありか |
| 一括決済 | 対象マジック、銘柄、方向 | 他EAや手動注文を含めるか |
ロット・リスク関連の整理
固定ロット
固定ロットは、入力したロットで注文する方式です。
改修相談では、特定のロット値を推奨するのではなく、EAの設定項目としてロットを変更できるようにするか、銘柄仕様に合わせてロットを丸める必要があるかなどを整理します。
ロット倍率
ロット倍率を使う場合は、何を基準に倍率をかけるのかを明確にしてください。
初回ロット、前回ロット、ロジック別ロット、コピー元ロットなど、基準が違えば動作も変わります。
最大ポジション
最大ポジション数は、EAが保有できる本数に関係します。
方向別なのか、全体なのか、ロジック別なのか、銘柄別なのかを整理してください。
ナンピン有無
ナンピンや追加エントリーを使用する場合は、追加条件、幅、最大回数、ロット計算、停止条件を整理します。
ナンピン機能の有無はEAの構造に大きく関係します。既存MT4 EAへ後から大規模なナンピン機能を追加する場合は、MT5への再構築を含めて検討した方がよいケースもあります。
損失制限ではなく設定確認として扱う
ロット、最大ポジション、SL、停止条件などは、EAの設定・動作仕様として確認します。
これらを設定しても、損失回避や安全性が保証されるわけではありません。改修・開発相談では、利益や損失の保証ではなく、EAがどの条件で何を行うかを仕様として整理してください。
| 項目 | 整理する内容 | 注意点 |
|---|---|---|
| ロット | 固定、入力、倍率、計算式 | 推奨ロットではなく仕様として整理する |
| 最大ポジション | 方向別、全体、ロジック別 | 対象範囲を明確にする |
| ナンピン | 幅、回数、追加条件、ロット | 後から追加すると設計影響が大きい場合がある |
| 停止条件 | 新規停止、追加停止、通知のみ | 何が止まるのかを分ける |
マジックナンバーと複数EA運用
識別の必要性
マジックナンバーは、EAが自分の注文やポジションを識別するために使われる番号です。
複数EAを同じ口座で使う場合、マジックナンバーが重複していると、別EAのポジションを誤って管理する可能性があるため、管理対象を明確にしておく必要があります。
複数チャート
同じEAを複数チャートに入れる場合、チャートごとにマジックナンバーを分ける必要があるか確認してください。
銘柄ごと、時間足ごと、ロジックごとに分けるのか、同じマジックで管理するのかによって仕様が変わります。
複数EA
複数のEAを同じ口座で使う場合、対象銘柄、マジックナンバー、管理対象、通知、ログが混ざらないように整理します。
他EAとの混在
既存EAや手動注文と混在する場合、どこまで管理対象にするかを必ず決めてください。
手動注文を管理するのか、EA注文だけを管理するのか、特定マジックのみ対象にするのかを整理しておくと、不具合調査もしやすくなります。
| 運用形態 | 確認すること | 依頼前に決めること |
|---|---|---|
| 1EA・1チャート | 対象銘柄、時間足 | 基本マジック |
| 1EA・複数チャート | 銘柄別、時間足別の管理 | チャートごとにマジックを分けるか |
| 複数EA | 他EAとの重複 | マジック番号の管理方法 |
| 手動注文あり | 手動注文を含めるか | 対象外にするか管理対象にするか |
バックテスト・検証条件
既存MT4 EAの改修では、変更前と変更後の動作を比較できるように、検証条件を先に固定しておくことが重要です。
銘柄
バックテストでは、対象銘柄を明確にしてください。
同じ通貨ペアやゴールド系銘柄でも、環境によって銘柄名にサフィックスが付く場合があります。EA側で銘柄名を固定しているのか、チャート銘柄に合わせるのかも確認対象です。
時間足
どの時間足で検証するかを整理してください。
EAがチャート時間足を使う場合、時間足を変えると判定も変わります。固定時間足や複数時間足を使う場合は、その仕様を明確にします。
期間
検証期間は、EAの動作確認やログ確認に関係します。
長期検証だけでなく、まずは短期間で条件判定、注文、決済、ログが想定どおりに動くかを確認することも重要です。
スプレッド
スプレッド条件をEAに設定している場合、バックテスト時のスプレッド条件も確認してください。
スプレッドが広い時にエントリーを停止するEAでは、検証条件によって取引回数やログが変わる場合があります。
初期証拠金
バックテストの初期証拠金は、注文可否や証拠金不足の確認に関係します。
初期証拠金が小さいと、条件は成立していても注文できない場合があります。
setファイル
バックテストで使うsetファイルは、通常利用用と検証用を区別して管理すると確認しやすくなります。
検証用にログを多く出す、外部通知をOFFにする、確認しやすい値へ変更するなど、用途によってsetファイルを分ける場合は、どのファイルを使ったか記録してください。
| 検証条件 | 確認する内容 | 記録すること |
|---|---|---|
| 銘柄 | 対象銘柄、サフィックス | MT4上の正式な銘柄名 |
| 時間足 | 判定時間足、設置時間足 | M1 / M5 / M15 / H1など |
| 期間 | 短期確認、長期確認 | 開始日、終了日 |
| スプレッド | 固定値、テスト条件 | テスト時の設定 |
| 初期証拠金 | 注文可否への影響 | 口座通貨と金額 |
| setファイル | 設定値、検証用設定 | ファイル名と用途 |
ソースコードと権利関係を確認する
既存MT4 EAの改修では、対象EAのソースコードがあるかどうかが重要です。
mq4や必要なmqhが揃っている場合は、内部仕様を確認したうえで改修可否を判断できます。ex4しかない場合は、内部ロジックを直接変更することは基本的にできないため、既存仕様を整理して別途再構築を検討する場合があります。
また、改修対象について依頼者が改変を依頼できる権利を持っていることも確認します。第三者が販売・配布したEA、利用規約で改変が制限されているEA、権利関係を確認できないソースについては、対応できない場合があります。
EAFCでは、第三者ファイルの無断解析、デコンパイル、リバースエンジニアリング、権利侵害につながる作業は行いません。
| 状態 | 確認内容 | 基本的な扱い |
|---|---|---|
| mq4あり | ソース、依存mqh、コンパイル可否、権利関係 | 改修可否を確認できます。 |
| ex4のみ | 現在の動作、設定、画面、ログ、仕様資料 | 内部ロジックの直接改修は原則困難です。 |
| 第三者製EA | 購入元規約、改変許可、再配布条件 | 権利確認後に対応可否を判断します。 |
| MT5へ移行 | 既存仕様、残す機能、変更する機能、検証条件 | MT5向けの再設計・再実装を検討します。 |
MT4インジケーターの条件をMT5 EAへ作り直す場合
MT4インジケーターのEA化を現在どう考えるか
MT4 EAを新規作成するのではなく、MT5 EAの仕様へ移す
以前は「MT4インジケーターのサインをMT4 EAからiCustomで読み取る」という構成も考えられました。しかし、EAFCの現在の新規開発はMT5を基本としているため、新しくEA化する場合はMT5側で利用できる仕様へ整理します。
既存MT4インジケーターは、サイン条件や既存動作を確認するための「移行元」として扱います。最終的なMT5 EAでは、必要に応じてサインロジックをEA内部へ再実装するか、MQL5インジケーターとして再構築してEAから参照します。
| 現在の状態 | 基本的な対応 | 確認するもの |
|---|---|---|
| mq4ソースあり | サイン・計算仕様を確認してMT5向けに再実装 | mq4、mqh、Inputs、バッファ、表示、ログ |
| ex4のみ | 内部解析は行わず、既知の仕様・表示・挙動から再構築可否を判断 | 表示例、Inputs、マニュアル、ログ、依頼者が把握する条件 |
| サイン条件が文章化済み | MT5 EA内部ロジックとして実装を検討 | BUY / SELL条件、確定足、時間足、フィルター |
| MT5インジ版も存在 | MT5 EAから参照する構成を検討 | mq5 / ex5、バッファ、Inputs、取得値 |
| MT4表示しか分からない | 仕様を確定できるか先に確認 | リアルタイム記録、スクリーンショット、説明資料 |
表示・通知から売買実行へ責務を広げる
インジケーターのEA化とは、単に「サインが出たら注文する」機能を付けるだけではありません。
たとえば矢印サインを使う場合でも、どの矢印を、どのバーで、どのタイミングで有効とするか、BUY / SELLをどう識別するか、一度だけ注文するか、すでにポジションがある場合はどうするか、決済は何で行うかまで仕様化します。
インジケーターとEAの責務差
インジケーターとEAでは、担当する処理範囲が大きく異なります。
| 項目 | インジケーター | MT5 EA |
|---|---|---|
| 主な役割 | 計算、表示、通知、分析補助 | 判定、注文、決済、ポジション管理 |
| サイン | 矢印・ライン・値等を表示 | 機械判定できるデータとして取得 |
| 通知 | 条件成立を利用者へ通知 | 通知とは別に発注可否を判定 |
| ロット | 通常は扱わない | 入力値・計算式・口座仕様を確認 |
| ポジション | 通常は売買管理しない | 銘柄・方向・Magic Number等で管理 |
| 注文失敗 | 通常は対象外 | 結果・エラー・再試行方針を確認 |
| 再起動後 | 表示再計算が中心 | 既存ポジション・EA状態の再認識が必要 |
| ログ | 計算・初期化・通知確認 | Signal、発注前確認、注文、決済、エラーを確認 |
EA化しやすいものと確認が難しいもの
EA化しやすいのは、サイン条件が明確で、BUY / SELLを機械的に識別でき、確定タイミングやリペイント特性が把握できているインジケーターです。
一方、矢印の見た目しか分からない、過去サインが変化する、オブジェクト描画だけで内部条件が不明、ソースコードがない、利用者も判定ロジックを把握していない場合は、同等仕様を確定できないことがあります。
EA化の可否は「チャートにサインが見えるか」ではなく、MT5側で再現できる明確な判定仕様を作れるかで判断します。
最初に確認するファイル・権利・サイン仕様
mq4ソースコードの有無
最初に、対象MT4インジケーターのmq4ソースがあるか確認してください。
mq4がある場合は、計算条件、サイン条件、バッファ、Inputs、通知、オブジェクト描画、リペイントにつながる処理などを確認しやすくなります。mqhなどの依存ファイルがある場合は、それらも必要です。
ex4のみの場合
ex4はコンパイル済みファイルです。内部ロジックを直接確認・変更することはできません。
MT4環境内で表示や出力値を確認できるケースはありますが、そこから未知の内部ロジックを復元することを前提にはしません。EAFCでは、ex4のデコンパイル、無断解析、リバースエンジニアリングは行いません。
改変・移行を依頼できる権利があるか
第三者が制作・販売・配布したインジケーターの場合は、ソースがあるかだけでなく、依頼者がそのロジックをEAへ移行・再実装する権利を持っているか確認します。
販売元の利用規約で改変・派生開発・再配布等が制限されている場合や、権利関係を確認できない場合は対応できないことがあります。
| 状態 | 確認する内容 | 基本的な扱い |
|---|---|---|
| 自作mq4 | ソース・依存ファイル・仕様 | MT5再構築を検討しやすい |
| 制作依頼したmq4 | 契約・著作権・改変権限 | 権利確認後に対応可否を判断 |
| 第三者製インジ | 利用規約・改変・派生利用条件 | 権利確認が必要 |
| ex4のみ | 画面、Inputs、既知の仕様、ログ | 直接解析せず再構築可否を検討 |
| 権利不明 | 入手経緯・利用条件 | 確認できない場合は対応不可 |
サインバッファとiCustomを確認する
サインバッファとは
インジケーターでは、計算した値を描画や他プログラムからの参照に使うため、バッファを使用する場合があります。
矢印サインが表示されていても、その矢印がBUY用バッファ・SELL用バッファとして出力されているのか、チャートオブジェクトとして描画されているだけなのかによって、EA化の方法が変わります。
BUY、SELL、フィルター、状態値などが明確なバッファとして分かれている場合は、MT5側へ仕様を移す時も判定条件を整理しやすくなります。
MT4のiCustomは移行元の確認材料
MT4 EAからカスタムインジケーターを参照する場合、MQL4のiCustomを使って指定バッファの値を確認する構成があります。
MT4側でiCustom参照が成立している場合、どのInputs、バッファ番号、シフト位置、戻り値を使っているかは、MT5再構築時の重要な仕様資料になります。
MT5ではインジケーターハンドルと取得値を確認する
MT5 / MQL5では、カスタムインジケーターを利用する場合、インジケーターハンドルを取得し、必要なバッファ値を取得する構成を確認します。
そのため、MT4の「バッファ番号○番をiCustomで取得している」という情報をそのままコード移植するのではなく、MT5側で対応するインジケーター、バッファ、参照バー、データ準備状態などを整理します。
既存MT4のex4をMT5 EAから直接参照する構成ではありません。必要なサインロジックをMQL5側へ再実装するか、MQL5インジケーターとして用意します。
バッファ値の意味を固定する
EA化では、単に「バッファ1を見る」だけでなく、どの値を有効サインと判断するのかを明確にします。
- BUYサイン時に何が入るか
- SELLサイン時に何が入るか
- サインなしの場合は何が入るか
- 0、EMPTY_VALUE、価格値、フラグ値などのどれか
- 現在足と確定足で値が変化するか
- 過去値が後から更新されるか
| 確認項目 | 確認内容 | MT5 EA化への影響 |
|---|---|---|
| mq4 | 計算・サイン条件を確認できるか | MQL5再実装の基礎になる |
| サインバッファ | BUY / SELLをデータとして識別できるか | Signal仕様に利用 |
| MT4 iCustom | Inputs、バッファ、参照シフト | 現行動作の仕様確認に利用 |
| MQL5側取得 | ハンドル、対象バッファ、参照バー | MT5実装方式を決める |
| 空値 | EMPTY_VALUE / 0 / その他 | 誤サイン防止に必要 |
| データ準備 | 必要な履歴・計算が完了しているか | 初期化直後の誤判定防止に必要 |
リペイント・確定足・判定タイミングを確認する
過去サインが変わるか
リペイントとは、過去に表示されていたサインや値が、後から変化する、消える、位置が変わるように見える挙動です。
リペイントするインジケーターをEA化する場合は、「いつの値を正式なサインとみなすか」を仕様として決める必要があります。過去チャートでサインがきれいに並んでいても、リアルタイム中には表示・非表示を繰り返していた可能性があります。
確定足で判断するか
確定足で判定する場合は、形成中の現在足ではなく、確定済みバーのサインを使用します。
確定足を使うことで未確定足中の変化を避けやすくなる場合がありますが、その分、表示された瞬間よりもEAの判定タイミングは後になります。どちらを正式仕様にするかを依頼前に固定してください。
リアルタイム判定を使う場合
未確定足を利用する場合は、同じバー内でサインが複数回変化する可能性も考慮します。
- 同一バーで何度も発注しないか
- サインが消えた場合に何をするか
- BUYからSELLへ変化した場合に何をするか
- 一度注文したSignalを再利用しないか
- 通知と注文で同じSignal Identityを使うか
リアルタイム記録を残す
リペイントや未確定足挙動を確認する場合は、過去チャートだけでなく、リアルタイム中の状態を記録すると確認しやすくなります。
サインが出た時刻、対象バー時刻、バッファ値、表示状態、確定後の状態、通知時刻などを整理すると、「表示上は同じに見えるが判定タイミングが違う」といった問題を区別しやすくなります。
| 確認項目 | 確認する内容 | EA仕様として決めること |
|---|---|---|
| 過去サイン | 後から消える・移動・変更されるか | リペイントの扱い |
| 現在足 | 形成中に値が変わるか | リアルタイム判定の有無 |
| 確定足 | 確定後に値が固定されるか | 参照するバー |
| 同一バー | 複数回Signalが成立するか | 再発火・重複処理の制御 |
| リアルタイム記録 | 時刻、バー、値、表示、通知 | 検証Evidenceとして残す内容 |
MT5 EA化に必要な仕様
エントリー条件
EA化では、インジケーターのSignalと実際のEntry処理を分けて仕様化します。
BUYサインが出たら必ずBUYするのではなく、対象バー、確定条件、すでに同方向ポジションがある場合の扱い、スプレッド、時間帯、重複Signal、既存ポジションなど、発注前の条件も整理します。
決済条件
EAにはEntryだけでなく、保有後にどう処理するかというExit仕様が必要です。
- 固定TP / SL
- 反対Signalによる決済
- 時間決済
- トレーリング
- 建値移動
- 部分決済
- 手動決済のみ
- 手動決済後の再エントリー可否
ロット
ロットは、特定の推奨値を決めるのではなく、ソフトウェアの入力・計算仕様として整理します。
固定値を入力するのか、計算式を使うのか、最小ロット・最大ロット・volume stepなどの銘柄仕様へどう合わせるのかを確認します。
Magic Numberと管理対象
Magic Numberは、EAが自分の注文・ポジションを識別するために使われる情報です。
EA化では、EA自身のポジションだけを管理するのか、手動ポジションも扱うのか、別EAを除外するのか、BUY / SELLを独立して管理するのかを決めます。
MT5の口座・ポジション管理方式
MT5 EAでは、対象口座で必要となるポジション管理方式も確認します。
既存MT4側で複数注文をチケット単位に管理していたからといって、その考え方をそのままMT5へ移すとは限りません。対象環境に合わせて、銘柄、方向、Magic Number、Position / Deal / Orderの扱いを整理します。
時間足とBar Identity
サイン判定では、どの時間足のどのバーを使うかを明確にします。
チャート時間足を使うのか、固定時間足を使うのか、複数時間足を参照するのかを決めます。同一Signalの重複処理を防ぐ場合は、対象バー時刻などを利用して「どのバーのサインを処理済みか」を識別できるようにすると確認しやすくなります。
対象銘柄
特定銘柄だけで使うのか、チャートに適用した銘柄を使うのか、複数銘柄を扱うのかを整理してください。
銘柄名のサフィックス、桁数、volume step、stops levelなど、ブローカー環境によって異なる仕様を固定値として前提にしない設計が必要になる場合があります。
重複エントリー制御
同じSignalで複数回注文しないための制御もEA仕様に含めます。
- 同一バーで1回のみか
- 同方向ポジション保有中は新規禁止か
- BUY / SELL同時保有を許可するか
- 反対SignalでExitのみか、反転Entryもするか
- 注文失敗時に同一Signalを再利用するか
| EA化で決める項目 | 整理する内容 | 確認理由 |
|---|---|---|
| Signal | BUY / SELL、バッファ、参照バー | 判定条件を固定するため |
| Entry | 注文タイミング、発注前確認 | Signalと注文を分離するため |
| Exit | TP / SL、反対Signal、時間等 | 保有後の処理を定義するため |
| Lot | 入力値・計算式・銘柄仕様 | 注文数量を正規化するため |
| Identity | Magic Number、銘柄、方向 | 管理対象を識別するため |
| Timeframe | チャート足・固定足・複数足 | 判定を再現するため |
| Duplicate Guard | 同一バー・同方向・同一Signal | 連続発注を防止するため |
| Position | 既存・手動・他EAの扱い | 誤管理を防止するため |
見た目の矢印とEA判定を混同しない
矢印は人間向けの表示
チャート上の矢印は、人間が状態を確認しやすくするための表示です。
EA化では、その矢印がどの計算結果から出ているのか、BUY / SELLをどう識別できるのか、確定前に消えることがあるのかを確認します。「矢印が見えること」と「EAが安定して同じ条件を判定できること」は同じではありません。
アラートと注文条件は別
アラートが鳴るインジケーターでも、アラート処理そのものを注文条件にするとは限りません。
EA化では、アラート発生ロジックを使うのか、バッファ値を使うのか、元の条件式をMT5側で再実装するのかを決めます。
チャートオブジェクトだけのサイン
矢印やラベルがチャートオブジェクトとして描画されているだけの場合、表示物を直接売買判定の正式インターフェースとして扱うのが適切とは限りません。
ソースがある場合は、オブジェクトを表示する前の内部条件を確認し、MT5側で安定して取得できるSignalへ再設計する方が確認しやすくなります。
| 見た目の要素 | EA化で確認するもの | 注意点 |
|---|---|---|
| 矢印 | 元となる条件・バッファ | 画面表示だけでは正式Signalにしない |
| アラート | 発生条件・タイミング | 通知とEntryは別責務 |
| バッファ | 番号、値、空値、参照バー | 値の意味を固定する |
| オブジェクト | 生成元の内部条件 | UI依存判定を避けられるか確認 |
| 現在足表示 | 確定前の変化 | リペイント・重複処理に注意 |
MT5側の実装方式を決める
既存MT4インジケーターのSignalをMT5 EAへ移す場合は、Signalをどこで計算するかを先に決めると責務が明確になります。
| 実装方式 | 概要 | 向いているケース |
|---|---|---|
| EA内部へSignalロジックを実装 | 既存インジの判定条件をMQL5 EA内部へ再実装 | 表示用インジを別途必要とせず、Signal条件が明確な場合 |
| MQL5インジへ移行してEAから参照 | MT4インジをMQL5インジとして再構築し、EAがバッファを取得 | チャート表示とEA判定の両方で同じSignal計算を共有したい場合 |
| 既存MQL5インジを参照 | すでにMT5版があるインジをEAから利用 | MT5版のバッファ・仕様が明確な場合 |
どの方式でも、Signal計算、注文処理、ポジション管理、ログを一つの曖昧な処理へ混在させず、役割を分けて設計することが重要です。
ログと検証条件もEA化の仕様に含める
Signalを観測できるログ
EA化後に注文しない場合、「Signalが出ていない」のか「Signalは出たが発注前条件で止まった」のかを区別できるようにします。
対象バー、BUY / SELL Signal、参照値、発注前確認、既存ポジション、スプレッド制限、注文結果などを必要な範囲でログに残すと、原因を区別しやすくなります。
注文結果を記録する
注文を送信しただけで成功扱いにせず、注文結果、エラー、取引サーバーからの応答など、最終結果を確認できる設計にします。
注文失敗時に再試行する場合は、回数、間隔、同じSignalを再利用してよいかなども仕様として決めます。
検証条件を固定する
EA化した後に元インジケーターとのSignal一致を確認する場合は、銘柄、時間足、期間、Inputs、バー時刻などをそろえます。
バックテスト結果の利益だけを見るのではなく、指定したSignalが指定したバーで成立し、期待したEntry / Exit / Block処理になっているかを確認することが重要です。
| 検証項目 | 確認すること |
|---|---|
| Signal一致 | 元インジとMT5側判定が同じ条件・バーで成立するか |
| 確定足 | 指定したバーのみを参照しているか |
| 重複防止 | 同じSignalで複数回発注しないか |
| 発注前確認 | ポジション、スプレッド、時間等のBlockが正しいか |
| Exit | 指定条件で対象ポジションを決済するか |
| 再起動 | 既存ポジションを誤認・重複発注しないか |
| 注文失敗 | 失敗理由・ログ・再試行仕様が確認できるか |
| 外部通知 | 通知失敗が売買ロジックと混同されないか |
対応できない・そのままではEA化できないケース
すべてのMT4インジケーターを、同じ条件のMT5 EAへ必ず再構築できるわけではありません。
| ケース | 理由・対応 |
|---|---|
| ex4から内部ロジックを復元してほしい | デコンパイル・無断解析には対応しません。 |
| 第三者製品で改変権限を確認できない | 権利関係を確認できない場合は対応できません。 |
| サインの意味を誰も説明できない | MT5で再現する正式仕様を確定できない場合があります。 |
| 過去チャートだけを基準に完全再現したい | リペイントやリアルタイム挙動を確認できない場合があります。 |
| 画像上の矢印位置だけから未知のロジックを再現したい | 表示結果だけでは計算条件を特定できない場合があります。 |
| EA化すれば利益が出ることを保証してほしい | 開発はソフトウェア仕様の実装であり、投資成果は保証しません。 |
よくあるトラブルと確認順
インジケーターのEA化では、「表示されているサイン」と「EAが取得したSignal」と「実際の注文結果」を分けて確認することが重要です。
| 症状 | 主な原因候補 | 確認順 |
|---|---|---|
| サインは出るがEAが注文しない | Signal未取得、参照バー違い、発注前確認 | Signal値 → バー → 発注前確認 → 注文ログの順に確認 |
| 想定外のタイミングで注文する | 未確定足、参照位置、重複制御不足 | 確定足 → Bar Identity → 重複Guardを確認 |
| BUY / SELLが逆になる | バッファ・値の意味の取り違え | BUY / SELLバッファと空値を確認 |
| 過去は良く見えるがリアルタイムと違う | リペイント・未確定足 | リアルタイム記録と確定後を比較 |
| 同じSignalで何度も注文する | 処理済みSignalの識別不足 | 対象バー・Signal Identity・保有状態を確認 |
| 決済されない | Exit未定義、管理対象違い | Exit条件 → Magic → 銘柄 → Positionを確認 |
| MT5移行後に値が一致しない | 計算・バッファ・参照データ差 | 同一バーの入力値とSignalを比較 |
相談前に送る情報
MT4 EAファイル
相談前には、対象のMT4 EAファイルを整理してください。
mq4があるのか、ex4だけなのか、関連mqhファイルやDLL、カスタムインジケーターがあるのかを分けて確認します。複数バージョンがある場合は、現在使っている版を明確にしてください。
ソース有無
mq4ソースの有無は、MT5移行の確認範囲に大きく影響します。
mq4があれば内部仕様を確認できますが、MT5向けには再実装が必要です。ex4のみの場合は、現在の動作資料をもとに再現作成を検討します。
setファイル
現在使用しているsetファイルを保存してください。
setファイルは、MT4版EAのInputs設定を確認する資料です。MT5版で同じ項目を作るのか、項目名や構成を整理するのか、不要な項目を削るのかを判断する材料になります。
動作ログ
Expertsログ、Journalログ、バックテストログがあると、現在の動作を確認しやすくなります。
エントリー時、決済時、エラー時、認証時、外部連携時、EA起動時のログがあれば、MT5版で再現すべき状態やログ設計を検討しやすくなります。
希望するMT5仕様
MT5版で何を再現し、何を変更したいかを整理してください。
完全再現を目指すのか、エントリーだけ再現するのか、決済やナンピンも再現するのか、通知やパネルを整理するのか、外部連携を追加するのかによって、開発範囲が変わります。
| 送ると確認しやすい情報 | 理由 |
|---|---|
| mq4 / ex4 | 内部確認できるか判断するため |
| 関連ファイル | mqh、DLL、インジ、外部ファイルの依存を確認するため |
| setファイル | Inputs設定と運用条件を確認するため |
| 動作ログ | 現在の判定・注文・決済を確認するため |
| バックテスト結果 | 再現確認の参考にするため |
| 希望するMT5仕様 | 移行範囲と作り直し範囲を決めるため |
送らない方がよい情報
MT4 EAのMT5移行相談では、setファイル、ログ、スクリーンショット、外部連携設定に重要情報が含まれる場合があります。
| そのまま送らない方がよい情報 | 注意点 |
|---|---|
| 口座番号 | スクリーンショットやログへの映り込みに注意 |
| ログインパスワード | 確認に不要なため送らない |
| Webhook URL | 通知先へ接続できる情報のため注意 |
| GAS URL | 外部シート連携先に関係するため注意 |
| APIキー | 外部サービス認証に関係するため注意 |
| 認証トークン | 利用権限に関係するためマスクする |
| VPSログイン情報 | サーバー操作権限に関係するため送らない |
よくあるトラブルと確認順
MT4 EAをMT5へ移行する時は、ファイル形式、ソース有無、注文管理、ポジション管理、インジ参照、外部連携、ログ、仕様差を順番に確認します。
| 症状・状況 | 主な原因候補 | 確認順 |
|---|---|---|
| MT4 EAをMT5へ入れても表示されない | ex4 / mq4はMT5用ファイルではない | MT5用のmq5 / ex5が必要か確認 |
| 変換したが注文が合わない | Order / Position / Deal管理の違い | 注文・決済・履歴処理を確認 |
| 複数ポジション管理が合わない | 口座方式、MagicNumber、管理対象の違い | ヘッジ口座、MagicNumber、Position管理を確認 |
| インジ参照ができない | MT4用インジを参照している | MT5版インジ、バッファ、iCustomを確認 |
| 通知や外部連携が動かない | WebRequest設定、URL、認証、ログ不足 | MT5側の設定とExpertsログを確認 |
よくある質問
MT4 EAはそのままMT5で使えますか?
基本的にはそのまま使えません。MT4用のex4やmq4は、MT5用のex5やmq5とは別物です。MQL4とMQL5では構造や注文管理が異なるため、移行または作り直しが必要です。
ex4ファイルだけでMT5版を作れますか?
ex4だけでは内部仕様を直接確認できないため、完全再現は難しい場合があります。現在のsetファイル、動作ログ、スクリーンショット、バックテスト結果、仕様メモが重要になります。
MT4 EAをMT5へ自動変換できますか?
一部の記述を変換できる場合もありますが、注文管理、ポジション管理、インジ参照、外部連携、ログ、口座方式の違いにより、手作業での確認・再設計が必要になることが多いです。
MT5版作成依頼には何が必要ですか?
ソースコード、setファイル、動作ログ、仕様、対象銘柄、時間足、使用中インジケーター、再現したい機能、変更したい機能を整理してください。
MT5へ移行すれば成績は同じになりますか?
いいえ。環境、約定、スプレッド、データ、口座方式、注文管理、仕様差により同じ結果になるとは限りません。この記事では技術的な移行確認を扱います。
MT4版のsetファイルはMT5版でそのまま使えますか?
そのまま使えるとは限りません。setファイルはMT4版の設定確認資料として扱い、MT5版では項目名、初期値、単位、仕様を再整理する必要があります。
ナンピンEAや複数ロジックEAもMT5化できますか?
技術的に検討できる場合がありますが、ポジション管理、MagicNumber、口座方式、ロット計算、決済条件、ログ確認を慎重に整理する必要があります。
相談前に整理しておきたい情報
- 対象MT4 EA名、ファイル名、バージョン
- mq4 / ex4の有無
- 関連するmqh、DLL、カスタムインジケーター、外部ファイル
- 現在のsetファイル、Inputs設定、スクリーンショット
- エントリー条件、決済条件、ナンピン、トレーリング、ロット計算
- MagicNumber、対象銘柄、時間足、口座方式
- Expertsログ、Journalログ、バックテストログ、発生時刻
- 通知、WebRequest、Google Sheets、認証など外部連携の有無
- MT5版で再現したい機能、削除したい機能、追加したい機能
追加・移行する機能についてよくある質問
新しいMT4 EAの作成を依頼できますか?
EAFCの新規EA開発はMT5を基本としているため、新規MT4 EAの開発は受け付けていません。新しくEAを作成する場合は、MT5向けの仕様として整理します。
既存EAの一部改修もできますか?
対象ソース、現在の仕様、ログ、変更したい内容を確認したうえで判断します。既存MT4 EAは、小規模な修正や不具合対応であればMT4のまま対応できる場合があります。大規模な追加開発や長期的な拡張では、MT5への移行・再構築も検討します。
MT4インジケーターをEA化できますか?
検討できます。ただし、EAFCの新規EA開発はMT5を基本としているため、既存MT4インジケーターの条件を確認し、MT5 EAとして再構築する方法を基本にします。ソース、権利、サイン条件、リペイントなどを確認して対応可否を判断します。
ex4だけでもEA化できますか?
ex4の内部ロジックを取り出してEA化する対応は行いません。依頼者が把握している仕様、表示、Inputs、マニュアル、ログなどからMT5 EAとして再構築できるだけの仕様を確定できる場合は、別途検討できます。
MT4のiCustomで値を取れれば、そのままMT5 EAでも使えますか?
そのまま使うわけではありません。MT4側のiCustom参照情報は元仕様の確認材料になりますが、新規EAはMT5側で利用できるSignalロジックまたはMQL5インジケーターへ整理します。
EA化後もインジケーターをチャートへ入れる必要がありますか?
実装方式によります。SignalロジックをEA内部へ実装する場合は、表示用インジケーターをEA判定のために別途必要としない構成も可能です。MQL5インジケーターをEAから参照する設計では、そのインジケーターが必要になります。
関連ページ
相談内容に関係する設定や検証方法は、次のページで確認できます。
| 確認する内容 | 関連ページ |
|---|---|
| MT5 EA作成代行を依頼する前に決めておくべき仕様項目 | MT5 EA作成代行を依頼する前に決めておくべき仕様項目 |
| サインインジケータ作成を依頼する前に整理すること | サインインジケータ作成を依頼する前に整理すること |
| MT5バックテストのやり方 | MT5バックテストのやり方|EA検証前に確認する設定・スプレッド・結果の見方 |
| MT4 EA完全ガイド | MT4 EA完全ガイド|入れ方・自動売買設定・動かない時の確認ポイント |
| MT4インジケーター完全ガイド | MT4インジケーター完全ガイド|入れ方・表示されない時・アラート通知 |
| EA・インジケーター開発を依頼する前に | EA・インジケーター開発を依頼する前に|MT5新規開発・既存改修・外部連携の選び方 |
| MQL5開発入門 | MQL5開発入門|MetaEditor・EA・インジケーター・イベント関数・コンパイルエラーの基本 |
| MQL5注文・ポジション・履歴管理完全ガイド | MQL5注文・ポジション・履歴管理完全ガイド|OrderSend・Position・Deal・Historyの基本 |
| MT4からMT5への技術移行完全ガイド | MT4からMT5への技術移行完全ガイド|MQL4資産・EA・インジケーター作り直しの考え方 |
相談先・利用条件を確認する
| 確認したい内容 | 案内ページ |
|---|---|
| 不具合報告の方法 | 不具合報告の方法 |
| 免責事項・リスク説明 | 免責事項・リスク説明 |
| MT5 開発依頼・作成代行|EA・インジケーター新規開発・MT4/MT5既存改修 | MT5 開発依頼・作成代行|EA・インジケーター新規開発・MT4/MT5既存改修 |
| 見積依頼前の確認事項 | 見積依頼前の確認事項 |
| MT4 / MT5 開発依頼|EA・インジ・通知ツールの仕様整理相談 | MT4 / MT5 開発依頼|EA・インジ・通知ツールの仕様整理相談 |
あわせて確認したいページ
今回の確認内容に関連する補足ページです。必要な項目だけ確認してください。
| 確認目的 | 関連ページ |
|---|---|
| 「MT4 EA MT5 移行 依頼」の読後に「既存EA・インジケータ改修を依頼する前に整理すること」を補足確認 | 既存EA・インジケータ改修を依頼する前に整理すること |
| 「MT4 EA MT5 移行 依頼」の読後に「ex5ファイルしかないEAは改修できる」を補足確認 | ex5ファイルしかないEAは改修できる |
まとめ
MT4 EAのMT5移行は構造差を前提に仕様を再整理する
MT4 EAをMT5へ移行する場合、ファイルをコピーするだけではなく、MQL4/MQL5の構造差、注文管理、ポジション管理、インジ参照、外部連携、ログ設計を前提に確認する必要があります。
mq4ソースがある場合でも、MQL5向けの再実装が必要です。ex4のみの場合は、現在の動作資料をもとにMT5版を再現作成する形になる場合があります。
移行前に現在の仕様と希望するMT5仕様を分ける
MT5版を作る前に、現在のMT4版が何をしているのか、MT5版で何を再現したいのか、何を整理・変更したいのかを分けてください。
エントリー、決済、ナンピン、トレーリング、ロット、MagicNumber、通知、外部連携、ログ、パネル表示を仕様として整理しておくと、開発依頼や検証が進めやすくなります。
お問い合わせはEAFC公式LINEへ
EAFCサイト内の記事、商品、導入前確認、設定確認、ログ確認、開発依頼前のご相談など、各種お問い合わせはEAFC公式LINEより受け付けています。
※投資助言、売買指示、利益保証、推奨ロット、推奨銘柄の案内は行っておりません。
口座番号、認証情報、Webhook URL、GAS URL、APIキーなどの機密情報は送信しないでください。
