MQL5の日付の扱い

Pocket

datetime型

datetime型は1970年1月1日0時0分からの経過”秒数”を表す整数を格納します。
直接日付を指定するにはD”を使ってD’1970.01.01 00:00’などとします。

 

Printなどで出力すると日付の形式で出力されますが、%dとして出力するとdatetime型の値が1970年1月1日0時0分からの経過秒数を示していることが分かります。

MqlDateTime構造体

以下の構造体メンバを含みます。
  • year : 年
  • mon : 月
  • day : 日
  • hour : 時間
  • min : 分
  • sec : 秒
  • day_of_week : 日曜が0,月曜が1…,土曜が6
  • day_of_year : 1月1日を0とした日番号

datetime型からMqlDateTime型へ変換して使う

OnCalculate()で渡される日付時刻データはdatetime型なのでTimeToStruct()を使ってMqlDateTime型に変換できます。MqlDateTime型にしておけば時間の扱いが楽になりそうです。
 
Pocket

コメントを残す

メールアドレスが公開されることはありません。