MT5のWebRequest設定で確認すること
MT5のWebRequest設定は、EAやインジケーターが外部サービスと通信するために必要になることがある設定です。
たとえば、Discord通知、Google Sheets連携、外部認証、外部設定の取得、Webhook送信、外部API連携などを行うツールでは、MT5側で通信先URLを許可しておく必要があります。
WebRequestの設定が正しくない場合、EAやインジケーター本体に問題がなくても、通知が届かない、外部データを取得できない、認証に失敗する、Google Sheetsへ記録できない、といった状態になることがあります。
この記事では、MT5でWebRequestを使う前に確認しておきたい項目を、基本設定、URL登録、Discord通知、Google Sheets連携、外部認証、Expertsログ、問い合わせ前の整理に分けてまとめます。
なお、この記事はMT5の外部連携・通知・ログ確認・導入前確認を目的とした技術記事です。特定の売買判断、利益、勝率、損失回避を保証するものではありません。
この記事で確認すること
- MT5のWebRequest設定とは何か
- WebRequestが必要になる主なケース
- MT5側で確認する基本設定
- URL登録時に注意すること
- Discord通知が届かない時の確認ポイント
- Google Sheets連携で確認すること
- 外部認証や外部設定取得で確認すること
- Expertsログで確認する内容
- 問い合わせ前に送る情報・送らない方がよい情報
MT5のWebRequest設定とは
MT5から外部URLへ通信するための許可設定
WebRequestは、MQL5のプログラムから外部URLへHTTP通信を行うための仕組みです。
MT5では、安全性のため、EAやインジケーターが自由に外部URLへ通信できるわけではありません。WebRequestを使う場合は、MT5のオプション画面で通信先URLを許可リストに登録する必要があります。
| 項目 | 内容 | 確認する場所 |
|---|---|---|
| WebRequest | MT5から外部URLへ通信する仕組み | MQL5プログラム、Expertsログ |
| 許可URL | MT5側で通信を許可する外部URL | MT5オプション設定 |
| Webhook URL | Discord通知などの送信先URL | 外部サービス側、EA側設定 |
| GAS URL | Google Apps Scriptなどの連携URL | Google側、MT5側設定 |
| HTTPステータス | 通信結果を示す番号 | Expertsログ、EA側ログ |
EAやインジケーター本体の不具合とは分けて考える
WebRequestの不具合は、EAやインジケーター本体の売買ロジックや表示ロジックとは別の問題として切り分けます。
たとえば、EAのエントリー判定は正常でも、Discord通知だけが届かない場合があります。また、インジケーターの表示は正常でも、Google Sheetsへの記録だけが失敗することもあります。
- 売買処理が動かない問題
- 通知だけが届かない問題
- 外部シートへ書き込めない問題
- 外部設定を取得できない問題
- 外部認証に失敗する問題
WebRequestが必要になる主なケース
外部サービスと連携する時に必要になる
WebRequestは、MT5内だけで完結しない処理を行う場合に関係します。
代表的な用途は、Discord通知、Google Sheets連携、外部認証、外部シート設定の取得、Webhook送信、稼働状態の外部記録などです。
| 用途 | 内容 | 確認する設定 |
|---|---|---|
| Discord通知 | 条件成立、注文、決済、エラーなどを通知する | Webhook URL、通知ON/OFF、WebRequest許可 |
| Google Sheets書き込み | 損益、履歴、稼働状態などをシートへ記録する | GAS URL、共有設定、再デプロイ |
| Google Sheets取得 | 外部シートから設定値や制御値を取得する | CSV形式、公開URL、列構成 |
| 外部認証 | 口座番号、期限、ライセンス状態を確認する | 認証URL、認証キー、口座情報 |
| Webhook送信 | 外部ツールへ状態やイベントを送る | 送信先URL、送信形式、HTTP結果 |
| 外部API連携 | 外部データを取得または送信する | API URL、レスポンス形式、timeout |
WebRequestが不要なケースもある
すべてのEAやインジケーターでWebRequestが必要になるわけではありません。チャート上の表示、ローカル計算、通常の売買処理だけで完結するツールでは、WebRequestを使わない場合もあります。
まず、対象ツールが外部通信を使う仕様かどうかを確認してください。WebRequestを使わないツールでURL設定を変更しても、動作改善にはつながりません。
MT5側で確認する基本項目
オプション画面でWebRequest許可を確認する
WebRequestを使う場合は、MT5のオプション画面で外部URLへの通信を許可します。
許可URLが登録されていない場合、EAやインジケーター側で正しいURLを入力していても通信できません。
| 確認項目 | 内容 | 注意点 |
|---|---|---|
| WebRequestの許可 | 指定URLへの通信が許可されているか | チェックが外れていると通信できない |
| URL登録 | 通信先URLが許可リストに入っているか | URL変更後は再登録が必要 |
| URLの表記 | 余分な空白、改行、不要な文字がないか | コピー時の空白混入に注意 |
| EA側の外部連携設定 | 通知・外部連携がONになっているか | MT5側だけでは動作しない |
| 自動売買許可 | EAが必要な処理を実行できるか | EAの仕様により影響範囲が異なる |
| Expertsログ | 通信エラーやHTTP結果が出ているか | 原因切り分けの中心になる |
URLは一部だけでよい場合と全文が必要な場合がある
WebRequestの許可URLは、ツールの仕様によって、ドメイン単位で登録する場合と、指定されたURLを登録する場合があります。
自己判断でURLを短くしたり、途中までにしたりすると、通信できない場合があります。配布元や開発者の案内がある場合は、その指定に従ってください。
- 配布元が指定したURLを確認する
- http と https を間違えていないか確認する
- URLの末尾やパスを勝手に削らない
- 余分なスペースや改行を入れない
- テスト用URLと本番用URLを混同しない
- 再発行・再デプロイ後のURL変更を反映する
URL登録時に注意すること
URL変更後はMT5側も更新する
DiscordのWebhook URLやGoogle Apps ScriptのURLは、再発行や再デプロイによって変わることがあります。
外部サービス側でURLを変更した場合、EAやインジケーター側の入力項目だけでなく、MT5のWebRequest許可リストも更新してください。
| 変更内容 | MT5側で必要な確認 | よくある見落とし |
|---|---|---|
| Discord Webhook再作成 | 新しいWebhook URLを登録 | 古いURLを許可リストに残したまま |
| GAS再デプロイ | 新しいGAS URLを登録 | EA側だけ更新してMT5側を忘れる |
| 外部認証URL変更 | 認証先URLの登録内容を確認 | テストURLと本番URLを混同する |
| 外部API仕様変更 | URL、レスポンス形式、timeoutを確認 | URLは合っているがレスポンス解析に失敗する |
| VPS移行 | 移行先MT5にもURL登録があるか確認 | 自宅PCでは動くがVPSでは未設定 |
機密情報をそのまま共有しない
Webhook URL、GAS URL、APIキー、認証トークンなどは、外部サービスへ接続できる情報です。不具合確認で共有する場合でも、原則として一部を伏せてください。
- Webhook URLを全文そのまま送らない
- GAS URLは必要に応じて一部を伏せる
- APIキーや認証トークンは送らない
- スクリーンショット内の口座番号や個人情報を確認する
- Expertsログ内のURLやトークンを確認してから共有する
Discord通知が届かない場合の確認
WebRequestだけでなく通知条件も確認する
Discord通知が届かない場合、原因はWebRequest設定だけとは限りません。EAやインジケーター側の通知ON/OFF、送信条件、通知間隔、Webhook URL、Discord側のWebhook有効状態も確認します。
| 確認項目 | 内容 | 確認する場所 |
|---|---|---|
| Webhook URL | Discord側で発行したURLが有効か | Discord、EA設定 |
| WebRequest許可 | MT5側でURL登録されているか | MT5オプション |
| 通知ON/OFF | EAやインジケーター側で通知が有効か | Inputs、設定画面 |
| 通知条件 | 通知を出す条件を満たしているか | チャート、Expertsログ |
| 通知間隔 | 連続通知を抑制していないか | Inputs、ログ |
| HTTP結果 | 送信成功または失敗が記録されているか | Expertsログ |
通知が届かない時の切り分け
通知が届かない場合は、「通知処理が実行されていない」のか、「送信したが失敗している」のか、「送信成功しているがDiscord側で見えない」のかを分けて確認します。
- 通知条件を満たした時刻を確認する
- Expertsログに送信処理が出ているか確認する
- HTTPステータスや送信失敗ログを確認する
- Webhook URLが古くなっていないか確認する
- Discord側でチャンネルやWebhookが削除されていないか確認する
- 通知間隔制限や重複通知防止が働いていないか確認する
Google Sheets連携で確認すること
GAS URLとシート側の権限を確認する
Google Sheets連携では、Google Apps Scriptや公開CSVを経由して、MT5からデータを書き込んだり、設定値を読み取ったりする場合があります。
この場合、MT5側のWebRequest設定だけでなく、Google側の共有設定、GASのデプロイ状態、シートの列構成も確認します。
| 確認項目 | 内容 | 注意点 |
|---|---|---|
| GAS URL | EAやツールが通信するURLが正しいか | 再デプロイ後にURLが変わる場合がある |
| アクセス権限 | 外部からアクセスできる状態か | 権限不足で取得・書き込みに失敗する場合がある |
| デプロイ状態 | GAS更新後に再デプロイしているか | コードを変更しただけでは反映されない場合がある |
| シート構造 | EA側が想定する列名・形式と一致しているか | 列追加・削除で解析失敗する場合がある |
| レスポンス | 空データや想定外形式になっていないか | 取得成功でも解析に失敗する場合がある |
| Expertsログ | 取得失敗、書き込み失敗、解析失敗が出ていないか | 通信と解析を分けて見る |
取得と書き込みを分けて確認する
Google Sheets連携には、シートへ書き込む処理と、シートから設定を取得する処理があります。
書き込みができない問題と、外部設定が反映されない問題は確認する箇所が異なります。どちらの処理で失敗しているかを分けて確認してください。
- シートへ書き込む処理か、シートから取得する処理かを分ける
- GAS URLが最新か確認する
- GASの再デプロイが済んでいるか確認する
- シートの列名や列順が変わっていないか確認する
- 取得結果が空になっていないか確認する
- Expertsログで通信成功と解析成功を分けて確認する
外部認証・外部設定取得で確認すること
認証失敗と通信失敗を分ける
外部認証を使うEAでは、認証URLへ通信し、口座番号、ライセンス状態、有効期限などを確認する場合があります。
この時、WebRequest自体が失敗しているのか、通信はできているが認証結果がNGなのかを分けて確認することが重要です。
| 状態 | 意味 | 確認すること |
|---|---|---|
| 通信失敗 | URLへ接続できていない | WebRequest許可、URL、VPS通信、HTTP結果 |
| レスポンスなし | 接続できたがデータが空 | 外部サーバー状態、GAS、API側の応答 |
| 解析失敗 | 返ってきたデータをEAが読めない | JSON、CSV、列構成、文字コード |
| 認証NG | 通信はできたが利用条件を満たしていない | 口座番号、有効期限、ライセンス状態 |
| 一部機能停止 | 外部連携だけ失敗している | EA本体の売買処理と外部連携ログを分ける |
外部制御は新規エントリーだけに影響する場合がある
外部シート設定や外部制御を使うEAでは、新規エントリーだけを停止し、保有中ポジションの管理は継続する設計になっている場合があります。
そのため、「新規エントリーしない」ことが不具合ではなく、外部制御による停止である可能性もあります。外部シートの入力値、取得時刻、EA側ログを確認してください。
Expertsログで確認すること
WebRequest関連のログを見る
WebRequest関連の不具合を確認する場合、Expertsログは重要です。
通知が届かない、外部データを取得できない、Google Sheetsへ書き込めない、外部認証に失敗する場合は、まずExpertsログに通信結果やエラーが出ていないか確認してください。
- WebRequestが許可されていないという内容
- 通信先URLが空、または不正という内容
- HTTPステータスや通信失敗に関する内容
- レスポンスが空だったという内容
- 取得データを解析できなかったという内容
- 通知送信を試みたが失敗したという内容
- 外部認証がNGになったという内容
- 外部設定取得に失敗したという内容
通信エラーと売買エラーを混同しない
WebRequestの通信エラーは、注文エラーや売買条件不成立とは別の問題です。
外部通知や外部書き込みが失敗していても、EAの売買処理は別に動いている場合があります。逆に、外部認証に失敗した場合は、新規エントリーが制限される仕様になっている場合もあります。
| ログの種類 | 主な意味 | 確認すること |
|---|---|---|
| WebRequest失敗 | 外部URLへ通信できない | 許可URL、通信先、VPS通信 |
| HTTPエラー | 外部サービス側がエラーを返している | HTTPステータス、外部側設定 |
| parse error | 返ってきたデータを読み取れない | JSON、CSV、列構成 |
| auth NG | 外部認証結果が利用不可 | 口座番号、期限、認証情報 |
| entry block | 外部制御や条件により新規エントリー停止 | 停止理由、対象範囲、既存ポジション管理 |
| order error | 注文処理の失敗 | WebRequestではなく発注条件を確認 |
WebRequest設定でよくある原因
症状別に確認する
WebRequest関連の不具合は、症状ごとに確認する場所が異なります。通知、シート連携、外部認証、外部設定取得を分けて確認してください。
| 症状 | 確認すること | 優先して見るログ |
|---|---|---|
| 通知が届かない | Webhook URL、WebRequest許可、通知ON/OFF、通知条件 | Expertsログ |
| Sheetsへ書き込めない | GAS URL、権限、再デプロイ、シート構造 | Expertsログ、GAS側ログ |
| 外部設定を取得できない | URL、CSV形式、空データ、アクセス権限 | 取得ログ、解析ログ |
| 外部認証に失敗する | 認証URL、通信許可、口座情報、期限設定 | AUTHログ、HTTP結果 |
| 以前は動いていたが急に止まった | URL変更、GAS再デプロイ、Webhook再発行、VPS通信 | 直近の変更前後のログ |
| VPSだけで動かない | VPS側MT5のWebRequest許可、通信、URL登録 | VPS上のExpertsログ |
以前動いていた場合は変更履歴を見る
以前は動いていた外部連携が急に動かなくなった場合は、直近の変更を確認します。
- DiscordのWebhookを再作成していないか
- Google Apps Scriptを再デプロイしていないか
- Google Sheetsの列構成を変更していないか
- EAやインジケーターを更新していないか
- VPSを移行していないか
- MT5を再インストールしていないか
- 外部サービス側の権限や公開設定を変更していないか
MQL5側のWebRequest実装を確認する場合
許可URLだけでなくコード側の処理も確認する
MT5のWebRequest設定は、外部URLへの通信を許可するための確認項目です。Discord通知、Google Sheets連携、外部API連携が動かない場合は、MT5側の許可URLだけでなく、MQL5コード側のWebRequest処理、HTTPステータス、timeout、レスポンス本文も確認します。
特に開発中のEAやインジケーターでは、通信自体は成功していても、レスポンスの解析、JSON処理、CSV処理、文字コード、改行、タイムアウト処理で止まることがあります。
| 確認したいこと | 確認するページ | 主な確認内容 |
|---|---|---|
| MQL5コード側のWebRequest実装を確認したい | MQL5 WebRequest・JSON・外部API実装完全ガイド | WebRequest、JSON、Discord通知、Google Sheets連携、HTTPステータス、レスポンス確認 |
| 外部連携処理を一定間隔で実行したい | MQL5 OnTimerの使い方 | EventSetTimer、EventKillTimer、通知間隔、外部制御取得、再送制御、ログ抑制 |
WebRequestの不具合を確認する時は、許可URL、Webhook URL、GAS URL、HTTPステータス、GetLastError、レスポンス本文、送信間隔を分けて確認してください。通信失敗をEA本体の売買判定エラーと混同しないよう、外部連携ログと注文処理ログは分けて確認します。の売買判定エラーと混同しないよう、外部連携ログと注文処理ログは分けて確認します。
問い合わせ前に整理すること
送ると確認しやすい情報
WebRequest関連の不具合を相談する場合は、使用ツール、発生している症状、MT5設定、外部サービス、ログ、変更履歴を整理しておくと確認しやすくなります。
| 情報 | 理由 |
|---|---|
| 使用ツール名 | EA、インジケーター、通知ツール、Sheets連携ツールなどを特定するため |
| 発生している症状 | 通知が届かない、書き込めない、取得できないなどを分けるため |
| MT5設定画面 | WebRequest許可、URL登録、自動売買許可を確認するため |
| 外部サービス名 | Discord、Google Sheets、GAS、Webhookなどの種類を確認するため |
| Expertsログ | 通信エラー、HTTP結果、解析失敗を確認するため |
| Journalログ | MT5全体の接続や実行状態を確認するため |
| 変更履歴 | URL変更、GAS再デプロイ、EA更新、VPS変更などを確認するため |
| 再現手順 | どの操作で失敗するかを確認するため |
そのまま送らない方がよい情報
外部連携の確認では、URLや認証情報が関係します。ただし、Webhook URL、GAS URL、APIキー、認証トークン、口座番号などは機密情報に該当する場合があります。
| 情報 | 注意点 |
|---|---|
| Webhook URL | 通知先へ接続できる情報のため、全文をそのまま送らない |
| GAS URL | 外部シート連携に関係するため、必要に応じて伏せ字にする |
| APIキー | 外部サービス認証に関係するため送らない |
| 認証トークン | 利用権限に関係するため送らない |
| 口座番号 | ログやスクリーンショットへの映り込みに注意する |
| VPSログイン情報 | リモート接続情報は送らない |
| MT5ログインパスワード | 不具合確認には不要 |
記事固有の実務チェック表
- 対象ツールがWebRequestを使う仕様か確認した
- MT5のWebRequest許可がONになっている
- 通信先URLをMT5の許可リストに登録した
- URLに余分なスペースや改行が入っていない
- テスト用URLと本番用URLを間違えていない
- Webhook URLやGAS URLの再発行後にMT5側も更新した
- EAやインジケーター側の外部連携ON/OFFを確認した
- Discord通知やGoogle Sheets連携の送信条件を確認した
- ExpertsログでWebRequest失敗、HTTP結果、解析失敗を確認した
- VPS上で使う場合、VPS側MT5にも同じ設定があるか確認した
- Webhook URL、GAS URL、APIキー、認証トークンをそのまま共有していない
よくある質問
MT5のWebRequest設定は必ず必要ですか?
必ず必要とは限りません。Discord通知、Google Sheets連携、外部認証、外部設定取得、Webhook送信など、MT5から外部URLへ通信する機能を使う場合に必要になります。
WebRequestを許可しても通知が届かないのはなぜですか?
WebRequest許可以外にも、EA側の通知ON/OFF、通知条件、Webhook URL、Discord側のWebhook有効状態、通知間隔、HTTPエラーなどが関係します。Expertsログで送信処理とHTTP結果を確認してください。
GAS URLを更新した場合、MT5側も変更が必要ですか?
必要になる場合があります。Google Apps Scriptを再デプロイしてURLが変わった場合は、EA側の入力項目だけでなく、MT5のWebRequest許可リストも新しいURLに更新してください。
VPSでは動かないのに自宅PCでは動くことはありますか?
あります。VPS側のMT5にWebRequest許可URLが入っていない、外部通信ができない、MT5設定が自宅PCと異なる、古いURLが残っている、といった原因が考えられます。
WebRequestエラーはEAの売買エラーですか?
通常は別の問題として確認します。WebRequestエラーは外部通信の問題であり、注文エラーや売買条件不成立とは分けて確認します。ただし、外部認証に失敗した場合はEA側の仕様により新規エントリーが制限されることがあります。
Webhook URLやAPIキーを問い合わせで送ってもよいですか?
原則として、そのまま送らないでください。Webhook URL、GAS URL、APIキー、認証トークンは外部サービスへ接続できる情報のため、必要に応じて一部を伏せた状態で共有してください。
関連ページ
WebRequest設定を確認する時は、通知、Google Sheets連携、外部シート設定、ログ確認、外部連携全体を分けて確認すると整理しやすくなります。
| 確認したい内容 | 関連ページ |
|---|---|
| WebRequestチェックツールの導入前確認 | MT5でWebRequestチェックツールを使う前に確認すること |
| Discord通知が届かない時の確認 | MT5でDiscord通知が届かない時の確認ポイント |
| Google Sheets連携の確認 | MT5でGoogle Sheets連携を確認すること |
| 外部シート設定が反映されない時の確認 | MT5で外部シート設定が反映されない時の確認ポイント |
| 問い合わせ前のログ確認 | EAのログを問い合わせ前に確認する方法 |
| 外部連携全体の確認 | MT5外部連携完全ガイド|WebRequest・Discord通知・Google Sheets連携の確認ポイント |
| 外部連携ツールの導入前確認 | MT5で外部連携ツールを使う前に確認すること |
| MQL5コード側のWebRequest実装 | MQL5 WebRequest・JSON・外部API実装完全ガイド |
| OnTimerで外部連携を一定間隔実行する確認 | MQL5 OnTimerの使い方 |
| 不具合確認を依頼する場合 | 不具合報告・調査依頼について |
| 免責事項を確認する場合 | 免責事項 |
まとめ
MT5のWebRequest設定は、Discord通知、Google Sheets連携、外部認証、外部設定取得、Webhook送信など、外部サービスと連携するEAやインジケーターで重要になる設定です。
外部連携が動かない場合は、MT5側のWebRequest許可だけでなく、EAやインジケーター側の入力項目、外部サービス側のURLや権限、GASの再デプロイ、Webhookの有効状態、Expertsログの内容を合わせて確認してください。
WebRequestの通信エラーは、売買条件不成立や注文エラーとは別に確認します。通知だけが失敗しているのか、外部シート取得だけが失敗しているのか、外部認証に失敗して新規エントリーが制限されているのかを分けて整理すると、原因を切り分けやすくなります。
問い合わせ前には、使用ツール名、発生している症状、MT5設定、外部サービス名、Expertsログ、変更履歴を整理してください。Webhook URL、GAS URL、APIキー、認証トークン、口座番号などの機密情報は、そのまま共有しないよう注意してください。
