MQL4とは?MT4のEA・インジケーター開発でできること

EAファンクラブ

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

MT4で使う自動売買EA、カスタムインジケーター、アラート通知、集計補助、操作補助ツールなどは、MQL4で作られていることがあります。

一方で、MQL4で作られたものは基本的にMT4向けです。MT5で使う場合は、MQL5での作り直しや再設計が必要になることがあります。また、既存ファイルが mq4 なのか ex4 なのかによって、改修できる範囲も変わります。

この記事では、MQL4とは何か、MT4で作れるEA・インジケーター・スクリプト・通知/補助ツール、開発依頼前に整理するファイルや仕様をまとめます。

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

この記事で確認すること

  • MQL4とは何か
  • MQL4で作れる主なもの
  • MQL4 EAでできること
  • MQL4インジケーターでできること
  • MQL4開発依頼でよくある相談
  • 依頼前に整理するファイル
  • MQL4開発で注意したいこと
  • 相談前に送る情報・送らない方がよい情報

MQL4とは何か

MT4向けの開発言語

MQL4は、MetaTrader 4、つまりMT4向けの開発言語です。

MT4上で動くEA、インジケーター、スクリプト、補助ツールなどを作るために使われます。MT4のチャート、価格データ、注文情報、口座情報、インジケーター値などを参照し、条件に応じて表示、通知、注文、決済、集計などを行うプログラムを作成できます。

用語意味確認すること
MT4取引プラットフォームEAやインジを動かす環境
MQL4MT4向けの開発言語EA・インジ・スクリプトを作る言語
mq4MQL4のソースファイル改修や内容確認に重要
ex4コンパイル済みファイルMT4で実行するファイル
setInputs設定ファイル現在設定の確認に使用

EA・インジ・スクリプトの作成に使う

MQL4では、主にEA、カスタムインジケーター、スクリプトを作成できます。

EAは、条件に応じて注文や決済、ポジション管理、通知などを行うプログラムです。インジケーターは、チャート上にライン、矢印、サイン、数値、アラートなどを表示する補助プログラムです。スクリプトは、1回だけ実行する処理や、操作補助に使われることがあります。

種類主な役割相談時に確認すること
EA注文、決済、管理、通知、操作補助売買実行の有無、条件、ロット、ログ
インジケーター表示、サイン、アラート、集計表示条件、通知条件、色、時間足
スクリプト一度だけ実行する処理実行内容、対象、誤操作防止
補助ツールログ、通知、集計、確認補助対象データ、出力先、通知先

MQL5との違いを簡単に確認する

MQL4はMT4向け、MQL5はMT5向けの開発言語です。

名前は似ていますが、完全な互換性があるわけではありません。MQL4で作られたEAやインジケーターをMT5で使いたい場合、MQL5用に作り直しが必要になることがあります。

特に、発注・決済処理、ポジション管理、インジケーターバッファ、イベント処理、外部連携、ファイル操作などを含む場合は、単純変換ではなく仕様確認が必要です。

MQL4で作れる主なもの

EA

MQL4では、MT4上で動くEAを作成できます。

EAは、条件に応じて注文や決済を行うものだけでなく、既存ポジションの管理、通知、操作パネル、ログ出力、取引補助などを行うものもあります。

カスタムインジケーター

MQL4では、MT4用のカスタムインジケーターを作成できます。

チャート上にライン、矢印、サイン、ラベル、数値、サブウィンドウ表示などを行うことができます。アラートやメール通知、外部通知を組み合わせる場合もあります。

スクリプト

スクリプトは、MT4上で一度だけ実行する処理に使われます。

たとえば、チャート上のオブジェクト整理、ファイル出力、確認用の処理、手動操作の補助などが考えられます。ただし、注文や決済に関わる処理を行う場合は、誤操作防止やログ確認が重要です。

通知・集計補助

MQL4では、アラート、メール、プッシュ通知、ログ出力、CSV出力、状態表示などの補助機能を作成できます。

通知や集計は、取引結果を保証するものではなく、状態確認や記録を補助するための機能です。通知が届かない場合は、通知設定、MT4本体設定、Expertsログ、外部連携設定を分けて確認します。

操作補助ツール

MQL4では、チャート上にボタンやラベルを表示し、操作を補助するツールを作ることもできます。

