MQLで日本時間を取得する関数を作りました

MQLだと日本時間を簡単に取れない

MQLを使っているとGMTを取る関数は用意されているものの、JSTを取る関数は用意されていません。
そこで、JSTを取る為の関数を用意しました。

やり方としては、MT4で取得できる現在時間とGMTとの差分を取り、現在時間に足してやるという方法です。
こうすることで、MT4側では証券会社が設定したローカルな現在時間との差分を埋めて、日本時間にすることが出来るというわけです。

//+——————————————————————+
//| 日本時間との差分取得 |
//+——————————————————————+
int GetDiffHour()
{
datetime DiffTime = TimeCurrent() – TimeGMT();
int DiffHour = TimeHour(DiffTime);
// TimeCurrentとTimeGMTの秒数がずれることがあるので、59分とかは繰り上げる
if (TimeMinute(DiffTime) > 30) {
DiffHour += 1;
}
return 9DiffHour; // JSTとの差分
}
//+——————————————————————+
//| JST取得 |
//+——————————————————————+
int GetJSTHour(datetime CTime)
{
return TimeHour(CTime) + GetDiffHour();
}
view raw GetJSTHour.mq4 hosted with ❤ by GitHub

最後に

為替をやっていると変動しやすい曜日や時間帯などあるので、こういった便利関数を用意しておくと、MQLも書きやすいのかもしれませんね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です