
MQL4MQL5 日時
TimeCurrent()
- できること
- サーバー時刻(最後に受信したティックの時刻)を取得する
- 対応
- MQL4・MQL5
TimeCurrent() とは
取引サーバーの時刻(正確には、最後に受信したティックの時刻)を返す関数です。EA で「何時から何時まで取引する」といった時間帯の判定に使います。バックテストでは、テスト中の時刻が返ります。
TimeCurrent() の書式と引数
引数の組み合わせが違う 2 通りの書き方があります。
datetime TimeCurrent()
datetime TimeCurrent(MqlDateTime &dt_struct)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
dt_struct | MqlDateTime & | 必須 | 2つ目の書き方で、年・月・日・時・分・秒・曜日を受け取る MqlDateTime 構造体。 |
戻り値
サーバー時刻(datetime 型。1970年1月1日からの秒数)。
TimeCurrent() の使い方(コード例)
MQL4・MQL5 共通
// サーバー時刻で 9時〜20時 だけ取引する
MqlDateTime t;
TimeCurrent(t);
bool tradeTime = (t.hour >= 9 && t.hour < 20);
Print(TimeToString(TimeCurrent(), TIME_DATE | TIME_SECONDS), " 取引時間:", tradeTime ? "はい" : "いいえ");OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
TimeCurrent() の注意点
- サーバー時刻はブローカーごとに違い、日本時間とは多くの場合 6〜7 時間ずれています(夏時間で変わります)。
- 週末などティックが来ない間は、最後のティックの時刻のまま進みません。












