MT4からMT5へ移行する前に確認すること|EA・インジケーター・MQL資産の整理
MT4からMT5へ移行する前に重要なのは、EA、インジケーター、setファイル、ソースコード、運用環境、ログ、外部連携などを分けて整理することです。
MT4で使っていたEAやインジケーターは、MT5へファイルをコピーするだけではそのまま使えない場合があります。MT4とMT5では、ファイル形式、MQL4/MQL5の構造、注文管理、ポジション管理、インジケーターバッファ、バックテスト環境、外部連携の扱いが異なります。
そのため、MT4からMT5へ移行する時は、単純な変換ではなく、現在使っているMQL資産を棚卸しし、MT5で再現したい機能、不要な機能、作り直したい機能、相談前に用意する資料を整理しておくことが大切です。
この記事では、MT4からMT5へ移行する前に確認したい、EA・インジケーター・MQL4ソース・EX4のみの場合・setファイル・ログ・外部連携・作り直し範囲・開発相談前の整理項目をまとめます。
なお、この記事はMT4/MT5、MQL4/MQL5、EA、インジケーター、補助ツールの移行、設定、確認、検証、不具合調査、開発依頼前整理を目的とした技術記事です。投資助言、売買指示、利益保証、勝率保証、損失回避保証、推奨ロット、推奨銘柄、推奨エントリー、特定ブローカー誘導を目的としたものではありません。
この記事で確認すること
- MT4からMT5へ移行する時の前提
- 移行前に棚卸しするMQL資産
- mq4ソースがある場合とex4のみの場合の違い
- EA移行で注意する注文管理・ポジション管理
- インジケーター移行で注意するバッファ・描画・通知
- 移行ではなく作り直しが向くケース
- MT5版で再現したい機能の整理方法
- 開発相談前に送る情報と送らない方がよい情報
MT4からMT5へ移行する時の前提
単純変換できるとは限らない
MT4で使っていたEAやインジケーターは、MT5へそのまま入れても動かない場合が多くあります。
MT4用の実行ファイルは主に ex4、ソースコードは mq4 です。一方、MT5用の実行ファイルは ex5、ソースコードは mq5 です。ファイル形式が異なるため、MT4用ファイルをMT5のフォルダへコピーするだけでは、通常そのまま使えません。
また、MQL4とMQL5では、注文処理、ポジション管理、インジケーター参照、履歴管理、イベント処理などに違いがあります。見た目が似ているEAやインジケーターでも、内部の作り直しが必要になる場合があります。
EAとインジケーターでは移行の難易度が違う
EAとインジケーターでは、移行時に確認する内容が異なります。
インジケーターは、主にチャート上の表示、バッファ、アラート、通知、描画オブジェクトを確認します。一方、EAは、表示だけでなく、注文、決済、ロット、MagicNumber、最大ポジション、トレーリング、ナンピン、外部連携、認証、ログまで確認する必要があります。
そのため、同じMT4からMT5への移行でも、EAの方が確認範囲が広くなることがあります。
ソース有無で対応範囲が変わる
移行前に必ず確認したいのが、ソースコードの有無です。
mq4 がある場合は、エントリー条件、決済条件、インジケーター参照、注文処理、ログ出力、外部連携などを確認しながら、MT5向けに再実装しやすくなります。
ex4 のみの場合は、内部ロジックを直接確認できないため、現在の動作、setファイル、スクリーンショット、ログ、バックテスト結果、マニュアルをもとに、MT5版として再設計する形になる場合があります。
| 確認項目 | MT4側 | MT5移行時の考え方 |
|---|---|---|
| EA本体 | ex4 / mq4 | MT5用にex5 / mq5として作り直す可能性がある |
| インジケーター | ex4 / mq4 | バッファ、描画、通知条件を確認してMT5化する |
| setファイル | MT4用Inputs設定 | MT5版の仕様整理資料として使う |
| 注文管理 | Order系中心 | Position / Order / Dealの考え方で再整理する |
| 外部連携 | MT4側設定に依存 | MT5側でWebRequestや通知設定を再確認する |
移行前に棚卸しするMQL資産
EAファイル
まず、現在使っているEAファイルを整理してください。
ファイル名、バージョン、拡張子、設置しているチャート、対象銘柄、時間足、使用中のsetファイルを確認します。
似た名前のEAが複数ある場合や、古いバージョンと新しいバージョンが混在している場合は、どれをMT5へ移行したいのかを明確にしてください。
インジケーターファイル
EAがカスタムインジケーターを参照している場合や、インジケーター単体をMT5へ移行したい場合は、対象インジケーターも整理します。
矢印サイン、ライン表示、サブウィンドウ表示、アラート通知、Discord通知、CSV保存など、現在の機能を確認してください。
EAがインジケーターを iCustom で参照している場合は、EA本体だけでなく、参照先インジケーターもMT5版へ作り直す必要がある場合があります。
setファイル
setファイルは、EAやインジケーターのInputs設定を保存したファイルです。
MT4版のsetファイルを、そのままMT5版へ読み込めるとは限りません。ただし、現在の設定値を確認する資料として非常に重要です。
ロット、MagicNumber、稼働時間、通知設定、ログ設定、外部連携設定、フィルター設定、決済設定などを整理するために、現在使用中のsetファイルを保存してください。
ソースコード
mq4ソースコードがあるかどうかを確認してください。
EAやインジケーターの内部仕様を確認するには、ソースコードが重要です。mq4があれば、エントリー条件、決済条件、バッファ、通知条件、外部連携、ログ出力を確認しやすくなります。
ex4のみの場合は、内部処理を直接確認できないため、現在の動作資料をもとに再設計する必要があります。
マニュアル・仕様メモ
マニュアル、販売ページ、過去の仕様メモ、設定説明、変更履歴があれば整理してください。
ソースコードがない場合でも、マニュアルや仕様メモがあれば、MT5版で再現したい機能を整理しやすくなります。
スクリーンショット
現在のチャート画面、Inputs画面、通知画面、ログ画面、バックテスト設定画面を保存してください。
スクリーンショットは、setファイルやログだけでは分からない表示状態や設置環境を確認するために役立ちます。
| 棚卸しする資産 | 確認する内容 | MT5移行での使い方 |
|---|---|---|
| EAファイル | ファイル名、バージョン、拡張子 | 移行対象を特定する |
| インジケーター | 表示、バッファ、通知、参照関係 | MT5版で再現する範囲を決める |
| setファイル | Inputs設定、MagicNumber、通知、ログ | MT5版の入力項目設計に使う |
| mq4ソース | 内部ロジック、注文処理、描画処理 | 再実装の参考にする |
| マニュアル | 仕様、使い方、制限事項 | 再現したい機能を整理する |
| ログ・画像 | 現在の動作、エラー、表示状態 | 再現確認と相談資料に使う |
ソースがある場合・ない場合の確認
mq4がある場合
mq4ソースがある場合は、MT5版を作るための確認範囲が広がります。
エントリー条件、決済条件、インジケーター参照、注文処理、ポジション管理、ログ出力、外部連携、通知条件を確認できます。
ただし、mq4があるからといって、そのままmq5へ貼り替えれば動くわけではありません。MQL5の構造に合わせて、注文管理、Position管理、インジケーターハンドル、履歴参照、イベント処理を再設計する必要があります。
ex4のみの場合
ex4のみの場合、内部ロジックを直接確認することは基本的に難しくなります。
この場合は、現在のチャート表示、動作ログ、バックテスト結果、setファイル、マニュアル、スクリーンショット、操作手順をもとに、MT5版として再現したい動作を仕様化します。
完全に同じ内部ロジックを再現できるとは限らないため、どこまで再現したいのか、どこからはMT5向けに整理してよいのかを分けてください。
仕様書がある場合
過去に作成した仕様書や開発メモがある場合は、移行時の重要資料になります。
仕様書には、エントリー条件、決済条件、通知条件、外部連携、ログ、対応銘柄、時間足、Inputsの意味が書かれている場合があります。
ただし、仕様書と現在のEAの実装が一致しているとは限りません。現行ファイル、setファイル、ログ、スクリーンショットと照合してください。
動作だけを見て再設計する場合
ソースコードや仕様書がない場合は、現在の動作を見て再設計する形になります。
この場合は、サインが出る条件、注文するタイミング、決済する条件、通知が出る条件、ログに出る内容を、実際の画面とログから整理します。
動作だけを見て作り直す場合、細かい内部条件や例外処理まで完全に把握できないことがあります。そのため、MT5版では確認可能な仕様として再定義することが重要です。
| 資料の状態 | 確認できること | 注意点 |
|---|---|---|
| mq4ソースあり | 内部条件、注文処理、通知、ログ | MQL5向け再実装は必要 |
| ex4のみ | 外部から見える動作、set、ログ | 内部ロジックの完全確認は難しい |
| 仕様書あり | 設計意図や条件を確認しやすい | 現行実装と一致しているか要確認 |
| 動作資料のみ | 現在の表示や操作結果 | MT5版では再設計前提になる場合がある |
EA移行で注意すること
注文管理の違い
MT4 EAをMT5へ移行する時に特に注意したいのが、注文管理の違いです。
MT4では、Order系の処理を中心に注文やポジションを扱う設計が多くあります。一方、MT5では、Position、Order、Dealを分けて考える必要があります。
MT4版で「注文」として扱っていたものが、MT5版では発注、約定、保有ポジション、履歴として分かれる場合があります。ここを整理しないまま移行すると、注文は出るが決済管理が合わない、履歴集計が合わない、MagicNumberの扱いがずれるといった問題につながります。
ポジション管理の違い
MT5では、口座方式によってポジション管理の考え方が変わる場合があります。
ヘッジ口座では、同じ銘柄で複数ポジションを持てる構成が一般的です。一方、ネッティング口座では、銘柄ごとにポジションが統合される場合があります。
MT4と同じように複数ポジション、ナンピン、両建て、複数MagicNumberを扱いたい場合は、MT5側の口座方式とEA設計を確認してください。
履歴・決済処理
MT5版では、履歴や決済処理の確認も重要です。
MT4版で注文履歴から損益を集計していた場合、MT5版ではDeal履歴やPosition履歴をどのように参照するかを整理する必要があります。
決済条件には、固定TP/SL、反対サイン決済、トレーリング、建値移動、時間決済、バスケット決済などがあります。MT5版でどこまで再現するかを明確にしてください。
MagicNumber
MagicNumberは、EAが自分の注文やポジションを識別するための番号です。
MT4版で使っていたMagicNumberを、MT5版でどのように扱うか確認してください。
複数ロジックを持つEAでは、ロジックごとにMagicNumberを分けるのか、通貨ペアごとに分けるのか、手動注文を管理対象に含めるのかを整理する必要があります。
バックテスト差分
MT4版とMT5版では、バックテスト環境や取得できるデータが異なります。
同じ条件に見えても、約定、スプレッド、ティックデータ、注文処理、インジケーター計算、口座仕様の違いにより、結果が一致しない場合があります。
MT5化後は、MT4版と完全一致するかどうかだけでなく、MT5版として仕様通りに動いているかを確認することが重要です。
| EA移行の確認項目 | 確認する内容 | 注意点 |
|---|---|---|
| 注文管理 | Order / Position / Dealの扱い | MT4のOrder系と同じではない |
| ポジション管理 | ヘッジ口座、ネッティング口座、複数ポジション | ナンピンや両建てに影響する |
| 決済処理 | TP/SL、トレール、反対サイン、時間決済 | 優先順位を整理する |
| MagicNumber | ロジック別、銘柄別、手動注文との区別 | 管理対象の取り違えを避ける |
| バックテスト | データ、スプレッド、約定、履歴集計 | MT4版と結果が完全一致しない場合がある |
インジケーター移行で注意すること
バッファ
インジケーター移行では、バッファの扱いを確認します。
MT4版で矢印やラインが表示されている場合、それがバッファで管理されているのか、チャートオブジェクトで描画されているのかを確認してください。
EAからiCustomで参照している場合は、BUYサイン、SELLサイン、フィルター値、サインなし時の値、参照する足番号を整理する必要があります。
描画オブジェクト
ライン、ラベル、ボタン、パネル、矢印などをチャートオブジェクトで表示している場合、MT5版で再現するかを確認します。
MT4版とMT5版では、オブジェクト操作やチャート描画の挙動が異なる場合があります。
表示が必要なもの、不要なもの、MT5化のタイミングで整理したいものを分けてください。
アラート
インジケーターにアラートがある場合は、通知条件と通知方法を確認します。
ポップアップ、メール、プッシュ通知、Discord通知、Webhook通知など、どの通知をMT5版でも使いたいかを整理してください。
通知が多すぎる場合は、同一足で1回だけ通知するか、確定足で通知するか、通知間隔を設けるかを仕様として決めます。
リペイント
サインインジケーターをMT5へ移行する場合は、リペイントの有無を確認してください。
過去に表示されていたサインが後から消える、移動する、色が変わる場合、EA化や通知化では判定タイミングを慎重に決める必要があります。
MT5版では、未確定足で判断するのか、確定足で判断するのかを仕様として明確にしてください。
時間足対応
インジケーターがどの時間足に対応しているかを確認します。
チャート時間足をそのまま使うのか、内部で固定時間足を参照するのか、複数時間足を使うのかによって、実装内容が変わります。
MT5版で使いたい銘柄、時間足、表示位置、通知条件を整理してください。
| インジ移行項目 | 確認する内容 | MT5版で決めること |
|---|---|---|
| バッファ | BUY/SELL、サインなし、参照足 | EA参照や通知条件に使うか |
| 描画 | 矢印、ライン、ラベル、パネル | 再現する表示と削る表示を分ける |
| アラート | 通知方法、文面、頻度 | 通知条件と重複防止を決める |
| リペイント | 過去サインが変わるか | 確定足かリアルタイムかを決める |
| 時間足 | 対応時間足、固定時間足、複数時間足 | MT5版の対象範囲を決める |
移行ではなく作り直しが向くケース
古い仕様が多い
古いEAやインジケーターでは、現在使っていない機能、分かりにくいInputs、古い通知方式、不要なログ、重い描画処理が残っている場合があります。
MT5化のタイミングで、古い仕様をそのまま残すよりも、必要な機能だけに整理した方が保守しやすくなることがあります。
不明点が多い
ソースコードがない、仕様書がない、現在の動作も明確でない場合は、移行ではなく作り直しに近い形で考える方が現実的です。
不明点が多い状態で「MT4版と同じように」と依頼すると、何をもって同じと判断するのかが曖昧になります。
この場合は、MT5版で実現したい動作を改めて仕様化してください。
外部連携を追加したい
MT5化と同時に、Discord通知、Google Sheets連携、WebRequest、外部認証、外部シート参照などを追加したい場合は、単純移行ではなく再設計が必要です。
外部連携では、endpoint、Webhook URL、GAS URL、認証トークン、送信ログ、失敗時の扱いを設計する必要があります。
外部連携情報の実値は、問い合わせ文面やスクリーンショットにそのまま載せないよう注意してください。
MT5向けに構造を整理したい
MT5化のタイミングで、Inputs、ログ、通知、パネル表示、注文処理、決済処理を整理したい場合は、作り直しが向いていることがあります。
たとえば、エントリー判定、注文処理、リスク管理、決済、通知、外部連携、認証、ログ出力を責務ごとに分けると、後から検証しやすくなります。
MT5版では、現在のMT4版の見た目をそのまま再現するだけでなく、保守しやすい構造へ整理することも検討対象になります。
| 作り直しが向くケース | 理由 | 整理すること |
|---|---|---|
| 古い仕様が多い | 不要機能や古い処理が残りやすい | 残す機能と削る機能を分ける |
| ソースや仕様がない | 内部ロジックを確認できない | 現在の動作から再仕様化する |
| 外部連携を追加したい | 通知・Sheets・認証などの設計が必要 | 送信内容、失敗時処理、ログを決める |
| MT5向けに整理したい | 注文・ポジション管理の構造が違う | 責務分離とログ設計を行う |
MT5で再現したい機能を整理する
残したい機能
MT5版でも残したい機能を一覧化してください。
エントリー条件、決済条件、通知、パネル表示、ログ、CSV保存、Google Sheets連携、トレーリング、ナンピン、MagicNumber管理などを分けて整理します。
不要な機能
MT4版にある機能でも、現在使っていないものはMT5版で削る候補になります。
不要なInputs、古い通知方式、使っていないフィルター、見ていない画面表示、過剰なログなどは、移行時に整理するとMT5版が扱いやすくなります。
追加したい機能
MT5版で新しく追加したい機能も整理してください。
Discord通知、WebRequest確認、Google Sheets連携、ログ整理、入力欄の日本語化、VPS運用向けログ、エラー理由表示、外部シート参照などが候補になります。
追加機能は、既存機能との影響範囲を確認する必要があります。
検証したい条件
MT5版を作成した後に、何を確認すれば完了とするかを先に決めてください。
コンパイルエラーなし、EA起動ログ、set読込、サイン表示、注文ブロック理由、注文成功・失敗、通知送信、決済処理、外部連携、バックテスト、VPS放置確認などを整理します。
| 整理項目 | 例 | 確認理由 |
|---|---|---|
| 残したい機能 | 注文、決済、通知、表示、ログ | MT5版の必須機能を決める |
| 不要な機能 | 未使用Inputs、古い表示、過剰ログ | 構造を軽くする |
| 追加したい機能 | Discord通知、Sheets、診断ログ | MT5化の目的を明確にする |
| 検証条件 | 起動、注文、決済、通知、BT、VPS | 完成確認の基準にする |
相談前に送る情報
ファイル一式
相談前には、対象ファイル一式を整理してください。
EA本体、インジケーター、mq4ソース、ex4実行ファイル、関連mqh、DLL、setファイル、マニュアル、テンプレート、過去の設定メモがある場合は分けて確認します。
ただし、ログインパスワード、認証トークン、Webhook URL、APIキー、GAS URLなどの実値は送らないでください。
希望する動作
MT5版で希望する動作を文章で整理してください。
「MT4版と同じ」だけではなく、どの機能を再現したいのか、どの機能は不要なのか、どの機能を追加したいのかを分けてください。
EAの場合は、エントリー、決済、ロット、MagicNumber、最大ポジション、通知、外部連携、ログを分けます。インジケーターの場合は、表示、バッファ、通知、リペイント、時間足を分けます。
現在の画面
現在のMT4画面をスクリーンショットで保存してください。
チャート、サイン表示、パネル、Inputs、バックテスト設定、ログ画面、通知画面などがあると、現在の状態を把握しやすくなります。
ログ
ExpertsログとJournalログを整理してください。
EA起動時、注文時、決済時、通知時、外部連携失敗時、バックテスト時のログがあると、MT5版で再現すべき挙動を確認しやすくなります。
変更したい点
MT5化に合わせて変更したい点を整理してください。
通知を追加したい、Inputsを整理したい、ログを分かりやすくしたい、複数MagicNumberへ対応したい、外部連携を追加したい、VPS向けに確認しやすくしたいなど、変更内容を機能単位で書いてください。
| 相談前に送る情報 | 理由 | 注意点 |
|---|---|---|
| 対象ファイル | 移行対象を特定するため | mq4 / ex4 / setを分ける |
| 希望する動作 | MT5版の仕様を決めるため | 残す・削る・追加を分ける |
| 現在の画面 | 表示や設置状態を確認するため | 口座番号などはマスクする |
| ログ | 現在の動作やエラーを確認するため | 発生時刻前後を残す |
| 変更したい点 | 作り直し範囲を決めるため | 機能単位で整理する |
送らない方がよい情報
MT4からMT5への移行相談では、setファイル、ログ、スクリーンショット、外部連携設定に重要情報が含まれる場合があります。
| そのまま送らない方がよい情報 | 含まれやすい場所 | 対応 |
|---|---|---|
| 口座番号 | ログ、スクリーンショット、通知文面 | 必要に応じてマスクする |
| ログインパスワード | メモ、スクリーンショット | 送らない |
| Webhook URL | setファイル、Inputs、ログ、画像 | 伏字にする |
| GAS URL | Google Sheets連携設定 | 実値を送らない |
| APIキー | 外部連携設定、ログ | 削除または伏字にする |
| 認証トークン | 認証設定、外部連携ログ | 公開しない |
| VPSログイン情報 | メモ、画像、接続情報 | 送らない |
よくある質問
MT4のEAはそのままMT5で使えますか?
基本的にはそのまま使えません。MT4用のex4やmq4は、MT5用のex5やmq5とは別物です。MQL4とMQL5では、注文管理、ポジション管理、履歴参照、イベント処理などが異なるため、移行または作り直しが必要になる場合があります。
EX4しかない場合でもMT5化できますか?
相談は可能な場合がありますが、ex4だけでは内部ロジックを直接確認できません。そのため、現在の動作、setファイル、スクリーンショット、ログ、マニュアルをもとに、MT5版として再現したい機能を整理する必要があります。
インジケーター移行とEA移行では難しさが違いますか?
違います。インジケーターは表示、バッファ、通知、描画が中心です。EAは、注文、決済、ロット、MagicNumber、ポジション管理、外部連携、ログまで扱うため、確認範囲が広くなります。
移行ではなく作り直しになるのはどんな場合ですか?
ソースコードがない、仕様が不明、古い機能が多い、外部連携を追加したい、MT5向けにInputsやログを整理したい場合は、単純移行ではなく作り直しに近い形になることがあります。
相談前に何を送ればよいですか?
対象EAやインジケーターのファイル、mq4/ex4の有無、setファイル、現在の画面、Expertsログ、Journalログ、希望する動作、残したい機能、削りたい機能、追加したい機能を整理してください。
MT4版のsetファイルはMT5版でそのまま使えますか?
そのまま使えるとは限りません。ただし、MT4版のsetファイルは、現在のInputs設定を確認する資料として重要です。MT5版では、項目名、単位、初期値、内部仕様を再整理する必要があります。
MT5へ移行すればバックテスト結果は同じになりますか?
同じになるとは限りません。データ、スプレッド、約定、注文処理、履歴管理、口座方式、インジケーター計算の違いにより、MT4版とMT5版で結果が変わる場合があります。移行後は、MT5版として仕様通りに動いているかを検証する必要があります。
まとめ
MT4からMT5への移行はMQL資産の棚卸しから始める
MT4からMT5へ移行する時は、EA、インジケーター、setファイル、mq4ソース、ex4実行ファイル、マニュアル、ログ、スクリーンショットを整理することから始めてください。
MT4用のファイルをMT5へコピーするだけでは動かない場合が多く、MQL4とMQL5の構造差、注文管理、ポジション管理、インジケーターバッファ、外部連携、ログ設計を確認する必要があります。
移行する機能・作り直す機能・削る機能を分ける
MT5版を作る前に、MT4版の機能をすべてそのまま残すのか、必要な機能だけを残すのか、新しい機能を追加するのかを分けてください。
ソースコードがある場合でも、MT5向けには再実装が必要になることがあります。ex4のみの場合は、現在の動作資料をもとに再設計する形になる場合があります。
相談前に整理しておきたい情報
- 対象EA名、インジケーター名、ファイル名、バージョン
- mq4 / ex4 / mq5 / ex5 の有無
- 関連するmqh、DLL、カスタムインジケーター、外部ファイル
- 現在使用中のsetファイル、Inputs設定、スクリーンショット
- エントリー条件、決済条件、通知条件、表示条件
- MagicNumber、対象銘柄、時間足、口座方式
- Expertsログ、Journalログ、バックテストログ、発生時刻
- MT5版で残したい機能、削りたい機能、追加したい機能
- 外部連携、通知、Google Sheets、WebRequest、認証の有無
- 口座番号や認証情報をマスクした資料
関連ページ
- MT4とMT5の違いとは?EA・インジケーター開発前に確認すること
- MQL4とMQL5の違い|MT4/MT5開発依頼前に確認すること
- MT4 EAをMT5へ移行・作り直す前に確認すること
- MT4インジケーターをMT5へ移行・作り直す前に確認すること
- 開発・改修相談
- EA作成・改修相談
- インジケーター作成・改修相談
- 既存EA・インジケーター改修相談
- 不具合報告・調査依頼について
- ご購入前の確認事項
- 免責事項
MT4のEA・インジケーター・MQL4資産をMT5へ移行したい、ex4しかない状態で再現可否を確認したい、MT5向けに作り直したい場合は、対象ファイル、setファイル、Expertsログ、Journalログ、現在の画面、希望する動作を整理したうえでご相談ください。
