MT5外部連携完全ガイド|WebRequest・Discord通知・Google Sheets連携の確認ポイント
MT5では、EAやインジケーターから外部サービスへ通知を送ったり、Google Sheetsへ記録したり、外部シートの設定を読み取ったりすることがあります。
代表的な外部連携には、WebRequest設定、Discord通知、Google Sheets連携、外部シート設定の読み取り、Webhook送信、CSV出力や通知ログの確認などがあります。
ただし、外部連携はEAの売買ロジック本体とは別の責務です。通知が届かない、シートに反映されない、外部設定が読み込まれないといった場合でも、売買条件そのものの不成立とは原因が異なることがあります。
この記事では、MT5外部連携で確認したいWebRequest、Discord通知、Google Sheets連携、外部シート、Webhook管理、ログ確認、安全管理のポイントを整理します。
なお、この記事はMT5の外部連携・通知・記録・設定確認を目的とした技術記事です。特定の売買判断、利益、勝率、損失回避を保証するものではありません。
この記事で確認すること
- MT5の外部連携とは何か
- WebRequest設定で確認すること
- Discord通知が届かない時の確認順
- Google Sheets連携が反映されない時の確認
- 外部シートからEA設定を読む場合の注意点
- 外部連携トラブル時に見るログ
- Webhook URLやAPIキーの安全管理
- 相談前に整理する情報
MT5の外部連携とは
EAやインジケーターから外部サービスへ接続する仕組み
MT5の外部連携とは、EAやインジケーターがMT5の外へ情報を送信したり、外部の設定やデータを取得したりする仕組みです。
たとえば、EAの起動状態をDiscordへ通知する、取引履歴をGoogle Sheetsへ記録する、外部シートから稼働ON/OFFを読み取る、Webhookを使って外部サービスへ状態を送るといった用途があります。
| 連携内容 | 主な用途 | 確認する場所 |
|---|---|---|
| WebRequest | MT5から外部URLへ通信する | MT5設定、許可URL、Expertsログ |
| Discord通知 | 起動、約定、エラー、状態変化を通知する | Webhook URL、通知先、WebRequest、Expertsログ |
| Google Sheets連携 | 取引履歴、稼働状態、検証結果などを記録する | GAS URL、シート権限、列構成、ログ |
| 外部シート設定 | EAの稼働ON/OFFや設定値を外部から管理する | シート構成、取得タイミング、反映ログ |
| Webhook送信 | 外部サービスへイベント情報を送る | 送信先URL、Payload、送信結果ログ |
通知・記録・設定取得の違い
外部連携は、すべて同じ役割ではありません。通知、記録、設定取得は、目的も確認する場所も異なります。
| 分類 | 目的 | 失敗時の見え方 |
|---|---|---|
| 通知 | 条件成立や状態変化を外部へ知らせる | Discordなどにメッセージが届かない |
| 記録 | 履歴や状態を外部シートへ保存する | Google Sheetsに行が追加されない |
| 設定取得 | 外部シートからEA設定を読み取る | EA側の設定や稼働状態に反映されない |
| 認証・許可 | 利用可否や稼働可否を確認する | EAが新規処理を止める、または警告を出す |
通知が届かない場合と、EAのエントリー条件が成立しない場合は別の問題です。外部連携トラブルでは、まず「通知の問題」「記録の問題」「設定取得の問題」「EA本体の判定の問題」を分けて確認してください。
売買ロジックとは別責務で考える
外部連携は、EAやインジケーターの補助機能として扱うのが基本です。
Discord通知が失敗しても、売買処理そのものは継続する設計もあります。一方で、外部シート設定や外部認証を使うEAでは、外部取得に失敗した場合に新規エントリーを止める仕様もあります。
重要なのは、通知失敗、記録失敗、外部設定取得失敗、売買条件不成立、注文エラーを同じ原因として扱わないことです。
WebRequest設定の基本
許可URL
MT5から外部URLへ通信する場合、MT5側でWebRequestを許可する必要がある場合があります。
WebRequest設定では、EAやインジケーターが通信する外部URLを許可リストへ登録します。許可URLが不足していると、EA側の設定が正しくても、外部通信が失敗することがあります。
- MT5のオプションでWebRequestが許可されているか
- 必要なURLが許可リストに登録されているか
- http / https の違いを間違えていないか
- 余計な空白や改行が入っていないか
- VPS側MT5にも同じ設定を行ったか
URLの入力ミス
外部連携では、URLの入力ミスがよくある原因になります。
Webhook URL、GAS URL、外部API URLなどは長くなりやすく、コピー時に一部が欠ける、末尾に空白が入る、古いURLを使っている、通知先を変更したのにEA側が古いURLのままになっているといったことがあります。
| 確認項目 | 確認内容 |
|---|---|
| URLの種類 | Discord、Google Sheets、外部認証など、用途が合っているか |
| 入力ミス | 欠け、空白、改行、古いURLがないか |
| 許可リスト | MT5のWebRequest許可URLに入っているか |
| EA側Inputs | 現在使っているsetファイルに反映されているか |
| ログ | 通信失敗、HTTPエラー、設定未入力が出ていないか |
MT5ごとの設定差
WebRequest設定は、MT5端末ごとに確認が必要です。
ローカルPCで通知が届いていても、VPS上のMT5ではWebRequest設定が未登録の場合があります。また、複数MT5を使っている場合、EAを設置しているMT5と設定を行ったMT5が違うこともあります。
- EAを入れているMT5で設定しているか
- VPS上のMT5でも同じ設定をしたか
- 複数MT5のうち、どのMT5が対象か分かるか
- MT5を再起動した後も設定が残っているか
VPS環境での確認
VPSでEAを運用する場合、WebRequest、通知先、setファイル、EAの設置場所、MT5ログイン状態をVPS側で確認します。
自宅PCで設定済みでも、VPS側へ自動的に反映されるわけではありません。通知テストや起動ログを使って、VPS側で実際に送信できているか確認してください。
Discord通知の確認ポイント
Webhook URL
Discord通知では、Webhook URLを使って指定チャンネルへ通知を送ることがあります。
通知が届かない時は、Webhook URLが正しいか、EA側のInputsに反映されているか、WebRequest許可URLに登録されているかを確認します。
ただし、Webhook URLは通知先へ接続できる情報です。公開ページ、記事本文、通常の問い合わせ文面、スクリーンショットにそのまま載せないよう注意してください。
通知先チャンネル
Webhook URLは、特定のDiscordチャンネルに紐づいています。
通知先チャンネルを変更した場合、Webhook URLも変わることがあります。通知先を変更した後に届かなくなった場合は、古いWebhookを使い続けていないか確認してください。
- 通知先チャンネルが正しいか
- Webhookが削除されていないか
- 通知先変更後にEA側Inputsも更新したか
- setファイルに古いURLが残っていないか
通知が届かない時
通知が届かない場合は、通知条件、通知ON/OFF、Webhook URL、WebRequest、Expertsログを順番に確認します。
| 確認順 | 確認内容 | 確認場所 |
|---|---|---|
| 1 | 通知機能がONか | Inputs、setファイル |
| 2 | 通知条件が成立しているか | EAログ、チャート状態 |
| 3 | Webhook URLが正しいか | EA設定、通知先管理画面 |
| 4 | WebRequestが許可されているか | MT5オプション |
| 5 | 送信失敗ログがあるか | Expertsログ |
通知が多すぎる時
通知が多すぎる場合は、通知条件が広すぎる、同じイベントで重複通知している、複数EAや複数チャートから同じ通知が出ている、詳細ログ通知がONになっている可能性があります。
- 同じEAを複数チャートに入れていないか
- 複数MT5から同じ通知先へ送っていないか
- 通知条件が広すぎないか
- 状態変化時だけ通知する設計か
- 検証用の詳細通知がONのままになっていないか
Google Sheets連携の確認ポイント
読み取り連携
Google Sheets連携には、EAがシートから設定値を読み取る用途があります。
たとえば、稼働ON/OFF、BUY/SELLの許可、時間帯制御、外部パラメータ、通知設定などを外部シート側で管理する場合です。
- EAが読むシートが正しいか
- シートの列構成がEA仕様と一致しているか
- 空欄や表記ゆれがないか
- EA側の取得タイミングを理解しているか
- 取得失敗時の動作がログで分かるか
書き込み連携
Google Sheetsへ書き込む連携では、EAの状態、取引履歴、通知履歴、検証結果、エラー情報などを記録することがあります。
書き込みに失敗する場合は、GAS URL、シート権限、列構成、書き込み対象シート、WebRequest、Expertsログを確認します。
| 連携方向 | 用途 | 確認すること |
|---|---|---|
| 読み取り | 外部シートからEA設定を読む | シート構成、取得URL、表記、反映タイミング |
| 書き込み | EAの状態や履歴をシートへ記録する | GAS URL、権限、列構成、送信ログ |
| 現在状態更新 | 最新状態だけを更新する | 上書き仕様、キー、更新間隔 |
| 履歴追記 | イベントごとに記録する | 重複記録、時刻、イベント種別 |
権限設定
Google Sheets連携では、シート側の共有設定やGAS側の公開設定が関係する場合があります。
EA側が正しく送信していても、シート側の権限やURLが合っていないと反映されません。
- GAS URLが正しいか
- シートへのアクセス権限があるか
- 対象シート名や列構成が合っているか
- GAS側でエラーが出ていないか
- WebRequest許可URLに登録しているか
反映されない時の確認
Google Sheetsへ反映されない時は、EA側、MT5側、GAS側、シート側を分けて確認します。
| 確認対象 | 見る内容 |
|---|---|
| EA側 | 送信ON/OFF、送信対象、送信タイミング、Expertsログ |
| MT5側 | WebRequest設定、VPS側設定、通信許可 |
| GAS側 | URL、権限、実行エラー、受信処理 |
| シート側 | シート名、列名、保護設定、反映先行 |
外部シートからEA設定を読む場合
シート構成
外部シートからEA設定を読む場合、シートの構成がEA側の仕様と一致している必要があります。
EAが想定している列名、キー、値、日付、時間、ON/OFF表記、BUY/SELL表記などがずれていると、設定が反映されない、または安全側で停止する場合があります。
- EAが読むシート名が正しいか
- 列名やキーが仕様と一致しているか
- ON/OFFやBUY/SELLの表記が仕様どおりか
- 空欄の意味が定義されているか
- 無効値が入った時の動作がログで分かるか
反映タイミング
外部シートの設定は、変更直後に即時反映されるとは限りません。
EAによって、OnInit時だけ読む、一定間隔で読む、新バーごとに読む、手動更新ボタンで読む、VPS側再起動後に読むなど、反映タイミングが異なります。
| 取得方式 | 特徴 | 確認すること |
|---|---|---|
| 起動時取得 | EA起動時に一度だけ読む | 変更後にEA再起動が必要か |
| 定期取得 | 一定間隔で外部シートを読む | 取得間隔、最終取得時刻、失敗時ログ |
| 新バー取得 | 新しい足で更新する | 時間足、バー更新、取得遅延 |
| 手動取得 | ボタンや操作で更新する | 更新操作、更新結果ログ |
新規Entry停止と既存ポジション管理の違い
外部シート設定でEAを止める場合でも、何を止めるのかを分けて確認する必要があります。
新規エントリーだけを停止し、既存ポジションの決済、トレーリング、ナンピン、保護処理は継続する仕様もあります。一方で、EA全体を停止する仕様では、通知や管理処理も止まる場合があります。
- 新規エントリーだけを止める設定か
- 既存ポジション管理は継続する仕様か
- BUYだけ停止、SELLだけ停止があるか
- 終日停止や時間帯停止の扱いが定義されているか
- 外部停止時のログが出るか
ログで確認する項目
外部シート設定が反映されない場合、ログで次の項目を確認します。
- 外部シート取得を実行したか
- 取得に成功したか
- 取得した値がEA側で有効値として解釈されたか
- 設定反映後の状態がログに出ているか
- 無効値や空欄が安全側停止になっていないか
外部連携トラブル時に見るログ
Expertsログ
外部連携の確認では、まずExpertsログを確認します。
EA側で通信を実行したか、送信対象があったか、HTTPエラーが出ていないか、通知ON/OFFが意図どおりか、外部設定取得結果がどう解釈されたかを見ます。
- 外部通信を実行したログがあるか
- 送信成功または失敗が出ているか
- HTTPステータスや通信エラーが出ているか
- 設定未入力やURL未設定が出ていないか
- 外部取得後の反映結果が出ているか
Journalログ
Journalログでは、MT5端末側の接続状態、ファイル操作、端末再起動、取引関連のサーバー応答などを確認します。
外部連携だけの問題ではExpertsログが中心になりますが、端末の接続やVPS再起動の影響が疑われる場合はJournalログも確認してください。
HTTPエラー
外部連携では、HTTPエラーや通信失敗が出ることがあります。
エラーが出た場合は、URL、WebRequest許可、外部サービス側の権限、GASやWebhookの状態、タイムアウト、通信先の変更を確認します。
| ログ上の見え方 | 確認すること |
|---|---|
| WebRequest not allowed | MT5のWebRequest許可URL |
| timeout | 通信先、VPSネットワーク、外部サービス状態 |
| HTTP error | URL、権限、GAS/Webhook側の状態 |
| invalid response | 外部シートの形式、レスポンス本文、列構成 |
| empty setting | シート空欄、キー不足、設定未入力 |
設定不備
外部連携のトラブルは、EA本体の不具合ではなく、設定不備で起きることもあります。
特に、URL未入力、通知OFF、WebRequest未登録、古いsetファイル、別MT5で設定している、VPS側だけ未設定といった状態はよく確認対象になります。
外部連携の安全管理
Webhook URLを公開しない
Webhook URLは、外部通知先へ接続できる情報です。
問い合わせや記事本文、スクリーンショット、SNS、公開ページにそのまま載せないよう注意してください。必要に応じて、URLの一部を伏せる、通知先を再発行する、共有範囲を限定するなどの対応が必要です。
APIキーを本文に載せない
APIキーや認証トークンは、外部サービスへのアクセス権限に関係する情報です。
EAやインジケーターの相談時でも、通常の問い合わせ文面へそのまま貼り付けないようにしてください。必要な場合も、共有範囲と取り扱いを限定する必要があります。
口座番号をマスクする
スクリーンショットやログには、口座番号、サーバー名、通知先、外部URLなどが映り込むことがあります。
相談前には、公開してよい情報と伏せるべき情報を分けてください。
| そのまま送らない方がよい情報 | 理由 | 対応例 |
|---|---|---|
| Webhook URL | 通知先へ送信できる可能性がある | 一部をマスクする |
| GAS URL | 外部シート連携に関係する | 必要時のみ限定共有 |
| APIキー | 外部サービス認証に関係する | 通常問い合わせには貼らない |
| 認証トークン | 利用権限に関係する | マスクまたは再発行を検討 |
| 口座番号 | 個人の取引環境情報に該当する | スクリーンショット上で伏せる |
相談前に整理する情報
EA名・インジケーター名
外部連携の相談では、まず対象のEA名またはインジケーター名を整理します。
同じ名前でもバージョンが違うと、通知仕様、WebRequest対象URL、ログの出方、外部シートの列構成が異なる場合があります。
連携の種類
外部連携の種類を整理してください。
- Discord通知
- Google Sheetsへの書き込み
- Google Sheetsからの読み取り
- 外部認証
- 外部設定取得
- Webhook送信
発生している症状
「外部連携が動かない」だけでは原因を特定しにくくなります。
通知が届かないのか、シートに書き込まれないのか、外部設定が反映されないのか、通信エラーが出ているのかを分けて整理してください。
Expertsログ
Expertsログには、送信成功、送信失敗、WebRequestエラー、HTTPエラー、設定不備、外部シート取得結果などが出る場合があります。
スクリーンショット
スクリーンショットを送る場合は、WebRequest設定画面、EAのInputs、通知ON/OFF、ログ画面などが参考になります。
ただし、Webhook URL、GAS URL、APIキー、口座番号などが映り込まないよう注意してください。
| 送ると確認しやすい情報 | 確認できること |
|---|---|
| EA名・インジケーター名 | 対象ツールを特定できる |
| バージョン | 通知仕様やログ仕様の違いを確認できる |
| 連携種類 | Discord、Sheets、外部シートなどを分けられる |
| 発生時刻 | ログの該当箇所を探しやすい |
| Expertsログ | 外部通信の成否や理由を確認できる |
| WebRequest設定画面 | 許可URLの有無を確認できる |
| マスク済みスクリーンショット | 設定状態や表示崩れを確認できる |
症状別の関連記事分岐
外部連携で確認する内容は、症状ごとに分けると原因を追いやすくなります。現在の症状に近い項目から確認してください。
| 今の症状 | 確認する内容 | 関連ページ |
|---|---|---|
| WebRequest設定を確認したい | 許可URL、入力ミス、MT5ごとの差、VPS設定 | MT5のWebRequest設定で確認すること |
| Discord通知が届かない | Webhook、通知先、WebRequest、Expertsログ | MT5でDiscord通知が届かない時の確認ポイント |
| Google Sheetsに反映されない | GAS URL、権限、列構成、送信ログ | MT5でGoogle Sheets連携を確認する記事 |
| 外部シート設定が反映されない | シート構成、取得タイミング、表記、ログ | MT5で外部シート設定が反映されない時の確認ポイント |
| 通知が多すぎる | 通知条件、複数EA、重複通知、通知レベル | MT5でEAの通知が多すぎる時に確認すること |
| 通知先を変更したい | Webhook再発行、set反映、WebRequest、テスト通知 | MT5でEAの通知先を変更する時に確認すること |
| WebRequest確認用ツールを使いたい | 許可URL、送信テスト、ログ確認 | WebRequestチェックツール |
| Discord通知ツールを確認したい | 通知条件、Webhook、通知先、ログ | Discord通知ツール |
| Google Sheets連携ツールを確認したい | シート連携、記録、反映確認 | Google Sheets連携ツール |
記事固有の実務チェック表
- WebRequest許可URLを確認した
- Discord Webhook URLを確認した
- Google Sheetsの共有権限を確認した
- EA側のInputsに反映されている
- VPS側のMT5でも同じ設定になっている
- Expertsログに外部通信エラーがない
- 通知先チャンネルが正しい
- Webhook URLやAPIキーを外部に公開していない
- 通知過多の場合、複数EA・複数チャートを確認した
- 外部連携失敗と売買ロジック不成立を混同していない
よくある質問
MT5のWebRequest設定とは何ですか?
EAやインジケーターが外部URLへ通信する場合に、MT5側で許可URLを登録する設定です。Discord通知、Google Sheets連携、外部設定取得などで必要になる場合があります。
Discord通知が届かない時は何を確認しますか?
Webhook URL、通知先チャンネル、通知ON/OFF、WebRequest設定、VPS側MT5の設定、Expertsログを確認してください。
Google Sheets連携が反映されない時は何を確認しますか?
GAS URL、シート共有権限、シート名、列構成、EA側の送信ログ、WebRequest設定を確認してください。
外部シート設定を変更したのにEAへ反映されないのはなぜですか?
EAの取得タイミング、シート構成、表記ゆれ、無効値、WebRequest設定、取得失敗ログを確認してください。変更直後に即時反映される仕様とは限りません。
Webhook URLを記事や問い合わせにそのまま貼ってよいですか?
そのまま貼るのは避けてください。Webhook URLは通知先へ接続できる情報のため、必要に応じて一部をマスクし、共有範囲を限定してください。
外部連携に失敗するとEAの売買も止まりますか?
仕様によります。通知だけの失敗なら売買処理とは分離されている場合があります。一方で、外部認証や外部設定取得を使うEAでは、新規エントリーを停止する仕様もあります。
通知が多すぎる時は何を確認しますか?
通知条件、通知レベル、複数EA、複数チャート、複数MT5、同一イベントの重複通知防止を確認してください。
関連ページ
EAやインジケーターの導入確認、既存ツールの改修、ログ確認でお困りの場合は、EAファンクラブの開発・確認サポートをご確認ください。

