開発依頼ガイド

MQL4とMQL5の違い|MT4/MT5開発依頼前に確認すること

EAファンクラブ

MQL4とMQL5は、どちらもMetaTrader系のEA・インジケーター開発に使われる言語ですが、対象環境、ファイル形式、注文処理、ポジション管理、インジケーター構造などに違いがあります。

MQL4は主にMT4向け、MQL5は主にMT5向けです。名前が似ているため、MQL4のEAやインジケーターをMQL5へ簡単に変換できると思われることがありますが、実際には単純変換では済まない場合があります。

この記事では、MQL4とMQL5の違いを、MT4/MT5開発依頼、既存EA・インジケーター改修、MT4からMT5への移行相談の前に確認する項目として整理します。

なお、この記事はEA・インジケーターの開発、改修、移行、動作確認、不具合調査を目的とした技術記事です。投資助言、売買指示、利益保証、勝率保証、損失回避保証を目的としたものではありません。

この記事で確認すること

  • MQL4とMQL5の基本的な違い
  • mq4/ex4、mq5/ex5などのファイル形式
  • EA開発での発注・決済・ポジション管理の違い
  • インジケーター開発での表示・バッファ・通知の違い
  • 変換・移植・作り直しの判断
  • 移行相談前に整理する資料
  • 相談時に送る情報と送らない方がよい情報

MQL4とMQL5は何が違うのか

MT4向けとMT5向けの違い

MQL4は、主にMT4向けのEA、インジケーター、スクリプトを作るための開発言語です。

MQL5は、主にMT5向けのEA、インジケーター、スクリプトを作るための開発言語です。

どちらもMetaTrader系の言語ですが、対象となるプラットフォームが異なるため、ファイル形式やプログラム構造、注文処理、ポジション管理の考え方が異なります。

項目MQL4MQL5
主な対象MT4MT5
ソースファイルmq4mq5
実行ファイルex4ex5
主な用途MT4用EA・インジ・スクリプトMT5用EA・インジ・スクリプト
移行時の注意MT5ではそのまま使えない場合があるMT4とは別設計になる場合がある

同じMetaTrader系でも別物として確認する

MQL4とMQL5は、文法や考え方に似ている部分があります。しかし、EAやインジケーターを実際に移行・改修する場合は、別物として確認する方が安全です。

特に、注文や決済を行うEA、複数ポジションを管理するEA、アラートや外部通知を持つインジケーター、サブウィンドウや複数バッファを使うインジケーターでは、確認範囲が広くなります。

開発依頼前に混同しない

開発依頼前には、MT4用なのか、MT5用なのか、MQL4なのか、MQL5なのかを整理してください。

「MT4で使っていたEAをMT5でも使いたい」という相談では、既存ファイルの形式、ソースコードの有無、残したい機能、不要な機能、現在の動作画面、ログを確認する必要があります。

ファイル形式の違い

mq4/ex4

mq4 は、MQL4のソースファイルです。既存EAやインジケーターの改修、仕様確認、MT5化相談では、mq4があるかどうかが重要です。

ex4 は、MT4で実行するコンパイル済みファイルです。ex4だけでは内部ロジックを直接確認して改修することは基本的に難しくなります。

mq5/ex5

mq5 は、MQL5のソースファイルです。MT5向けEAやインジケーターの改修では、mq5があるかどうかを確認します。

ex5 は、MT5で実行するコンパイル済みファイルです。ex5のみの場合も、内部ロジックを確認して改修することは基本的に難しくなります。

setファイル

setファイルは、EAやインジケーターのInputs設定を保存したファイルです。

MQL4/MQL5そのもののソースではありませんが、現在の設定値を確認するために重要です。移行相談では、現在使っているsetファイルと、MT5側で再現したい設定を整理してください。

テンプレートやライブラリ

EAやインジケーターによっては、テンプレート、ライブラリ、画像、外部ファイル、共通ヘッダーなどを使っている場合があります。

本体ファイルだけを移しても、必要な付属ファイルが不足していると表示や動作が変わることがあります。

ファイル・資料対象環境意味相談時の重要度
mq4MT4MQL4ソースファイル高:改修・移行判断に重要
ex4MT4MT4用実行ファイル中:実行確認は可能だが内部改修は難しい
mq5MT5MQL5ソースファイル高:MT5側の改修判断に重要
ex5MT5MT5用実行ファイル中:実行確認は可能だが内部改修は難しい
setMT4/MT5Inputs設定ファイル高:現在設定の確認に使用
スクリーンショットMT4/MT5表示や設定画面高:見た目や症状確認に有効

EA開発での違い

発注処理

EA開発では、注文を出す処理、注文結果を確認する処理、エラー時にログを出す処理が重要です。

MQL4とMQL5では、発注処理の書き方や管理方法が異なるため、MQL4の発注処理をそのままMQL5へ移すだけでは対応できない場合があります。

ポジション管理

EAでは、どのポジションを管理対象にするかが重要です。

MT4用EAをMT5用に作り直す場合、注文、ポジション、履歴、チケット、マジックナンバーの扱いを確認する必要があります。ナンピンEA、コピーEA、複数ロジックEAでは、特に慎重な確認が必要です。

