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へ移行するとは
単純コピーでは動かない理由
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ファイルを整理してください。
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のMT5移行は構造差を前提に仕様を再整理する
MT4 EAをMT5へ移行する場合、ファイルをコピーするだけではなく、MQL4/MQL5の構造差、注文管理、ポジション管理、インジ参照、外部連携、ログ設計を前提に確認する必要があります。
mq4ソースがある場合でも、MQL5向けの再実装が必要です。ex4のみの場合は、現在の動作資料をもとにMT5版を再現作成する形になる場合があります。
移行前に現在の仕様と希望するMT5仕様を分ける
MT5版を作る前に、現在のMT4版が何をしているのか、MT5版で何を再現したいのか、何を整理・変更したいのかを分けてください。
エントリー、決済、ナンピン、トレーリング、ロット、MagicNumber、通知、外部連携、ログ、パネル表示を仕様として整理しておくと、開発依頼や検証が進めやすくなります。
相談前に整理しておきたい情報
- 対象MT4 EA名、ファイル名、バージョン
- mq4 / ex4の有無
- 関連するmqh、DLL、カスタムインジケーター、外部ファイル
- 現在のsetファイル、Inputs設定、スクリーンショット
- エントリー条件、決済条件、ナンピン、トレーリング、ロット計算
- MagicNumber、対象銘柄、時間足、口座方式
- Expertsログ、Journalログ、バックテストログ、発生時刻
- 通知、WebRequest、Google Sheets、認証など外部連携の有無
- MT5版で再現したい機能、削除したい機能、追加したい機能
関連ページ
- MQL4とMQL5の違い|MT4/MT5開発依頼前に確認すること
- MQL5とは?MT5のEA・インジケーター開発でできることを初心者向けに解説
- MT4とMT5の違いとは?EA・インジケーター開発前に確認すること
- MT4インジケーターをMT5へ移行・作り直す前に確認すること
- MT4 EAの作り方を依頼前に整理する方法
- EA作成・改修相談
- 既存EA・インジケーター改修相談
- 不具合報告・調査依頼について
- 免責事項
MT4 EAをMT5へ移行したい、ex4しかなく再現可否を確認したい、MQL4からMQL5へ作り直したい場合は、EAファイル、mq4/ex4の有無、setファイル、動作ログ、仕様メモ、MT5版で再現したい機能を整理したうえでご相談ください。