ただし、ボタン操作で注文や決済を行う場合は、誤操作防止、確認ログ、対象ポジション、マジックナンバー、銘柄名を明確にする必要があります。

作れるもの主な用途確認するポイント
EA注文、決済、管理、通知条件、ロット、マジック、ログ
インジケーター表示、サイン、アラート表示条件、色、時間足、通知
スクリプト一回実行の操作補助実行内容、対象、誤操作防止
通知ツール条件成立や状態変化の通知通知先、通知条件、ログ
集計補助損益、履歴、状態の整理集計対象、期間、出力形式

MQL4 EAでできること

エントリー条件

MQL4 EAでは、価格、インジケーター値、時間、スプレッド、ポジション状態などを条件にして、新規エントリー判定を作ることがあります。

ただし、条件を作ることと、利益や勝率を保証することは別です。開発相談では、売買結果ではなく、どの条件で処理を実行するかを機能仕様として整理してください。

決済条件

EAでは、利確、損切り、時間決済、条件反転、トレーリング、建値移動などの決済条件を作ることがあります。

決済条件を相談する場合は、どのポジションを対象にするのか、BUY/SELLで同じ条件か、マジックナンバーで分けるのか、手動ポジションを含めるのかを整理してください。

ロット管理

EAでは、固定ロット、入力ロット、倍率、段階ロットなどのロット管理を行う場合があります。

ロットに関する相談では、推奨ロットではなく、EAがどの値を参照し、どのように注文ロットを計算するかという仕様として整理します。

マジックナンバー

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

複数EA、複数ロジック、手動注文が混在する場合は、マジックナンバーの整理が重要です。改修や不具合調査では、どのマジックを対象にするのかを明確にしてください。

時間制御

MQL4 EAでは、稼働時間、曜日、サーバー時間、停止時間、ニュース時間帯などを条件にする場合があります。

時間制御を相談する場合は、PC時間なのか、MT4サーバー時間なのか、何時から何時まで有効なのかを整理してください。

通知

EAでは、起動、停止、注文、決済、エラー、状態変化などを通知する機能を作ることがあります。

通知機能を使う場合は、通知条件、通知先、重複通知防止、通知ログを確認してください。外部通知を使う場合は、Webhook URLやAPIキーなどの実値を公開場所へ貼らないよう注意が必要です。

EA機能整理する内容相談時の注意点
エントリー条件どの条件で注文判定するか売買助言ではなく仕様として整理する
決済条件どの条件で決済するか対象ポジションを明確にする
ロット管理固定、入力、倍率、段階など推奨ロットではなく計算仕様として扱う
マジック管理EA・ロジック・手動注文の区別他EAとの重複に注意する
時間制御稼働時間、曜日、停止条件サーバー時間かPC時間か確認する
通知通知条件、通知先、ログ認証情報やURLの扱いに注意する

MQL4インジケーターでできること

サイン表示

MQL4インジケーターでは、条件に応じて矢印、マーク、ラベルなどを表示できます。

サイン表示を依頼する場合は、BUY条件、SELL条件、表示位置、確定足か未確定足か、サインの再描画やリペイントの扱いを整理してください。

ライン表示

ライン表示では、移動平均線、バンド、水平線、トレンドライン、独自計算ラインなどを表示できます。

表示されない場合は、色、太さ、表示対象、計算期間、チャート背景との同化、ローソク足数を確認します。

アラート

インジケーターにアラート機能を追加すると、条件成立時にポップアップや音で知らせることができます。

アラートが鳴らない場合は、インジケーター側の通知ON/OFF、通知条件、重複防止、Expertsログを確認してください。

メール通知

MT4本体のメール設定を使って、インジケーターからメール通知を行う場合があります。

メール通知を使う場合は、MT4本体の設定、インジケーター側の通知設定、通知条件、送信ログを分けて確認してください。

集計表示

インジケーターでは、損益、ポジション数、スプレッド、時間、サイン履歴、検証用の統計などを表示することがあります。

集計表示は、状態確認や検証補助を目的としたものです。表示結果が利益や損失回避を保証するものではありません。

チャート補助

チャート補助として、背景色変更、セッション表示、時間帯表示、価格ライン、注釈、ラベルなどを作ることもあります。

表示系の相談では、スクリーンショットが重要です。現在の表示と変更したい表示を、画像やメモで整理してください。

MQL4開発依頼でよくある相談

既存EA改修

既存EAの改修では、まずmq4ソースがあるかを確認します。

