エキスパートアドバイザー内のすべてのセッションフィルターはサーバー時間で記述されており、サーバー時間とはブローカーが選択した時刻基準のことです。サーバーによってはUTCで動作するものもあれば、冬はUTC+2、夏はUTC+3で動作するものもあり、時刻が変更されるサーバーであっても、その変更が行われる週末はすべて同じというわけではありません。 このツールは、フォーラムの投稿ではなく、銘柄自身の価格履歴から時刻を読み取ります。FXおよびCMEの週の終値はニューヨーク時間の17:00に確定するため、各週の終値のサーバー時刻をUTCのその時点と比較することで、その週のサーバーのオフセットが算出されます。 過去60週間で、これは約60回の測定値(終値ごとに1回)に相当し、そのデータ列から、ツールは時計が移動したかどうか、いつ移動したか、そしてどのカレンダー(米国または欧州の夏時間)に基づいて移動したかを判別します。その後、今後各週のロンドン、ニューヨーク、東京、シドニーの市場開始時刻をサーバー時間で表示します。

Exnessデモサーバー、マーケットウォッチのシンボル5つ、それぞれ60週間分のH1バー、1回の処理に12.3ミリ秒。現在は最新の通常引け時のオフセットです。「Calendar」には「固定」「米国」「EU」と表示され、米国と欧州の切り替え日がウィンドウ内に含まれるかどうかも示されます(テスト済み)。 「不規則」は、周囲の終値と一致しない終値をカウントします。ここでは、金の米国祝日による4回の早期引けが該当します。「日曜」は、少なくとも1本のバーを含むサーバー上の日曜日をカウントします。BTCUSDは24時間取引されており、測定対象となる終値がありません。ページに収まるよう、パネルのフォントサイズを4に設定してキャプチャしました。デフォルトは8です。
問題点
「10:00から13:00まで取引」といったセッションフィルターは、サーバーの時刻に基づいてロンドンまたはニューヨークの取引時間を指定するものです。これは、2つの時計の時刻差が一定である間のみ正確ですが、年に2回、その差が変化します。 欧州と米国では、時計の切り替えが行われる週末が異なります。2026年には、米国は3月8日に、欧州は3月29日に時計を進め、秋には欧州が10月25日に、米国が11月1日に時計を戻します。 春に3週間、秋に1週間、ロンドンはニューヨークより5時間ではなく4時間進んでいる状態となり、どちらか一方のカレンダーに従うサーバーは、もう一方の都市との時刻がずれてしまいます。
どの週が特定のEAに影響を与えるかは、サーバー独自のルールに依存しており、そのルールがプログラムが読み取れる形で記述されていることはめったにありません。 TimeTradeServer() − TimeGMT() は今日のオフセットを返しますが、これは PC の時計とタイムゾーンから計算されたものであり、バックテストが行われた去年の 3 月や来月については何も示していません。
測定対象
基準点。 銀行間外国為替の週、および金属や米国指数先物のCMEの週は、17:00 America/New_York に終了します。 シンボルのH1ヒストリーにおいて、InpMinGapHours時間(デフォルトは20)以上の休止が発生するたびに、このツールはclose = 休止前の最後のH1バーの始値+1時間、 U = それに最も近い17:00(ニューヨーク時間)を、米国の夏時間規則に従ってUTCに変換した時刻とします。close − U は、その終値時点におけるサーバーのオフセットとなります。祝日による中断(クリスマスイブ、大晦日)も同様に17:00で終了し、アンカーとして扱われます。
複数の銘柄がある場合、最も一般的なオフセットとカレンダーが基準となり、これと一致しない銘柄はログに明記されます。例えば、ニューヨーク時間16:00に取引が終了する株式CFDは「1時間低い」と表示され、24時間365日取引される仮想通貨銘柄には終値が全く存在しません。
3つのデモサーバー、3つの時計
2026年10月7日のEURUSD、H1チャートに添付。最新のバー(2025年8月13日~2026年10月7日)までの60週間分のH1バー。 シンボルリストを除き、すべての設定はデフォルトのまま(Exnessでは「*」、他の2つでは指定されたシンボル名)。
| サーバー | 銘柄 | クローズ | 現在のオフセット | カレンダー | スイッチ確認済み(その後の最初のクローズ) | 不規則なクローズ | バーが表示される日曜日 |
|---|---|---|---|---|---|---|---|
| Exness-MT5Trial17 | EURUSD、GBPUSD、USDJPY、XAUUSD | 各62 | UTC+0 | なし、テスト済み | — | XAUUSD 4、その他 0 | 60 |
| ICMarketsSC-デモ | EURUSD、GBPUSD、USDJPY | 各62 | UTC+3 | 米国 | 2025年11月8日 −1時間、2026年3月14日 +1時間 | 0 | 0 |
| MetaQuotes-デモ | EURUSD、GBPUSD、USDJPY、XAUUSD | 62 / 40 / 40 / 62 | UTC+3 | 4つすべてでEU;オフセット:4つのうち3つが一致 | 2025年10月31日 −1時間、2026年4月4日 +1時間 | EURUSD 1、XAUUSD 4 | 0 |

