MARKET
MT4ツールを、数字で作る。— Team REI|平日の朝に「相場分析」を更新しています|

iTime ― 指定した足の始まった時刻を取得する(MQL4)|MQL4/MQL5リファレンス

MQLリファレンス›関数時系列・履歴iTime
(‘mt4’, ‘MQL4’)四本値の取得要書き換え(MQL5)

iTime指定した足の始まった時刻を取得する(MQL4)

指定した足が始まった時刻を取得する。ローソク足が切り替わったかどうかの判定に使う。

1書式

datetime iTime(
   string symbol,
   int    timeframe,
   int    shift
);

MQL5には無く、CopyTimeに置き換わる。

2引数

引数 内容
symbol / timeframe 銘柄と時間足
shift 何本前の足か

3戻り値

指定した足の開始時刻。

4使用例

static datetime lastBarTime = 0;
datetime t0 = iTime(NULL, 0, 0);
if(t0 != lastBarTime)
{
   lastBarTime = t0;
   Print("新しい足が始まった: ", t0);
}

MetaEditorでコンパイル0エラー・0警告を確認済み。

5MQL4→MQL5の違い

🔁 差分

MQL5にはこれらの関数自体が無い。CopyTime・CopyOpen・CopyHigh・CopyLow・CopyClose・CopyTickVolumeで、1本ずつでなく配列にまとめて取得する設計に変わる。1本だけ欲しいときも、要素数1の配列で受け取る。

6よくある罠

⚠ 実務で踏んだもの
  • 「新しい足の始まり」を検出する定番の書き方は、直前に読んだiTime(...,0)と今のiTime(...,0)を比べること。OnTickは1ティックごとに何度も呼ばれるので、これをしないと1本の足の間に同じ処理が何度も走ってしまう。

7関連する関数

REI-FX&BO OFFICIAL LINE

ツールのダウンロードパスワードは
公式LINEで、すぐ届きます。

友だち追加の自動返信でパスワードをお送りします。
新しいツールの公開や、検証でわかったことも先にお知らせします。

全ツールのパスワード新作ツールをいち早く配信は月1〜2回だけ
LINEで友だち追加 パスワードを受け取る ›

追加後にひとことメッセージをいただけると、ツールづくりの参考にします。