マジックナンバー

マジックナンバーは、EAが注文やポジションを識別するための番号です。

MQL4/MQL5の移行相談では、既存EAがどのマジックナンバーを使っているか、ロジックごとに分かれているか、手動注文を含めるか、他EAと重複していないかを整理してください。

エラー処理

EAが注文できない、決済できない、設定が反映されない場合は、エラー処理とログ出力が重要です。

移行時にエラー処理が不足すると、MT5側で動かない理由が確認しづらくなる場合があります。開発依頼時には、どの段階でログを出したいかも確認対象になります。

ログ

ログは、EAが何を判断したかを確認するための重要な情報です。

移行・改修後に、初期化ログ、設定値ログ、注文前ログ、注文結果ログ、決済ログ、エラーログが確認できると、不具合調査や設定確認が進めやすくなります。

EA開発項目確認する内容移行時の注意点
発注処理注文条件、注文方法、注文結果そのまま流用できない場合がある
決済処理決済条件、対象ポジション、エラー対象管理を再確認する
ポジション管理チケット、履歴、マジック、銘柄MT5側の管理方式に合わせる
マジックナンバーEA・ロジック・手動注文の区別重複や対象外管理に注意する
ログ設定値、判定、注文結果、エラー移行後の確認用に整理する

インジケーター開発での違い

表示バッファ

インジケーターでは、計算結果をチャートへ表示するためにバッファを使うことがあります。

MQL4とMQL5では、バッファや描画設定の扱いが異なるため、MT4インジケーターをMT5へ移行する場合は、表示部分を確認する必要があります。

チャート描画

ライン、矢印、ラベル、パネル、サブウィンドウなどの描画方法も確認対象です。

MT4側で見えていた表示をMT5側で再現したい場合、表示位置、色、太さ、矢印コード、サブウィンドウ、更新タイミングを整理してください。

アラート

アラート付きインジケーターでは、どの条件で通知するか、どのタイミングで通知するか、重複通知をどう防ぐかを確認します。

移行時に表示条件と通知条件がずれると、表示は出るが通知されない、通知は出るが表示がないといった問題が起きることがあります。

サブウィンドウ

RSIや独自オシレーターのように、サブウィンドウへ表示するインジケーターでは、表示範囲、最小値、最大値、バッファ数、ライン種類を確認します。

MT5側で見た目が変わる場合は、サブウィンドウ設定や描画方式を確認してください。

通知

メール通知、プッシュ通知、Webhook通知、Discord通知などがある場合は、通知処理も移行対象になります。

Webhook URL、APIキー、GAS URL、認証トークンなどの実値は、公開ページや通常問い合わせ文面へそのまま貼らないよう注意してください。

インジ開発項目確認する内容移行時の注意点
表示バッファライン、矢印、ヒストグラムMQL5向けに見直しが必要な場合がある
チャート描画色、太さ、位置、ラベルスクリーンショットで確認する
サブウィンドウ表示範囲、最小値、最大値表示形式が変わる場合がある
アラート通知条件、タイミング、重複防止表示条件と通知条件を分ける
外部通知Webhook、WebRequest、送信ログURLや認証情報の扱いに注意する

変換・移植・作り直しの判断

そのまま動かないケース

MQL4で作られたEAやインジケーターを、MT5へそのまま入れても動かない場合があります。

MT4用のex4ファイルをMT5へ入れても、MT5用EAやインジケーターとしては扱えません。ファイル形式が違うだけでなく、内部構造も異なるためです。

一部流用できるケース

mq4ソースがある場合、条件式や計算ロジックの一部を参考にできる場合があります。

ただし、発注・決済、ポジション管理、バッファ、描画、外部連携などは、MQL5向けに書き直しや再設計が必要になることがあります。

仕様を見直すべきケース

古いEAやインジケーターを移行する場合、単に同じものを作り直すのではなく、不要な機能を整理した方がよい場合があります。

たとえば、使っていない通知、不要な表示、古い外部連携、確認しづらいログ、重すぎる描画処理などは、移行時に見直す候補になります。

ソースなしの制約

ex4やex5などのコンパイル済みファイルしかない場合、内部ロジックを直接確認して変換することは基本的に難しくなります。

この場合は、現在の表示、動作、Inputs、スクリーンショット、ログ、希望仕様をもとに、同等機能の再作成を検討する形になります。

状況判断の目安必要な資料
mq4がある既存仕様を確認しやすいmq4、set、ログ、表示画面
ex4のみ再作成前提になる可能性がある画面、Inputs、希望仕様、ログ
表示だけのインジ移行範囲を比較的整理しやすい表示条件、色、時間足、画像
EAの発注・決済あり再設計が必要になる場合がある注文条件、決済条件、マジック、ログ
外部連携あり慎重な確認が必要通知条件、送信仕様、ログ、マスク済み設定

移行相談前に確認するもの

ソースコード

移行相談では、まずソースコードの有無を確認します。

MT4側であればmq4、MT5側であればmq5があるかを確認してください。ソースコードがある場合、内部ロジックを確認しながら移行や改修を検討しやすくなります。