mq4がある場合は、内部処理を確認しながら改修を検討できます。ex4のみの場合は、内部ロジックを直接改修することは基本的に難しく、仕様をもとに再作成を検討する形になります。

インジ改修

既存インジケーターの改修では、表示条件、色、サイン条件、通知条件、対象時間足、リペイントの扱いを整理します。

表示画面のスクリーンショット、Inputs、setファイル、Expertsログがあると確認しやすくなります。

アラート追加

既存インジケーターやEAにアラートを追加したい場合は、どの条件で通知するのかを明確にしてください。

同じ足で何度も通知しないようにするのか、足確定時だけ通知するのか、BUY/SELLで通知内容を分けるのかなど、通知ルールを整理する必要があります。

MT5化

MT4用のEAやインジケーターをMT5で使いたい場合、MQL5用に作り直しが必要になることがあります。

MT5化を相談する場合は、現在のmq4ソース、表示画面、Inputs、必要機能、不要機能、現在のログを整理してください。

ログ追加

EAやインジケーターの動作確認をしやすくするために、ログ追加を相談することがあります。

ログ追加では、どの判定、どの入力値、どのエラー、どの状態変化を出したいのかを整理します。ログが多すぎると確認しづらくなるため、必要な範囲を決めることも重要です。

バックテスト補助

EAのバックテストやインジケーター検証をしやすくするために、確認用ログ、表示、CSV出力などを追加することがあります。

バックテスト補助は、検証条件や動作確認を整理するためのものです。将来の結果を保証するものではありません。

相談内容必要な情報確認すること
既存EA改修mq4、set、ログ、希望変更改修範囲と影響範囲
インジ改修mq4、表示画像、Inputs、条件表示・通知・対象時間足
アラート追加通知条件、タイミング、文面重複通知防止とログ
MT5化既存ファイル、表示画面、仕様作り直し範囲と不要機能
ログ追加見たい判定、エラー、状態ログ量と確認しやすさ

依頼前に整理するファイル

mq4

mq4 はMQL4のソースファイルです。

既存EAやインジケーターの改修では、mq4があるかどうかが重要です。mq4があれば、内部処理を確認しながら改修や移行を検討しやすくなります。

ex4

ex4 はMT4で実行するコンパイル済みファイルです。

ex4だけでは、内部ロジックを直接確認して改修することは基本的に難しくなります。ex4のみの場合は、現在の動作、画面、Inputs、希望仕様をもとに再作成を検討することがあります。

set

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

相談時には、現在使っているsetファイル、変更前後のsetファイル、対象銘柄、時間足、用途を整理してください。ただし、Webhook URL、APIキー、認証トークンなどが含まれる場合は、そのまま送らないよう注意してください。

ログ

ExpertsログやJournalログは、EAやインジケーターの動作確認に役立ちます。

エラー、不具合、表示されない、通知が届かない、注文されないといった場合は、発生時刻前後のログを整理してください。

スクリーンショット

スクリーンショットは、表示状態、チャート右上、Inputs、ログ画面、通知設定などを確認するために役立ちます。

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

仕様メモ

仕様メモでは、作りたい機能、変更したい機能、不要な機能、現在困っている症状を整理します。

「利益が出るように」ではなく、「この条件でアラートを出したい」「この表示を追加したい」「このログを出したい」のように、機能仕様として記載してください。

ファイル・資料意味相談時の使い方
mq4MQL4ソースファイル改修・内容確認・移行検討に使う
ex4コンパイル済みファイル実行確認に使うが内部改修は難しい
setInputs設定ファイル現在設定や変更前後を確認する
ログExperts / Journalの記録不具合や動作確認に使う
スクリーンショット表示状態や設定画面見た目や症状の確認に使う
仕様メモ作りたい内容の整理開発範囲や確認事項を決める

MQL4開発で注意したいこと

ex4のみの限界

ex4のみの場合、内部処理を直接確認して改修することは基本的に難しくなります。

そのため、ex4しかない場合は、現在の動作や表示をもとに、同等機能の再作成や仕様整理を検討する形になります。

利益保証ではない

MQL4でEAやインジケーターを作ることは、利益や勝率を保証することではありません。

開発で扱うのは、条件判定、表示、通知、注文処理、決済処理、ログ、集計、操作補助などのソフトウェア機能です。売買結果や将来の成績を保証するものではありません。

