【MT5/MQL5】CopyRatesのMqlRates.timeとDST切替時の履歴バー時刻について

MetaTrader 5のCopyRates()およびMqlRates.timeについて、プラットフォームの仕様を確認したく質問いたします。

ブローカーサーバーが冬時間UTC+2、夏時間UTC+3で運用され、DST終了時にサーバー時計が1時間戻るケースを想定しています。

確認したいのは、特定ブローカーの運用ではなく、MT5/MQL5の時刻データの仕様です。

質問1:MqlRates.timeの意味

CopyRates()で取得したMqlRates.timeは、チャートに表示されるサーバー時刻のバー開始時刻と同じ値でしょうか。

それともUTC上の絶対時刻を保証する値でしょうか。

質問2:DST終了時の重複時刻

サーバー時計が1時間戻り、同じサーバー時刻に対応するバーが実際に2つ存在する場合、CopyRates()はそれらをどのように扱いますか。

同じtime値を持つ2本のバーが存在する可能性はありますか。

質問3:過去バーのUTC時刻の確定

端末停止後にCopyRates()で過去のM15バーを取得した場合、それぞれのバーのUTC開始時刻を一意に確定できる公式APIやメタデータはありますか。

過去のブローカーサーバーUTCオフセットを取得する方法があれば教えてください。

質問4:公式仕様

これらについて、MetaQuotesの公式仕様、関連ドキュメント、またはプラットフォームが保証する動作をご存じでしたら教えてください。

推測や特定ブローカーでの経験談ではなく、可能な限り公式仕様に基づく情報を希望しています。

参考資料:
https://www.mql5.com/en/docs/series/copyrates

https://www.mql5.com/en/docs/constants/structures/mqlrates

https://www.mql5.com/en/docs/dateandtime

よろしくお願いいたします。

Documentation on MQL5: CopyRates / Timeseries and Indicators Access
Documentation on MQL5: CopyRates / Timeseries and Indicators Access
  • www.mql5.com
Gets history data of MqlRates structure of a specified symbol-period in specified quantity into the rates_array array. The elements ordering of the...
この種の質問は、これがEAに関するものなら、https://www.mql5.com/ja/forum/ea に投稿してください。

ところで、なぜ夏時間を問題視する必要があるのですか?
夏時間または冬時間への切り替えは日曜日に行われますので、データの重複が起こることはありません。
金曜日の冬時間の24時に終わり、月曜日の夏時間の0時から始まりますから、サーバー時間そのままで何の問題もありません。
UTCやJSTなどをベースに考えるから、1時間のずれが気になるだけです。

MQL5フォーラム: エキスパートアドバイザーと自動取引
MQL5フォーラム: エキスパートアドバイザーと自動取引
  • www.mql5.com
このセクションは自動取引プロセスのために使われるカスタムエキスパートアドバイザーについてのディスカッションを目的としています。
Shino Unada #:
この種の質問は、これがEAに関するものなら、https://www.mql5.com/ja/forum/ea に投稿してください。

ところで、なぜ夏時間を問題視する必要があるのですか?
夏時間または冬時間への切り替えは日曜日に行われますので、データの重複が起こることはありません。
金曜日の冬時間の24時に終わり、月曜日の夏時間の0時から始まりますから、サーバー時間そのままで何の問題もありません。
UTCやJSTなどをベースに考えるから、1時間のずれが気になるだけです。

ご回答ありがとうございます。

ご指摘のとおり、通常のFX取引ではDST切替が週末に行われるため、実際のバーが重複しない可能性があることは理解しています。

ただ、今回確認したいのはEAの売買ロジックではなく、MT5のCopyRates()およびMqlRates.timeの公式仕様です。

特に、端末停止後に過去のM15バーを再取得した場合、各バーのUTC開始時刻を一意に確定できる公式APIやメタデータが存在するかを知りたいと考えています。

また、DST終了時にサーバー時計が巻き戻り、仮にその時間帯にバーが存在した場合、MT5がそれらをどのように扱うかも確認したい点です。

これらについて、MetaQuotesの公式仕様や関連資料をご存じでしたら、ご教示いただけますと幸いです。

変更は日曜日の夜ですから、金曜日までのデータは既に確定済のはずです。

どういう意味なのかさっぱり分かりません。

たぶんそんな公式仕様はないと思いますが、さらに詳しく知りたのなら英語フォーラムで質問してください。

Shino Unada #:

変更は日曜日の夜ですから、金曜日までのデータは既に確定済のはずです。

どういう意味なのかさっぱり分かりません。

たぶんそんな公式仕様はないと思いますが、さらに詳しく知りたのなら英語フォーラムで質問してください。

ご丁寧に何度もご回答いただき、ありがとうございました。

DST切替が週末に行われることや、実際の取引データへの影響について、大変参考になりました。

ご助言いただいたとおり、より詳しい技術仕様については英語フォーラムでも質問してみました。

お忙しい中、お時間を割いていただき、ありがとうございました。