コンパイル済みファイル

ex4やex5は、MT4/MT5で実行するためのファイルです。

動作確認には役立ちますが、内部ロジックの確認や改修には制約があります。ex4/ex5のみの場合は、再作成前提で確認する必要がある場合があります。

set

setファイルは、Inputs設定を保存したファイルです。

現在の設定値、表示ON/OFF、通知条件、ロット、マジックナンバー、対象時間、ログ設定などを確認するために使います。

スクリーンショット

スクリーンショットは、現在の表示、チャート状態、Inputs、エラー、ログ画面を確認するために役立ちます。

ただし、口座番号、Webhook URL、APIキー、GAS URL、認証トークンなどが映り込まないよう注意してください。

ログ

ExpertsログやJournalログは、動作確認や不具合調査に必要です。

移行後に再現したい動作や、現在起きている不具合を確認するため、発生時刻前後のログを整理してください。

希望動作

移行相談では、「今と同じにしたい」だけでは確認が難しい場合があります。

残したい機能、不要な機能、MT5側で追加したい機能、表示を変えたい部分、通知を変えたい部分を分けて整理してください。

準備する情報確認できること注意点
mq4 / mq5内部ロジックや改修範囲ソース有無が判断材料になる
ex4 / ex5現在の実行ファイル内部確認には制約がある
setファイル現在の設定値認証情報やURLの実値に注意する
スクリーンショット表示や症状口座番号や認証情報の映り込みに注意
ログエラーや動作状態発生時刻前後を整理する
希望動作移行後の仕様残す機能と削る機能を分ける

相談時に送らない方がよい情報

口座番号の実値

スクリーンショットやログには、口座番号が映り込む場合があります。

相談時には、必要に応じて一部を伏せるなど、実値をそのまま送らないよう注意してください。

認証トークン

EAやインジケーターによっては、認証トークンやライセンスキーがInputsやログに含まれる場合があります。

これらは利用権限に関係する情報のため、そのまま共有しないようにしてください。

Webhook URL

Discord通知や外部通知を使うツールでは、Webhook URLが設定されている場合があります。

Webhook URLは通知先へ接続できる情報のため、公開ページや通常の問い合わせ文面にそのまま貼らないよう注意してください。

個人情報

氏名、メールアドレス、口座情報、認証情報、外部サービスのキーなど、確認に不要な個人情報は送らないようにしてください。

そのまま送らない方がよい情報理由
口座番号個別口座情報に該当するため
認証トークン利用権限に関係するため
Webhook URL通知先へ接続できる情報のため
GAS URL外部シート連携先に関係するため
APIキー外部サービス認証に関係するため
個人情報確認に不要な情報を含む可能性があるため

よくあるトラブルと確認順

MQL4/MQL5の違いが関係する相談では、ファイル形式、ソース有無、対象環境、表示条件、発注処理、ログを順番に確認することが重要です。

症状主な原因候補確認順
MT4用EAがMT5で動かないファイル形式と開発言語が違うmq4/ex4か、mq5/ex5か確認する
MT4インジがMT5で表示されない描画方式やバッファ構造が違うソース有無、表示条件、スクリーンショットを確認
変換したが注文しない発注・ポジション管理が合っていない注文条件、マジック、ログを確認
通知が動かない通知設定や外部連携が未整理通知条件、WebRequest、送信ログを確認
改修できるか分からないソースコードがないmq4/mq5の有無と再作成可否を確認

よくある質問

MQL4とMQL5は互換性がありますか?

完全な互換性があるとは限りません。EAやインジケーターの構造によって、移植や作り直しが必要になる場合があります。

MQL4のEAをMQL5へ自動変換できますか?

単純変換だけで動くとは限りません。発注処理、ポジション管理、ログ、エラー処理などの違いを確認する必要があります。

ex4しかない場合でもMT5化できますか?

仕様の再確認や作り直しになる可能性があります。ソースコードであるmq4の有無が重要な判断材料になります。

MQL4とMQL5のどちらで新規開発すべきですか?

利用環境、既存資産、必要機能、検証方法によって判断します。MT4で使うならMQL4、MT5で使うならMQL5を前提に整理するのが基本です。

MT4インジケーターをMT5へ移行できますか?

ソースコードの有無、表示方式、通知条件、バッファ、描画方式によって判断します。単純変換ではなく、MT5用に作り直しが必要になる場合があります。

移行で売買成績は保証されますか?

いいえ。移行や作り直しはソフトウェア上の対応であり、利益、勝率、損失回避を保証するものではありません。

相談前に何を送ればよいですか?

mq4/mq5などのソース、ex4/ex5、setファイル、スクリーンショット、Expertsログ、Journalログ、残したい機能、不要な機能、希望動作を整理してください。

関連ページ

MQL4からMQL5への移行、MT4 EA・インジケーターのMT5用作り直し、既存ツールの改修でお困りの場合は、mq4/mq5の有無、ex4/ex5、setファイル、スクリーンショット、ログ、残したい機能と不要な機能を整理したうえでご相談ください。

開発・改修の相談ページを見る

不具合確認・相談前の整理ページを見る

ABOUT ME
記事URLをコピーしました