環境差

同じMQL4ツールでも、MT4環境、口座種別、銘柄名、時間足、スプレッド、VPS、自宅PC、通知設定によって動作確認の見え方が変わる場合があります。

不具合調査では、EAやインジケーターだけでなく、設置環境も整理してください。

バックテストとリアル差分

バックテストで確認できることと、リアル環境で確認することは異なります。

バックテストでは、過去データ上の条件判定や注文処理を確認できます。一方、リアル環境では、スプレッド、約定、通信、VPS、通知、取引時間などが関係します。

注意点確認すること相談時の整理
ex4のみソースがないため内部確認が難しい再作成前提で仕様を整理する
環境差口座、銘柄、時間足、VPS動作環境を明記する
外部通知Webhook、メール、通知設定URLや認証情報はマスクする
バックテスト差分テスト条件とリアル条件の違い検証条件を記録する

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

送ると確認しやすい情報

MQL4開発や改修の相談では、対象ファイル、現在の動作、変更したい内容、ログ、設定を整理すると確認が進めやすくなります。

送ると確認しやすい情報理由
mq4ファイル内部処理や改修可否を確認するため
ex4ファイル実行確認や現在の動作確認に使うため
setファイルInputs設定を確認するため
ExpertsログEAやインジ側のエラーを確認するため
Journalログ端末側や注文側の状態を確認するため
スクリーンショット表示状態や設定画面を確認するため
仕様メモ作りたい機能や変更点を整理するため

そのまま送らない方がよい情報

setファイル、スクリーンショット、ログには、通知先URLや認証情報、口座番号が含まれる場合があります。

相談時には、確認に必要な情報と、そのまま送らない方がよい情報を分けてください。

そのまま送らない方がよい情報注意点
Webhook URL通知先へ接続できる情報のため注意する
GAS URL外部シート連携に関係するため共有範囲に注意する
APIキー外部サービス認証に関係するためそのまま送らない
認証トークン利用権限に関係するためマスクして扱う
口座番号スクリーンショットやログへの映り込みに注意する

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

MQL4関連の相談では、ファイル形式、設置場所、ソース有無、ログ、通知設定の確認が重要です。

症状主な原因候補確認順
EAが動かない自動売買OFF、設定不備、条件未成立自動売買、Inputs、Expertsログを確認
インジが表示されない配置場所違い、色、時間足、データ不足Indicatorsフォルダ、表示設定、ログを確認
改修できるか分からないmq4がなくex4のみソース有無と再作成可否を確認
通知が届かない通知OFF、メール設定、外部URL設定通知設定、外部連携、Expertsログを確認
MT5で使えないMQL4はMT4向けMQL5用の作り直し範囲を整理

よくある質問

MQL4とは何ですか?

MQL4は、MT4でEA、インジケーター、スクリプトなどを作るための開発言語です。MT4向けの自動売買、表示、通知、集計、操作補助などに使われます。

mq4とex4の違いは何ですか?

mq4はソースコード、ex4はコンパイル済みファイルです。改修や内容確認には、原則としてmq4の有無が重要です。

MQL4でMT5用のEAを作れますか?

MQL4はMT4向けです。MT5向けのEAやインジケーターは、MQL5での作成または作り直しが必要になる場合があります。

MQL4の知識がなくても依頼できますか?

可能です。ただし、作りたい機能、対象環境、mq4/ex4の有無、setファイル、ログ、スクリーンショットを整理しておくと相談が進めやすくなります。

ex4だけでも改修できますか?

ex4はコンパイル済みファイルのため、内部ロジックを直接確認して改修することは基本的に難しくなります。mq4がない場合は、現在の動作や画面をもとに再作成を検討する形になります。

MQL4でアラートや通知を追加できますか?

仕様によります。通知条件、通知タイミング、通知先、重複防止、ログ出力を整理することで、アラートや通知機能の追加可否を確認しやすくなります。

MQL4で作れば利益は保証されますか?

いいえ。MQL4で作るEAやインジケーターはソフトウェアであり、利益、勝率、損失回避を保証するものではありません。

関連ページ

MQL4を使ったMT4 EA、カスタムインジケーター、通知ツール、既存改修、MT5用への作り直しでお困りの場合は、mq4/ex4の有無、setファイル、スクリーンショット、Expertsログ、希望仕様を整理したうえでご相談ください。

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

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

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