MT5で外部シート設定が反映されない時の確認ポイント
本記事は、MT4/MT5・MQL4/MQL5・EA・インジケータに関する技術情報・一般的な運用知識を解説するものです。特定の金融商品の売買、投資判断、利益獲得を推奨・保証するものではありません。
- MT5で外部シート設定が反映されないとは
- 1. まず「読み込めていない」のか「反映されていない」のかを分ける
- 2. WebRequest設定を確認する
- 3. GAS URL・CSV公開URLを確認する
- 4. シート名・列名・ヘッダー行を確認する
- 5. 対象行が一致しているか確認する
- 6. 設定値の表記形式を確認する
- 7. 空欄・無効値・範囲外の扱いを確認する
- 8. 読み込み周期と更新タイミングを確認する
- 9. runtime値へ反映されているか確認する
- 10. 反映範囲が想定どおりか確認する
- 11. 通信失敗時に前回値を保持していないか確認する
- 12. VPS側の設定差を確認する
- 13. ログで確認したい項目
- 14. よくある症状と確認先
- 15. 問い合わせ前に整理しておく情報
- 16. 注意したいこと
- 17. まとめ
- 関連ページ
MT5で外部シート設定が反映されないとは
MT5 EAでGoogle SheetsやCSVなどの外部シート設定を使っている場合、シート上の値を変更しても、EA側の動作に反映されないことがあります。
たとえば、外部シートで新規エントリーをOFFにしたのにEA側ではONのままに見える、通知設定を変更したのに通知挙動が変わらない、対象マジックナンバーを変更したのに反映されない、といった症状です。
このような場合、原因はEA本体だけではなく、WebRequest設定、読み込み先URL、GASやCSV公開設定、シート構造、列名、対象行、設定値形式、読み込み周期、runtime反映処理など複数考えられます。
この記事では、MT5で外部シート設定が反映されない時に確認したい項目を、通信、シート構造、値形式、反映タイミング、runtime状態、ログ確認の観点から整理します。
1. まず「読み込めていない」のか「反映されていない」のかを分ける
外部シート設定が反映されない場合、最初に確認するべきことは、EAが外部シートを読み込めているかどうかです。
原因は大きく分けると、以下の2つです。
| 状態 | 意味 | 主な確認先 |
|---|---|---|
| 読み込めていない | 外部シートの取得自体に失敗している | WebRequest、URL、GAS、CSV公開、通信ログ |
| 読み込めているが反映されない | 取得後の解析・対象行判定・runtime反映に問題がある | 列名、対象行、値形式、適用範囲、反映ログ |
「反映されない」とまとめて見るのではなく、まず外部シート取得まで成功しているかをログで確認してください。
2. WebRequest設定を確認する
Google Sheets、GAS、CSV公開URLなどから設定値を取得する場合、MT5側のWebRequest設定が必要になることがあります。
確認する項目は以下です。
- MT5でWebRequestが許可されているか
- 読み込み先URLを許可リストに登録しているか
- URLの先頭が正しいか
- http と https を間違えていないか
- URLの前後に空白や改行が入っていないか
- VPS側のMT5にも同じWebRequest設定が入っているか
WebRequestが許可されていない場合、EA側の外部シート機能をONにしていても、MT5側で通信が止まることがあります。
3. GAS URL・CSV公開URLを確認する
外部シートの取得先URLが変わっている場合、EAは古いURLを読み続けている可能性があります。
Google Apps Scriptを使っている場合は、GASの再デプロイ漏れや、古いデプロイURLを使っているケースがあります。
確認する項目は以下です。
- EAに設定しているURLが最新か
- GASをWebアプリとしてデプロイしているか
- GAS修正後に再デプロイしているか
- CSV公開URLが有効か
- シートの公開設定や共有権限が変わっていないか
- テスト用URLと本番用URLを混同していないか
外部シート側を更新しても、EAが参照しているURLが古いままだと、変更内容は反映されません。
4. シート名・列名・ヘッダー行を確認する
EAが外部シートを解析する場合、シート名、ヘッダー行、列名が仕様と一致している必要があります。
列名を変更した、列を削除した、ヘッダー行の位置を変えた、不要な空白が入った場合、EA側で対象列を見つけられないことがあります。
| 確認項目 | よくある原因 |
|---|---|
| シート名 | EAが参照するシート名と実際のシート名が違う |
| ヘッダー行 | ヘッダー行の位置が変わっている |
| 列名 | 列名の変更、全角半角違い、不要な空白 |
| 必須列 | 対象口座、シンボル、設定キーなどの列がない |
| 列順 | EAが列順固定で読んでいる場合にズレる |
外部シート設定が反映されない場合、シート構造を変更していないかを確認してください。
5. 対象行が一致しているか確認する
外部シートに複数のEA、口座、シンボル、マジックナンバーの設定が並んでいる場合、EAがどの行を対象として読み込むかが重要です。
設定値自体は存在していても、EAが対象行を見つけられていなければ反映されません。
確認する項目は以下です。
- 対象口座番号が一致しているか
- 対象シンボルが一致しているか
- 対象マジックナンバーが一致しているか
- EA名や識別IDが一致しているか
- 有効フラグがONになっているか
- 同じ条件の行が複数存在していないか
対象行が複数ある場合、どの行が優先されるのかも確認してください。
6. 設定値の表記形式を確認する
外部シートでは、人が入力した値をEAが読み取るため、表記形式の揺れが原因で反映されないことがあります。
確認したい値の例は以下です。
| 値の種類 | 正しく扱いたい例 | 注意する例 |
|---|---|---|
| ON/OFF | ON / OFF、TRUE / FALSE、1 / 0 | オン、停止、空欄、全角文字 |
| 数値 | 10、50、0.5 | 50pips、abc、空欄 |
| 時刻 | 09:00、23:30 | 9時、25:99、全角コロン |
| 方向 | BUY、SELL、BOTH、STOP | Buy、買い、空欄、スペル違い |
| リスト | 1001,1002,1003 | 1001,,abc、全角カンマ、余分な空白 |
EA側で許可していない表記が入っている場合、その項目だけ反映されない、または外部シート全体を無効扱いにする仕様もあります。
7. 空欄・無効値・範囲外の扱いを確認する
外部シート設定が反映されない原因として、空欄や無効値が含まれているケースがあります。
EA側で無効値をどう扱うかは仕様によって異なります。
- 空欄を前回値として扱うか
- 空欄をInputs初期値として扱うか
- 空欄をエラーとして扱うか
- 数値範囲外を補正するか
- 数値範囲外を拒否するか
- 無効値がある行全体をスキップするか
- 無効値のある項目だけスキップするか
一部の設定だけ反映されない場合は、その列の値がEA側の許可形式に合っているかを確認してください。
8. 読み込み周期と更新タイミングを確認する
外部シート設定は、シートを変更した瞬間にEAへ反映されるとは限りません。
EAが定期的に外部シートを読み込む仕様の場合、次回読み込みタイミングまで変更は反映されません。
確認する項目は以下です。
- EA起動時だけ読み込む仕様か
- 一定間隔で再読み込みする仕様か
- 読み込み間隔は何秒または何分か
- 手動更新ボタンがあるか
- 前回読み込み時刻と次回読み込み予定時刻を確認できるか
- 変更検出後に反映する仕様か
外部シートを変更してすぐ確認している場合は、まだEA側が再読み込みしていない可能性があります。
9. runtime値へ反映されているか確認する
外部シートを読み込めていても、EA内部のruntime状態へ反映されていない場合があります。
この場合、ログには読み込み成功が出ていても、実際の判定では古い値が使われている可能性があります。
確認する項目は以下です。
- 外部シート値を取得しているか
- 取得値を検証しているか
- 無効値でスキップされていないか
- runtime設定へ適用されたログがあるか
- 現在反映中のruntime値を確認できるか
- Inputs初期値とruntime値が混同されていないか
外部シート連携では、「取得成功」と「runtime反映成功」を分けて確認することが重要です。
10. 反映範囲が想定どおりか確認する
外部シート設定が反映されないように見える場合でも、実際には反映範囲が限定されていることがあります。
たとえば、外部シートで新規エントリーをOFFにしても、既存ポジションの決済、トレーリング、通知、ログ出力は継続する仕様があります。
| 外部設定 | 確認する反映範囲 |
|---|---|
| 新規エントリー停止 | 新規注文だけ停止するのか、追加注文も停止するのか |
| BUY / SELL制御 | 新規方向だけ制御するのか、決済には影響しないのか |
| 通知ON/OFF | すべての通知か、一部通知だけか |
| マジックナンバー指定 | 新規判定か、決済・集計にも使うのか |
| 時間制限 | 新規停止だけか、全機能停止か |
外部シートで変更した項目が、EAのどの処理に影響する仕様なのかを確認してください。
11. 通信失敗時に前回値を保持していないか確認する
外部シート取得に失敗した場合、EAが前回成功した設定値を使い続ける仕様があります。
この場合、シートを変更しても通信に失敗していれば、EA内部では古い設定が残ります。
確認する項目は以下です。
- 通信失敗時に前回成功値を保持する仕様か
- 通信失敗時にInputs初期値へ戻る仕様か
- 通信失敗時に新規エントリーを停止する仕様か
- 前回成功値の時刻を確認できるか
- 現在EAが使っている値をログで確認できるか
「シートを変更したのに反映されない」と見える場合、実際には通信失敗により前回値を使い続けている可能性があります。
12. VPS側の設定差を確認する
自宅PCでは反映されるのに、VPS上のMT5では反映されない場合があります。
この場合、EA本体ではなく、VPS側MT5の設定や通信環境が原因の可能性があります。
- VPS上のMT5でWebRequestが許可されているか
- VPS側にも最新URLを登録しているか
- VPSから外部URLへ通信できるか
- VPS上のEAが最新バージョンか
- VPS上のsetファイルが古くないか
- VPS再起動後にEAが正常に初期化されているか
外部シート連携は、MT5ごとに設定が必要になる場合があります。PC側とVPS側の設定差を確認してください。
13. ログで確認したい項目
外部シート設定が反映されない時は、Expertsログで通信、解析、対象行判定、runtime反映の流れを確認します。
確認できるとよいログ項目は以下です。
- 外部シート機能がONか
- 読み込み先URLが設定されているか
- WebRequestが成功したか
- 取得した行数・列数
- 対象行を見つけたか
- 列名が一致しているか
- 値形式が正しいか
- 無効値でスキップされていないか
- runtimeへ適用されたか
- 通信失敗時にどの値を使っているか
ログ例として、以下のような項目が確認できると、どこで反映が止まっているかを追いやすくなります。
SHEET_CFG_INIT: enabled=Y interval_sec=300 source=GOOGLE_SHEETS
SHEET_CFG_REQUEST: url_status=SET method=GET
SHEET_CFG_RESULT: status=OK rows=12 cols=8
SHEET_CFG_HEADER: status=OK required=account,symbol,entry_enabled,max_spread
SHEET_CFG_MATCH: status=OK row=5 account=****1234 symbol=GOLD
SHEET_CFG_VALUE: key=entry_enabled raw=OFF parsed=OFF result=OK
SHEET_CFG_APPLY: key=entry_enabled old=ON new=OFF scope=FIRST_ENTRY
SHEET_CFG_SKIP: key=max_spread raw=abc reason=INVALID_NUMBER keep=LAST_VALID
SHEET_CFG_NO_MATCH: account=****1234 symbol=XAUUSD reason=ROW_NOT_FOUND
SHEET_CFG_FAIL: reason=WEBREQUEST_NOT_ALLOWED action=KEEP_LAST_VALID
SHEET_CFG_RUNTIME: entry_enabled=OFF max_spread=50 basis=SHEET_LAST_VALID
上記は確認項目の例です。実際のログ名や表示形式は、使用しているEAや外部シート連携ツールの仕様によって異なります。
外部シート以外の連携も確認する場合
外部シート設定が反映されない場合、シート構成や取得タイミングだけでなく、WebRequest、GAS URL、通信ログ、VPS側のMT5設定も確認対象になります。
14. よくある症状と確認先
| 症状 | よくある原因 | 確認すること |
|---|---|---|
| まったく読み込まない | WebRequest未許可、URL不正 | WebRequest設定、URL、通信ログ |
| 読み込み成功だが反映されない | runtime適用されていない | SHEET_CFG_APPLY、現在runtime値 |
| 一部の項目だけ反映されない | 値形式不正、列名不一致 | SHEET_CFG_SKIP、ヘッダー確認 |
| 対象行が見つからない | 口座番号・シンボル・マジック不一致 | SHEET_CFG_NO_MATCH、対象条件 |
| 古い値のまま動く | 前回成功値を保持している | LAST_VALID、最終成功時刻 |
| VPSだけ反映されない | VPS側WebRequest設定不足 | VPS側MT5のURL登録、通信状態 |
外部シート設定が反映されない時は、通信、解析、対象行、値形式、runtime反映を順番に確認してください。
15. 問い合わせ前に整理しておく情報
外部シート設定が反映されない件について相談する場合は、以下を整理しておくと確認が進めやすくなります。
| 項目 | 整理する内容 |
|---|---|
| 使用EA | EA名、バージョン、使用しているsetファイル |
| 外部シート方式 | Google Sheets、GAS、CSV公開URL、ローカルファイルなど |
| 反映されない項目 | ON/OFF、時間、数値、マジックナンバー、通知設定など |
| 変更した内容 | 変更前の値、変更後の値、変更した時刻 |
| 読み込み周期 | 起動時のみ、定期読み込み、手動更新など |
| 発生環境 | 自宅PC、VPS、複数MT5、対象シンボル |
| ログ | Expertsログ、WebRequestログ、SHEET_CFG系ログ |
| 直前の変更 | URL変更、列名変更、GAS再デプロイ、set変更、VPS移行など |
Webhook URL、GAS URL、APIキー、口座番号、個人情報などが含まれる場合は、必要に応じて一部をマスクしてください。
16. 注意したいこと
外部シート設定が反映されない時は、以下に注意してください。
- シートを変更しても、読み込み周期までは反映されない場合がある
- 読み込み成功とruntime反映成功は別の確認項目になる
- 無効値や空欄があると、一部項目だけ反映されない場合がある
- 通信失敗時に前回成功値を使い続ける仕様がある
- PCでは反映されても、VPSではWebRequest設定差で反映されない場合がある
- 外部シート設定は利益や損失回避を保証するものではない
外部シート設定は、EAの設定管理や外部連携を補助するための仕組みです。売買判断、相場予測、利益保証を目的とするものではありません。
外部シート設定が反映されない時の関連確認:反映されない原因は、MT5側のWebRequest設定、GASやCSV公開URL、列名、対象行、EA側の読み込み周期、runtime反映ログなどに分かれます。
- MT5で外部シート設定をEAに反映する時の確認ポイント
- MT5でGoogle Sheets連携を確認すること
- MT5のWebRequest設定で確認すること
- EAのログを問い合わせ前に確認する方法
- ログ確認補助ツール
17. まとめ
MT5で外部シート設定が反映されない時は、まず外部シートを読み込めているか、読み込めているがruntimeへ反映されていないのかを分けて確認することが重要です。
主な確認項目は、WebRequest、GAS URL、CSV公開URL、シート名、列名、対象行、設定値形式、読み込み周期、通信失敗時の扱い、runtime反映ログです。
EAファンクラブでは、MT4/MT5向けのGoogle Sheets連携ツール、外部シート設定反映、WebRequestチェックツール、ログ確認補助ツール、既存EA・インジケータの改修相談などについて、用途や環境に合わせた開発・改修相談を扱っています。
外部シート設定が反映されない場合は、変更内容、発生環境、外部シート構造、WebRequest設定、Expertsログを整理したうえでご相談ください。
当サイトでは、投資助言、相場予測、売買判断、特定ブローカーへの誘導は行っていません。ご相談は、MT4/MT5・MQL4/MQL5の開発・設定・検証・不具合調査に関する内容に限ります。
関連ページ
- MT5で外部シート設定をEAに反映する時の確認ポイント
- Google Sheets連携ツール
- Google Sheets連携ツールを使う前に確認すること
- MT5でWebRequestチェックツールを使う前に確認すること
- MT5のWebRequest設定で確認すること
- 導入診断・WebRequestチェックツール
- ログ確認補助ツール
- MT5でログ確認補助ツールを使う前に確認すること
- 不具合報告の方法
- 投資助言を行わない方針

