MT5外部連携・通知セキュリティガイド|WebRequest・Webhook・APIキー・Google Sheetsの扱い
MT5では、EAやインジケーター、補助ツールから外部サービスへ通知を送ったり、Google Sheetsへ記録したり、外部の設定情報を取得したりする仕組みを使うことがあります。
外部連携は便利ですが、Webhook URL、APIキー、GAS URL、認証トークン、口座番号など、取り扱いに注意が必要な情報が関係する場合があります。
この記事では、MT5でWebRequest、Discord通知、Google Sheets連携、Webhook、APIキーを扱う前に確認したい、安全管理、送ってよい情報、送ってはいけない情報、外部連携エラー時のログ確認、問い合わせ前の整理方法をまとめます。
このページは、MT5外部連携と通知機能の安全管理を整理するための技術学習記事です。投資判断、売買タイミング、利益保証、推奨ロット、特定ブローカーへの誘導を目的とした内容ではありません。
MT5外部連携で最初に知っておくこと
外部連携とは
MT5の外部連携とは、EAやインジケーター、補助ツールがMT5の外側にあるサービスと情報をやり取りする仕組みです。
代表的な例として、Discord通知、Google Sheets記録、外部サーバーへの送信、外部設定の取得、認証確認、CSVやログファイルの出力などがあります。
外部連携を使う場合、MT5内の設定だけではなく、接続先URL、WebRequest許可、外部サービス側の権限、通知先、送信ログ、エラーコードなどを確認する必要があります。
通知・記録・設定取得の違い
外部連携には、主に通知、記録、設定取得があります。
| 連携種別 | 内容 | 確認すること |
|---|---|---|
| 通知 | Discordやメールなどへメッセージを送る | 通知先、Webhook URL、送信ログ、受信状態 |
| 記録 | Google SheetsやCSVへ履歴・状態を残す | 書き込み権限、送信結果、保存先、ログ |
| 設定取得 | 外部シートやURLから設定値を読み込む | 読み取り権限、取得タイミング、失敗時の挙動 |
| 認証確認 | 外部サーバーで利用可否を確認する | 認証トークン、応答ログ、失敗時の扱い |
通知が失敗しているのか、記録が失敗しているのか、外部設定の取得が失敗しているのかで、確認する場所は変わります。
売買ロジックと外部連携を分けて考える
EAの売買条件と、外部連携の成否は分けて確認する必要があります。
外部連携が失敗していても、EA本体の判定や表示は動いている場合があります。逆に、通知が成功していても、売買条件が成立しているとは限りません。
そのため、外部連携を使うEAや補助ツールでは、次のように責務を分けて確認します。
| 責務 | 確認内容 | 混同しやすい点 |
|---|---|---|
| 判定 | EAやインジケーターの条件が成立しているか | 通知がないことを条件未成立と決めつけない |
| 実行 | 注文・決済・表示更新などが行われたか | 通知成功と注文成功を混同しない |
| 通知 | 外部サービスへメッセージが送信されたか | 通知失敗をEA停止と混同しない |
| 記録 | 外部シートやファイルへ保存されたか | 記録失敗と判定失敗を分ける |
| 認証・外部制御 | 外部サーバーやシートから応答を取得できているか | 通信失敗時のEA側挙動を確認する |
WebRequestの基本
WebRequestとは
WebRequestは、MQL5から外部URLへHTTP通信を行うために使われる仕組みです。
Discord通知、Google Sheets連携、外部認証、外部設定取得などでは、WebRequestを使ってMT5の外側にあるサービスへアクセスする場合があります。
WebRequestを使うEAや補助ツールでは、MT5側で許可URLを設定していないと、通信が失敗することがあります。
許可URLとは
MT5では、WebRequestでアクセスするURLを、あらかじめ許可リストへ登録する必要があります。
許可URLが未登録の場合、EAやインジケーター側で正しい設定をしていても、通信できないことがあります。
外部連携が動かない場合は、まずMT5のオプションでWebRequestの許可URLが設定されているか確認します。
許可URLとWebhook URLの違い
WebRequestの許可URLと、DiscordなどのWebhook URLは混同しやすい項目です。
許可URLは、MT5が外部通信を許可する接続先の登録情報です。Webhook URLは、通知や送信を受け付けるための具体的な送信先URLです。
| 項目 | 役割 | 扱い |
|---|---|---|
| WebRequest許可URL | MT5が通信を許可する接続先 | MT5オプションで確認する |
| Webhook URL | 通知やデータ送信の具体的な送信先 | 実値は第三者へ共有しない |
| GAS URL | Google Apps Scriptなどの実行URL | 実値は問い合わせ本文へ貼らない |
| APIキー | 外部サービス利用や認証に使うキー | 必ずマスクして扱う |
問い合わせ時には、許可URLを設定したかどうか、設定欄の状態、エラーコード、ログは共有しても、Webhook URLやGAS URLの実値は送らないようにしてください。
VPS環境での確認
外部連携は、PCごと・MT5ごとに設定を確認する必要があります。
手元PCでWebRequestが動いていても、VPS側のMT5で同じ設定が入っているとは限りません。
VPSへ移行した後に通知やGoogle Sheets連携が動かない場合は、VPS側のMT5でWebRequest許可URL、EA設定、通知先、Filesフォルダ、Presetsフォルダ、Expertsログを確認してください。
Discord通知で扱う情報
Webhook URL
Discord通知では、Webhook URLが使われることがあります。
Webhook URLは、通知先へメッセージを送るための重要な情報です。第三者に見える場所へ貼ったり、問い合わせ本文へ実値をそのまま書いたりしないでください。
確認が必要な場合は、URLの一部を伏せる、ドメインだけを示す、設定欄に入力済みであることだけを伝えるなど、実値を出さない形で整理します。
通知先チャンネル
Discord通知では、どのチャンネルへ通知を送るかも重要です。
Webhookごとに通知先が決まっている場合、想定と違うチャンネルへ送られている可能性があります。
通知が届かない場合は、Webhook URLの実値を共有するのではなく、通知先チャンネル、通知設定、Expertsログ、テスト送信の有無を整理してください。
通知テスト
通知機能を使う場合は、本番利用前に通知テストを行います。
通知テストでは、EA側で送信処理が実行されたか、Expertsログにエラーが出ていないか、通知先で受信できているかを確認します。
テスト通知の本文に、口座番号、認証情報、APIキーなどの実値が含まれていないかも確認してください。
通知が届かない時の確認
通知が届かない場合は、次の項目を分けて確認します。
- EA側で通知条件が成立しているか
- 通知機能がONになっているか
- Webhook URLが設定されているか
- MT5のWebRequest許可URLが設定されているか
- Expertsログに通信エラーが出ていないか
- VPS側でも同じ設定になっているか
- 通知先チャンネルが想定通りか
Discord通知の個別確認については、MT5でDiscord通知が届かない時の確認ポイントも参考にしてください。
Google Sheets連携で扱う情報
GAS URL
Google Sheets連携では、Google Apps Scriptの実行URLを使うことがあります。
GAS URLは、外部からシートへ書き込みや読み取りを行う入口になる場合があるため、実値の取り扱いには注意が必要です。
問い合わせ時にGAS URLの実値をそのまま送るのではなく、設定済みかどうか、どの処理で失敗しているか、ログにどのようなエラーが出ているかを整理してください。
共有権限
Google Sheets連携では、シート側の共有権限やGAS側の公開設定が関係することがあります。
権限が不足していると、EAや補助ツール側の設定が正しくても、読み取りや書き込みに失敗する場合があります。
権限確認を行う時も、個人情報や認証情報が見えるスクリーンショットをそのまま共有しないようにしてください。
読み取りと書き込み
Google Sheets連携には、読み取りと書き込みがあります。
読み取りは、外部シート上の設定値や制御情報をEA側で取得する用途です。書き込みは、EAの状態、通知履歴、検証結果、集計情報などをシートへ保存する用途です。
読み取りが失敗しているのか、書き込みが失敗しているのかで確認するログや設定が変わります。
| 連携内容 | 確認すること | 注意点 |
|---|---|---|
| 読み取り | 取得先URL、権限、応答内容、読み取りタイミング | 外部設定取得失敗時のEA側挙動を確認する |
| 書き込み | 送信先URL、権限、HTTP応答、Expertsログ | 書き込み失敗とEA本体停止を混同しない |
| 通知 | 通知先、送信条件、送信ログ、受信状態 | 通知成功と売買成功を混同しない |
外部シート設定の注意
外部シートをEA設定の参照先として使う場合、シート側の値がEAの動作に影響することがあります。
そのため、外部シートで何を変更できるのか、どのタイミングでEAが読み取るのか、読み取り失敗時にどう動くのかを確認しておく必要があります。
Google Sheets連携の個別確認については、MT5でGoogle Sheets連携を確認する記事も参考にしてください。
送ってよい情報
外部連携の不具合を相談する時は、原因確認に必要な情報を整理することが重要です。
ただし、外部連携では機密性の高い情報が関係しやすいため、送ってよい情報と送ってはいけない情報を分けてください。
EA名とバージョン
EA名やインジケーター名、バージョンは、確認対象を特定するために必要です。
同じ名前のEAでもバージョンが異なると、外部連携の仕様やログの出方が異なる場合があります。
発生時刻
外部連携エラーを確認する場合は、発生時刻が重要です。
発生時刻が分かると、Expertsログ、Journalログ、通知先、Google Sheets側の履歴を照合しやすくなります。
マスク済みログ
ExpertsログやJournalログは、外部連携エラーの確認に役立ちます。
ただし、ログ内にWebhook URL、APIキー、認証トークン、口座番号などが含まれている場合は、共有前にマスクしてください。
設定項目名
設定項目名は、原因確認に役立ちます。
例えば、Webhook URL欄、WebRequest許可URL、通知ON/OFF、Google Sheets連携ON/OFF、送信間隔など、項目名だけであれば共有しやすい情報です。
ただし、設定欄に入力されている実値はマスクしてください。
エラーコード
HTTPエラーコード、WebRequest関連のエラー、EA側の通信失敗ログなどは、原因確認に役立ちます。
エラーコードやエラーメッセージは、発生時刻と合わせて共有すると確認しやすくなります。
スクリーンショットの加工例
スクリーンショットを送る場合は、事前に機密情報が写っていないか確認してください。
Webhook URL、APIキー、GAS URL、認証トークン、口座番号、メールアドレス、個人名などは、塗りつぶしや伏せ字にしてください。
送ってはいけない情報
外部連携の問い合わせでは、実値をそのまま送ってはいけない情報があります。
以下の情報は、第三者に見える場所、問い合わせ本文、スクリーンショット、公開ページへそのまま貼らないようにしてください。
| 区分 | 内容 | 理由 |
|---|---|---|
| 送ってよい情報 | EA名、バージョン、発生時刻、マスク済みログ、エラーコード | 原因確認に必要で、実値を伏せれば共有しやすい |
| 注意して送る情報 | スクリーンショット、設定画面、ログ全文 | 機密情報が写る場合があるため、マスクが必要 |
| 送ってはいけない情報 | Webhook URL、APIキー、GAS URL、認証トークン、口座番号、パスワード | 第三者に使われるリスクや個人情報漏えいの可能性がある |
Webhook URLの実値
Webhook URLは、通知先へメッセージを送るための重要な情報です。
実値を第三者に共有すると、意図しない通知送信に使われる可能性があります。
問い合わせ時には、Webhook URLを設定済みか、WebRequest許可URLを入れているか、送信ログにエラーが出ているかを伝え、URLそのものはマスクしてください。
APIキー
APIキーは、外部サービスを利用するための認証情報として使われる場合があります。
APIキーの実値は、問い合わせ本文やスクリーンショットに含めないでください。
確認が必要な場合は、先頭数文字と末尾数文字だけを残して中間を伏せるなど、実値が分からない形にします。
GAS URLの実値
GAS URLは、Google Apps Scriptの実行URLとして使われることがあります。
Google Sheetsへの書き込みや読み取りに関係する場合があるため、実値を不用意に共有しないようにしてください。
GAS URLが設定されているかどうか、権限エラーが出ているか、送信時刻、HTTP応答などを整理するだけでも、原因確認に役立つ場合があります。
認証トークン
認証トークンは、利用者確認や外部認証に使われる場合があります。
トークンの実値は、第三者へ共有しないでください。
ログにトークンが出ている場合は、共有前に必ずマスクしてください。
口座番号
口座番号は個人情報や取引環境に関係する情報です。
問い合わせ時に口座種別や環境情報が必要な場合でも、口座番号そのものを送る必要は通常ありません。
必要な場合は、デモ/リアル、口座タイプ、対象銘柄、時間足、EA名、ログなど、確認に必要な範囲だけを整理してください。
個人情報
氏名、メールアドレス、電話番号、住所、アカウント情報などの個人情報は、外部連携の不具合確認では原則として不要です。
スクリーンショットやログに個人情報が写っている場合は、共有前にマスクしてください。
外部連携エラー時に見るログ
外部連携が動かない場合は、チャート上の見た目だけでなく、Expertsログ、Journalログ、HTTPエラー、WebRequest許可、外部サービス側の権限を分けて確認します。
| 症状 | 確認場所 | 注意点 |
|---|---|---|
| 通知が届かない | Expertsログ、WebRequest設定、通知先 | 通知条件未成立と通信失敗を分ける |
| Google Sheetsへ書き込まれない | Expertsログ、GAS側権限、HTTP応答 | GAS URLの実値は共有しない |
| 外部設定を読み込めない | 読み取りURL、権限、EAログ | 読み取り失敗時のEA側挙動を確認する |
| VPS移行後だけ通知されない | VPS側MT5のWebRequest設定、EA設定、ログ | 手元PCとVPSは別環境として確認する |
| HTTPエラーが出る | Expertsログ、HTTPステータス、外部サービス側 | エラーコードと発生時刻を記録する |
Expertsログ
Expertsログには、EAやインジケーター、補助ツールが出力するメッセージが表示されることがあります。
外部連携では、送信開始、送信成功、送信失敗、HTTPステータス、WebRequestエラー、外部応答などが出る場合があります。
問い合わせ前には、発生時刻、対象EA名、対象機能、マスク済みログを整理してください。
Journalログ
Journalログには、MT5端末側の状態や操作に関する情報が出る場合があります。
通信、ファイル、端末状態、注文関連の標準ログなど、EA本体以外の情報が含まれることがあります。
外部連携が失敗している場合、ExpertsログだけでなくJournalログも確認すると、端末側の問題を切り分けやすくなります。
HTTPエラー
外部連携では、HTTPステータスや通信エラーが原因になる場合があります。
例えば、接続先にアクセスできない、権限がない、URLが間違っている、外部サービス側が応答していないなどの原因が考えられます。
エラーコードが出ている場合は、コード、発生時刻、対象機能、直前の操作を記録してください。
WebRequest許可エラー
WebRequest許可URLが設定されていない場合、MT5側で外部通信がブロックされることがあります。
EAや補助ツールの設定が正しくても、MT5のWebRequest許可がないと送信できない場合があります。
WebRequest設定の個別確認については、MT5のWebRequest設定で確認することも参考にしてください。
権限エラー
Google Sheetsや外部サービスでは、アクセス権限が原因で読み取りや書き込みが失敗する場合があります。
権限エラーが疑われる場合は、外部サービス側の共有設定、公開設定、実行権限、接続先URLを確認します。
ただし、確認時にGAS URLやAPIキーの実値を第三者へ送らないようにしてください。
複数MT5・VPSでの外部連携
PCごとのWebRequest設定
WebRequest設定は、MT5環境ごとに確認が必要です。
手元PC、VPS、別PC、複数MT5では、それぞれ設定が異なる場合があります。
ひとつのMT5で通知が届いていても、別のMT5ではWebRequest許可URLが未設定で通知されないことがあります。
VPS移行後の通知テスト
VPSへ移行した後は、必ずVPS側で通知テストを行います。
手元PCで通知が届いていたとしても、VPS側でWebRequest、EA設定、通知先、Files、Presets、ログを再確認する必要があります。
VPS移行後の初回確認では、通知が届いたかだけでなく、Expertsログにエラーが出ていないかも確認してください。
複数EAで通知が多くなる場合
複数EAや複数チャートで通知を使う場合、通知が多くなりすぎることがあります。
通知が多すぎる場合は、通知条件、通知間隔、対象チャート、対象EA、通知ON/OFF、重複通知の有無を確認します。
通知が多い状態を外部連携エラーと混同しないように、EAごとのログや通知設定を分けて確認してください。
ログを分けて保存する
複数MT5や複数EAを使う場合は、ログを分けて保存すると確認しやすくなります。
問い合わせ時には、対象EA、対象チャート、対象時刻が分かるログを整理してください。
ログを共有する場合は、URL、APIキー、認証トークン、口座番号などの実値が含まれていないか確認してください。
外部連携チェック表
MT5で外部連携や通知機能を使う前に、次の項目を確認してください。
- □ WebRequest許可URLを確認した
- □ Discord Webhook URLの実値を共有していない
- □ GAS URLの実値を本文や問い合わせに貼っていない
- □ APIキーをマスクした
- □ 認証トークンを送っていない
- □ 口座番号や個人情報をマスクした
- □ Expertsログを確認した
- □ エラーコードを確認した
- □ VPS側でも同じ設定を確認した
- □ 外部連携失敗と売買条件不成立を混同していない
問い合わせ前チェック表
外部連携の不具合を問い合わせる前に、次の情報を整理してください。
| 確認項目 | 送ってよい内容 | 送らない内容 |
|---|---|---|
| 対象ツール | EA名、インジケーター名、バージョン | 認証トークンや個別ライセンスキーの実値 |
| 発生状況 | 発生時刻、操作内容、通知が届かない状況 | 口座番号や個人情報 |
| ログ | マスク済みExpertsログ、Journalログ、エラーコード | Webhook URL、GAS URL、APIキーが含まれたログ |
| 設定 | 設定項目名、ON/OFF状態、許可URL設定の有無 | URLやキーの実値 |
| スクリーンショット | マスク済みの設定画面、ログ画面 | 個人情報や認証情報が写った画像 |
不具合報告やサポート依頼を行う場合は、不具合報告・サポート依頼も確認してください。
次に読む技術講座
この講座とあわせて確認すると、MT5・MQL5開発、検証、不具合調査の流れを整理しやすくなります。
| No | 講座 | 確認できること |
|---|---|---|
| LEARN-018 | MQL5 WebRequest・JSON・外部API実装完全ガイド | WebRequest・JSON・外部API実装を確認する |
| LEARN-020 | MQL5イベント処理完全ガイド | OnTimer分離とイベント処理を確認する |
| LEARN-022 | MQL5長時間稼働・安定化完全ガイド | 外部連携EAの長時間稼働を確認する |
| LEARN-005 | MQL5エラーコード辞典 | WebRequest関連エラーの確認へ進む |
次に確認するページ
技術講座を確認した後、導入・商品確認・開発相談・不具合報告へ進む場合は、以下のページも確認してください。
| ページ | 確認できること |
|---|---|
| 技術講座一覧 | MT5・MQL5・EA開発に関する技術講座を順番に確認できます。 |
| 導入ガイド | EA、インジケーター、補助ツールを導入する前の確認事項を整理できます。 |
| 商品一覧 | EAファンクラブで扱う補助ツール、インジケーター、コピーEAなどを確認できます。 |
| 開発代行ページ | EA、インジケーター、補助ツールの新規作成・改修相談を確認できます。 |
| 不具合報告・サポート依頼 | ログ、スクリーンショット、再現手順を整理して相談する場合に確認できます。 |
よくある質問
Webhook URLを問い合わせで送ってもよいですか?
実値は送らないでください。必要な場合は、URLの種類や設定場所だけを説明し、値はマスクしてください。
APIキーやGAS URLはどのように扱うべきですか?
第三者に見える場所へ貼らず、問い合わせ時も実値を送らないようにしてください。確認が必要な場合は、マスクした状態で共有します。
外部連携が失敗しているのか、EA条件が成立していないのか分かりません。
Expertsログ、Journalログ、通知テスト、WebRequest設定を分けて確認してください。売買条件と外部通信は別の問題として切り分けます。
VPSへ移すとDiscord通知が届かなくなることはありますか?
あります。VPS側のMT5でWebRequest設定、EA設定、通知先、通信状態を再確認してください。
スクリーンショットを送る時の注意はありますか?
Webhook URL、APIキー、GAS URL、認証トークン、口座番号、個人情報が写っていないか確認し、必要に応じてマスクしてください。
WebRequest設定が正しければ必ず通知は届きますか?
必ず届くとは限りません。WebRequest設定のほかに、Webhook URL、通知ON/OFF、EA側の送信条件、外部サービス側の状態、VPS側の設定も確認する必要があります。
Google Sheetsへ書き込めない場合は何を確認しますか?
GAS URLの設定、共有権限、書き込み権限、HTTP応答、Expertsログ、Journalログを確認してください。ただし、GAS URLの実値は問い合わせ本文へ貼らないでください。
まとめ
MT5の外部連携では、WebRequest、Discord通知、Google Sheets連携、Webhook、APIキー、GAS URL、認証トークンなど、取り扱いに注意が必要な情報が関係します。
外部連携が動かない時は、売買条件、通知条件、通信設定、外部サービス側の権限、VPS環境を分けて確認することが重要です。
Webhook URL、APIキー、GAS URL、認証トークン、口座番号、個人情報などの実値は、問い合わせ本文やスクリーンショットへそのまま含めないようにしてください。
問い合わせ前には、EA名、バージョン、発生時刻、マスク済みログ、エラーコード、設定項目名、VPS側の確認状況を整理すると、原因を切り分けやすくなります。

