MT5で外部シート設定をEAに反映する時の確認ポイント
本記事は、MT4/MT5・MQL4/MQL5・EA・インジケータに関する技術情報・一般的な運用知識を解説するものです。特定の金融商品の売買、投資判断、利益獲得を推奨・保証するものではありません。
MT5で外部シート設定をEAに反映するとは
MT5で外部シート設定をEAに反映するとは、Google SheetsやCSVなどに記載した設定値をEA側で読み込み、EAの動作条件や補助機能のON/OFFなどに反映する仕組みです。
たとえば、EAの入力パラメータを毎回MT5上で変更するのではなく、外部シート上で管理した値をEAが定期的に読み込み、設定状態を更新する構成があります。
外部シート連携を使うと、複数EAや複数口座の設定を一覧管理しやすくなる一方で、読み込み先URL、WebRequest、列名、設定値形式、反映タイミング、通信失敗時の扱いなどを明確にしておく必要があります。
この記事では、MT5で外部シート設定をEAに反映する時に確認したい項目を、WebRequest、シート構造、設定値形式、反映範囲、読み込み周期、ログ確認の観点から整理します。
1. 外部シートで管理する設定項目を決める
外部シート連携を使う前に、まず「どの設定を外部シートで管理するか」を決めます。
すべてのEA設定を外部化すると管理が複雑になり、逆に一部だけ外部化すると、MT5のInputs設定と外部シート設定のどちらが優先されるのか分かりにくくなる場合があります。
| 設定項目 | 確認すること |
|---|---|
| ON/OFF設定 | 機能停止、通知停止、記録停止などを外部管理するか |
| 時間設定 | 開始時刻、終了時刻、停止時間帯などを管理するか |
| 数値設定 | 上限値、間隔、許容値、表示更新周期などを管理するか |
| 対象シンボル | どの銘柄を対象にするかを外部指定するか |
| マジックナンバー | 対象EAやロジックを外部指定するか |
| 通知先 | Discord通知や記録先のON/OFFを管理するか |
外部シートは、EAの設定を整理するための補助です。外部シート上の値が利益や将来成績を保証するものではありません。
2. MT5のInputs設定と外部シート設定を分ける
外部シート設定を使う場合、MT5のInputs欄にある初期設定と、外部シートから読み込むruntime設定を分けて考える必要があります。
Inputs設定はEAをチャートに設置した時点の初期値として使われることが多く、外部シート設定は稼働中に読み込まれる更新値として使われます。
| 設定種別 | 役割 | 確認すること |
|---|---|---|
| Inputs初期値 | EA起動時の初期設定 | 外部シート未取得時の基準になるか |
| 外部シート値 | 稼働中に読み込む設定値 | どの項目を上書きするか |
| runtime状態 | 現在EA内部で使っている設定値 | ログや画面で確認できるか |
| 手動変更 | MT5上で変更した値 | 外部シート値とどちらを優先するか |
外部シート連携では、「初期値」「読み込み値」「現在反映中の値」を混同しないことが重要です。
3. シート構造と列名を確認する
EAが外部シートを読み込む場合、シート構造や列名がEA側の仕様と一致している必要があります。
列名が変わったり、列順が変わったり、必要な列が空欄になったりすると、EA側で読み込みや解析に失敗する場合があります。
確認する項目は以下です。
- シート名が正しいか
- ヘッダー行があるか
- 列名が仕様と一致しているか
- 必須列が空欄ではないか
- 対象EAや対象口座を識別する列があるか
- 設定値の型が統一されているか
- 不要な空白や改行が入っていないか
外部シートを人が編集する場合、表記揺れや空欄が発生しやすくなります。EA側で読み込む列と、運用上編集してよい列を分けておくと確認しやすくなります。
4. 設定値の形式を統一する
外部シートの設定値は、EA側で解析しやすい形式に統一する必要があります。
ON/OFF、数値、時刻、文字列、リストなどが混在する場合は、表記ルールを決めておくことが重要です。
| 値の種類 | 表記例 | 確認すること |
|---|---|---|
| ON/OFF | ON / OFF、TRUE / FALSE、1 / 0 | 許可する表記を統一する |
| 数値 | 10、50、0.5 | 小数点、範囲、空欄時の扱い |
| 時刻 | 09:00、23:30 | 24時間表記、タイムゾーン |
| 方向 | BUY、SELL、BOTH、STOP | EA側で許可する値を明確にする |
| リスト | 1001,1002,1003 | 区切り文字、空白、無効値 |
外部シート値は、人が見やすいだけでなく、EA側で誤解なく読み取れる形式にする必要があります。
5. WebRequest設定を確認する
Google SheetsやGASなどから設定値を読み込む場合、MT5側のWebRequest設定が必要になることがあります。
確認する項目は以下です。
- MT5でWebRequestが許可されているか
- 読み込み先URLを許可リストに登録しているか
- GAS URLまたはCSV公開URLが正しいか
- URLの前後に空白や改行がないか
- テスト用URLと本番用URLを混同していないか
- VPS側のMT5にも同じ設定が入っているか
EA側の設定が正しくても、MT5側でWebRequestが許可されていない場合、外部シートを読み込めないことがあります。
6. 読み込み方式を確認する
外部シート設定をEAに反映する方式には、いくつかの種類があります。
代表的な方式は以下です。
| 方式 | 内容 | 確認すること |
|---|---|---|
| GAS経由 | Google Apps Scriptを経由して設定を取得する | デプロイURL、権限、レスポンス形式 |
| CSV公開URL | Google SheetsをCSV形式で取得する | 公開設定、列構造、文字コード |
| 固定URL取得 | 指定URLから設定ファイルを取得する | URL、通信結果、更新タイミング |
| ローカルファイル | MT5のFilesフォルダ等から読み込む | 保存先、ファイル名、更新手順 |
読み込み方式によって、確認するログやエラー原因が変わります。導入前に、EAがどの方式で外部設定を取得するのか確認してください。
7. 読み込み周期と反映タイミングを確認する
外部シート設定は、変更した瞬間にEAへ反映されるとは限りません。
EA側が一定間隔で読み込む方式の場合、次回読み込みタイミングまで反映されないことがあります。
確認する項目は以下です。
- 何秒または何分ごとに読み込むか
- EA起動時だけ読み込むのか
- 一定間隔で再読み込みするのか
- 手動更新ボタンがあるか
- 設定変更を検出してから反映する方式か
- 反映対象が新規エントリーだけか、既存ポジションにも影響するか
外部シートを変更したのにEA側の挙動がすぐ変わらない場合、読み込み周期や反映タイミングを確認してください。
8. 反映範囲を明確にする
外部シート設定がEAのどの処理に影響するかを明確にしておく必要があります。
たとえば、外部シートで新規エントリーを停止しても、既存ポジションの決済やトレーリング、通知、ログ出力は継続する仕様もあります。
| 反映対象 | 確認すること |
|---|---|
| 新規エントリー | 外部停止時に新規注文だけ止めるか |
| 追加注文 | ナンピンや追加ポジションも停止対象か |
| 決済処理 | 外部停止中でも決済は動くか |
| 通知処理 | 通知ON/OFFを外部シートで制御するか |
| ログ出力 | 外部設定の取得結果をログに出すか |
外部シート設定は、EA全体を止めるのか、新規注文だけを止めるのか、通知だけを止めるのかを明確にしてください。
9. 通信失敗時の扱いを確認する
外部シート連携では、通信失敗や取得失敗が発生する場合があります。
この時、EAがどう動くかを事前に決めておくことが重要です。
確認する項目は以下です。
- 通信失敗時に前回成功値を使うか
- 通信失敗時にInputs初期値へ戻すか
- 通信失敗時に新規エントリーを停止するか
- 通信失敗時も既存ポジション管理は継続するか
- 何回連続失敗したら警告を出すか
- Discord通知やログで失敗を知らせるか
通信失敗時の動作を決めていないと、外部シートが取得できない時にEAがどの設定で動いているのか分かりにくくなります。
10. 無効値・空欄・表記ゆれの扱いを確認する
外部シートは人が編集するため、空欄、誤字、無効値、表記ゆれが入る可能性があります。
EA側では、無効値を読み込んだ時にどう扱うかを決めておく必要があります。
| 状態 | 例 | 確認すること |
|---|---|---|
| 空欄 | 設定値が未入力 | 前回値を使うか、初期値を使うか |
| 無効値 | ON/OFF欄に別文字が入る | エラー扱いにするか |
| 数値範囲外 | 上限を超える値 | 補正するか、拒否するか |
| 時刻形式不正 | 25:99、9時など | 読み込み失敗として扱うか |
| リスト不正 | 1001,,abc | 有効値だけ使うか、全体を拒否するか |
無効値の扱いは、安全性と運用性に関わります。EA側でログに理由を出せると、設定ミスを見つけやすくなります。
11. 外部シートで扱う情報の管理に注意する
外部シートには、EAの設定値や外部連携URL、通知設定などが含まれる場合があります。
共有設定やURL管理には注意が必要です。
- シートの共有範囲を確認する
- 編集できる人を限定する
- Webhook URLやAPIキーをそのまま記載しない
- 口座番号や個人情報を不要に記載しない
- 変更履歴を確認できるようにする
- 誤編集を防ぐために保護範囲を設定する
外部シートは便利ですが、共有範囲や編集権限を誤ると、意図しない設定変更や情報漏えいにつながる場合があります。
12. ログで確認したい項目
外部シート設定をEAへ反映する場合、ログで読み込み結果と反映内容を確認できることが重要です。
確認できるとよいログ項目は以下です。
- 外部シート読み込み機能がONか
- 読み込み先URLが設定されているか
- WebRequestが成功したか
- 取得した行数や列数
- 対象EAまたは対象口座の行を見つけたか
- 読み込んだ設定値
- 無効値や空欄の有無
- 前回値から変更があったか
- runtimeへ反映したか
- 通信失敗時にどの値を使ったか
ログ例として、以下のような項目が確認できると、外部シート設定がどこまで反映されたかを追いやすくなります。
SHEET_CFG_INIT: enabled=Y source=GOOGLE_SHEETS interval_sec=300
SHEET_CFG_REQUEST: url_status=SET method=GET
SHEET_CFG_RESULT: status=OK rows=12 cols=8
SHEET_CFG_MATCH: account=****1234 symbol=GOLD magic=1001 row=5
SHEET_CFG_VALUE: key=entry_enabled value=OFF result=OK
SHEET_CFG_VALUE: key=trade_direction value=BOTH result=OK
SHEET_CFG_APPLY: scope=FIRST_ENTRY runtime_entry_enabled=OFF
SHEET_CFG_SKIP: key=max_spread reason=INVALID_NUMBER value=abc
SHEET_CFG_FAIL: reason=WEBREQUEST_NOT_ALLOWED action=KEEP_LAST_VALID
SHEET_CFG_SUMMARY: applied=5 skipped=1 failed=0
上記は確認項目の例です。実際のログ名や表示形式は、使用しているEAや外部シート連携ツールの仕様によって異なります。
13. よくある症状と確認先
| 症状 | よくある原因 | 確認すること |
|---|---|---|
| 外部シートを読み込まない | WebRequest未許可、URL違い | WebRequest設定、URL、Expertsログ |
| 設定変更が反映されない | 読み込み周期前、対象行不一致 | 反映タイミング、対象口座・シンボル |
| 一部の値だけ反映されない | 列名不一致、無効値、空欄 | 列名、値形式、SHEET_CFG_SKIPログ |
| 想定外の設定で動く | 前回成功値を保持している | 通信失敗時の扱い、現在runtime値 |
| VPSでは反映されない | VPS側MT5のWebRequest設定不足 | VPS側URL登録、通信状態 |
| シート編集後にエラーが出る | 列構造変更、必須列削除 | シート構造、ヘッダー、必須列 |
外部シート連携の不具合では、MT5側、WebRequest、シート構造、EA側の解析処理を分けて確認してください。
14. 問い合わせ前に整理しておく情報
外部シート設定のEA反映について相談する場合は、以下を整理しておくと確認が進めやすくなります。
| 項目 | 整理する内容 |
|---|---|
| 使用EA | EA名、バージョン、使用しているsetファイル |
| 外部シート方式 | Google Sheets、GAS、CSV公開URL、ローカルファイルなど |
| 設定対象 | ON/OFF、時間、数値、対象シンボル、マジックナンバーなど |
| 反映範囲 | 新規エントリーのみ、通知のみ、外部記録のみなど |
| 読み込み周期 | 起動時のみ、定期読み込み、手動更新など |
| 発生症状 | 読み込まない、反映されない、一部だけ反映されないなど |
| ログ | Expertsログ、WebRequestログ、外部シート読み込みログ |
| 直前の変更 | URL変更、列名変更、GAS再デプロイ、set変更、VPS移行など |
Webhook URL、GAS URL、APIキー、口座番号、個人情報などが含まれる場合は、必要に応じて一部をマスクしてください。
15. 注意したいこと
MT5で外部シート設定をEAに反映する場合は、以下に注意してください。
- 外部シート変更が即時反映されるとは限らない
- Inputs初期値とruntime反映値を混同しない
- 通信失敗時にどの設定で動くかを確認する
- 無効値や空欄が入った時の扱いを決めておく
- シート構造や列名変更で読み込みに失敗する場合がある
- URLやAPIキーなどの秘密情報をそのまま共有しない
- 外部シート設定は利益や損失回避を保証するものではない
外部シート設定は、EAの設定管理や外部連携を補助するための仕組みです。売買判断、相場予測、利益保証を目的とするものではありません。
外部シート設定をEAへ反映する前の関連確認:外部シートの設定値をEAへ反映する場合は、Google Sheets連携、WebRequest設定、シート構造、EA側のruntime反映、ログ確認を分けて確認する必要があります。
- MT5でGoogle Sheets連携を確認すること
- MT5で外部シート設定が反映されない時の確認ポイント
- MT5のWebRequest設定で確認すること
- EAのログを問い合わせ前に確認する方法
- Google Sheets連携ツール
16. まとめ
MT5で外部シート設定をEAに反映する時は、管理する設定項目、Inputs初期値とruntime値の違い、シート構造、設定値形式、WebRequest、読み込み方式、反映タイミング、通信失敗時の扱い、ログ確認を整理することが重要です。
特に、外部シートの値がEA内部でどの範囲に反映されるのか、外部シートが取得できない時にどう動くのかを事前に確認してください。
EAファンクラブでは、MT4/MT5向けのGoogle Sheets連携ツール、外部シート設定反映、WebRequestチェックツール、ログ確認補助ツール、既存EA・インジケータの改修相談などについて、用途や環境に合わせた開発・改修相談を扱っています。
外部シート設定やEAへの反映でお困りの場合は、使用EA、外部シート構造、対象設定、WebRequest設定、Expertsログを整理したうえでご相談ください。
当サイトでは、投資助言、相場予測、売買判断、特定ブローカーへの誘導は行っていません。ご相談は、MT4/MT5・MQL4/MQL5の開発・設定・検証・不具合調査に関する内容に限ります。
関連ページ
- Google Sheets連携ツール
- Google Sheets連携ツールを使う前に確認すること
- MT5でWebRequestチェックツールを使う前に確認すること
- MT5のWebRequest設定で確認すること
- 導入診断・WebRequestチェックツール
- ログ確認補助ツール
- MT5でログ確認補助ツールを使う前に確認すること
- 不具合報告の方法
- 投資助言を行わない方針