3つのデモサーバーにおけるEURUSDのニューヨーク時間17:00の終値から推測されるオフセット。H1バーは2025年8月1日から2026年10月7日まで、サーバーごとに64回の終値、終値ごとに1つのドット。破線は米国の切り替え、点線は欧州の切り替えを示す。 MetaTrader5のPythonパッケージおよびターミナルのMCPインターフェースで読み取ったH1バーの時刻に基づいて描画されており、ツール自体の出力に基づくものではない。
Exness:通年UTC。 クリスマスイブや大晦日の取引休止期間を含め、62回の終値すべてが+0:00と表示されています。 変動するのは終値そのものです。ニューヨークが夏時間(3月中旬から11月上旬)の期間中は、その週の最後のH1バーはサーバー時間21:00で終了し、それ以外の期間は22:00で終了します。 毎週日曜日には21:00または22:00からのバーが存在するため、日足チャートには6本目の短いローソク足が表示されます。金(ゴールド)も同様のオフセットがあり、4つの不規則な終値が追加されます。これらはすべて米国の祝日による早めの引けです: ブラックフライデー 2025年11月28日(−2時間)、クリスマスイブ(−3時間)、ジューンティーンス 2026年6月19日、および金曜日 2026年7月3日(各−4時間)。
IC Markets:米国カレンダーに基づき、冬はUTC+2、夏はUTC+3。 オフセットは、2025年11月1日と8日、および2026年3月7日と14日の終値の間で変化します。これらは、米国でサマータイムの切り替えが行われた週末です。FXの取引週は、年間を通じてサーバー時間の月曜日00:00から金曜日24:00までであり、日曜日のバーは表示されません。
MetaQuotes-Demo:欧州式カレンダーに基づき、UTC+2/UTC+3。 切り替えは、 2025年10月25日と31日、および2026年3月27日と4月4日の終値の間に発生します。 EURUSDの終値のうち1つが不規則です。2026年3月13日(金)、米国と欧州の切り替え期間の間に、最後のバーはサーバー時間00:00(ニューヨーク時間17:00の1時間後)に終了しましたが、その前後の終値は定刻通りでした。 GBPUSDとUSDJPYについては、このターミナルでは2026年1月以降のH1データしか存在しないため、春の切り替えのみが表示されています。 金はこれら3つの通貨ペアとは異なり、ジャーナルにも記載されている通り、2026年春の欧州取引時間切り替え以降、週足終値はサーバー時間23:00(ニューヨーク時間17:00の1時間前)に固定されているため、現在、単独ではUTC+2:00と表示されている。
今後数週間における意味合い。 2026年10月7日時点の3つの予測:Exnessでは、ロンドン市場は10月23日までサーバー時間07:00に、10月26日からは08:00に、ニューヨーク市場は10月30日まで12:00に、11月2日からは13:00にそれぞれ開場します。 IC Marketsでは、ロンドン市場は10:00に開場しますが、10月26日の週のみ11:00となります。 MetaQuotes-Demoでは、ニューヨーク市場は15:00に開場しますが、同週のみ14:00となります。「ロンドン 10:00」または「ニューヨーク 15:00」と記述されたフィルターは、2026年の52週のうち48週についてはUTC+2/+3サーバーのいずれにおいても、2026年の52週のうち48週では正しく機能しますが、残りの4週(春に3週、秋に1週)では誤った結果となります。各フィルターは異なるサーバーで動作しており、2027年および2028年には、春の不一致期間が2週間に及びます。
3つのライブ接続すべてにおいて、クロスチェックの結果は履歴と一致しました。TimeTradeServer() − TimeGMT() の結果は、IC MarketsおよびMetaQuotes-Demoでは+3:00、Exnessでは+0:00となりました。 このページの作成中に、1つのターミナルがログインせずに起動されました。オフライン状態では、+3:00のサーバー上で同じ差が+0:00と表示されました。そのため、ターミナルが接続されていない場合、このツールはチェックをスキップし、ジャーナルに1行を記録します。
レポートの独立した検証
このレポートは、MetaTraderの外でも再集計可能です。 このページで使用されているスクリプトは、サマリーファイルからウィンドウのみを読み取り、ExnessではターミナルのMCPインターフェースを介して、他の2つのサーバーではMetaTrader5のPythonパッケージを介して、同じH1バーの時刻を取得し、ツール独自の夏時間ルールではなく、Pythonのタイムゾーンデータベースを使用して、上記で説明したすべてを再計算します: すべてのアンカー行、すべてのスイッチ行とそのカレンダー、すべてのサマリーカウンター、判定のオフセットとカレンダー、そしてすべての予測行です。ここに示した3回の実行において、328、250、284の値で完全に一致し、差異は1つもありませんでした。 このツールの定義については、まず10件の手作業による検証ケース(8つの合成バー系列:固定、米国、欧州、反転スイッチ、祝日による一時停止、データの欠落、1週間隔で発生する2回の早期引け、および2つの予測)で検証が行われ、意図的に仕込まれた10個のエラーがすべて検出されました。
使用方法
エキスパートアドバイザーを任意のチャートにアタッチします。InpSymbols を空にすると、そのチャートのシンボルを監査します。* を指定すると、マーケットウォッチ内のすべてのシンボルを監査します。カンマ区切りのリストを指定すると、そのリスト内のシンボルを監査します。週末で取引が終了するシンボル(主要通貨、金、指数先物など)を選択してください。仮想通貨のシンボルには、測定対象となる終値がありません。 監査は1回(またはInpRefreshMinutesごとに)実行され、シンボルごとに1行ずつ、不規則な終値、切り替え、判定結果、および予測値をエキスパート・ジャーナルに出力し、チャート上に表を描画し、CSVファイルに書き込みます。このツールは履歴データの読み取りのみを行います。コード内に取引機能はなく、DLLもネットワークアクセスも使用しません。 * が付いている場合、Market Watchにすでに登録されている銘柄のみを読み込みます。 このツールはシンボルを選択することはありませんが、リストにあるシンボルがマーケットウォッチに存在せず、その履歴を最初にダウンロードする必要がある場合、ターミナルが自動的にマーケットウォッチに追加します(実測:EURCHFとAUDNZDは初回読み込み時に追加されましたが、2回目に読み込まれたAUDUSDは追加されませんでした); ジャーナルでは、初回読み込み前にそのような銘柄名を記載しています。
まずジャーナルをお読みください。IC Markets における EURUSD の行は以下の通りです。
EURUSD 62 アンカー(週末 60、祝日 2) | 現在 UTC+3:00 | 表示 +2:00 +3:00 | 切り替え 2 回: 2025.11.08 US -60, 2026.03.14 US +60 | レジーム US, dst_tested 1 | 不規則 0 | 日曜日のバー 0 日
これによると、EURUSDは当該期間中に62回クローズしており、サーバーは現在UTCより3時間進んでいるが、以前は2時間進んでいたこともあり、時刻は2回変更された。2025年11月8日の前の週に1時間戻り、2026年3月14日の前の週に1時間進んだ。いずれも米国日付に基づく。 続く予測ラインには、時刻が変更される各日の始値時点におけるサーバー時刻が記載されています。例えば
予測 2026.10.26 月 オフセット +3:00 ロンドン 11:00 ニューヨーク 15:00 東京 03:00 シドニー 日 23:00 (ロンドン)
週末で停止する複数のシンボルを使用します。結論はそれらの過半数であり、それに同意しないシンボルが名指しされます。
入力
| 入力 | デフォルト | 意味 |
|---|---|---|
| InpSymbols | "" | シンボル:空 = チャートシンボル、* = マーケットウォッチ、それ以外はCSVリスト |
| InpWeeks | 60 | 読み込むH1の過去データ週数(60週で夏時間・冬時間の両シーズンをカバー) |
| InpMinGapHours | 20 | これほど長い価格データの一時停止は、市場休場(週末・祝日)を意味します |
| InpProjectWeeks | 8 | サーバー時間で、プロジェクトのセッション開始までの週数 |
| InpLondonOpen | 08:00 | ロンドン市場開場、ロンドン現地時間 |
| InpNewYorkOpen | 08:00 | ニューヨーク市場開始(ニューヨーク現地時間) |
| InpTokyoOpen | 09:00 | 東京市場開場、東京現地時間 |
| InpSydneyOpen | 07:00 | シドニー市場開始(シドニー現地時間) |
| InpMaxExamples | 5 | Journal: 記号ごとに印刷される不規則なアンカー |
| InpWriteCsv | true | アンカー、スイッチ、要約、投影、および判定のCSVファイルを出力する |
| InpShowPanel | true | 結果表をチャート上に描画する |
| InpPanelCorner | CORNER_LEFT_UPPER | パネルの角 |
| InpPanelFontSize | 8 | パネルのフォントサイズ |
| InpPanelX | 10 | パネルのX方向オフセット(px) |
| InpPanelY | 18 | パネルの Y オフセット(px) |
| InpRefreshMinutes | 0 | N分ごとに再監査(0 = 1回のみ監査) |
範囲外の値(2~520 週以外の週数、6~60 時間以外の一時停止、1~52 週以外の予測、HH:MM 形式ではないオープン時間)は、それぞれ 1 行のジャーナルを記録してクリップまたはデフォルト値にリセットされます。エキスパートアドバイザーが起動を拒否することは決してありません。
出力ファイル
すべてのファイルは MQL5\Files\BrokerClockAuditor\ に保存され、ヘッダー行付きでセミコロン区切りとなります。ファイル名は <symbols>_<weeks>w_<chart id>_… となっており、2 つのチャートが互いに上書きされることはありません。
制限事項(平易な説明)
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/78123
Advanced Prop-firm Trade Panel based on S-R
MetaTrader 5用の、プロップファーム向けリスクガード機能と隠しサポート・レジスタンス検出機能を内蔵した手動取引パネル。
CajasTF – MT5用統合マルチタイムフレームサイドパネル
スマートな色分け機能、独立した価格目盛、ローソク足の残り時間カウントダウンタイマーを備えた、リアルタイムのマルチタイムフレーム対応サイドパネルミニチャート。
Prop Daily Loss Meter
プロップファーム口座の1日あたりの損失上限のうち、すでにどれだけ使用され、どれだけ残っているかを表示します。読み取り専用のインジケーターです。
Accelerator Oscillator (AC)
アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。