【MQL5】iTime関数について

MQL5リファレンス
スポンサーリンク
スポンサーリンク

iTime関数の働き・役割

【広告】

iTime関数は、特定の通貨ペアのチャートにおける特定のバーの開始時間を知るために使われる関数です。iTime関数は、価格の動きを分析する際に、どのタイミングで市場に変動があったのかを正確に把握するために役立ちます。

iTime関数の引数について

iTime関数引数戻り値の構成は以下のようになっています。

datetime  iTime( 
   const string        symbol,         // 銘柄 
  ENUM_TIMEFRAMES     timeframe,      // 期間 
  int                shift           // シフト 
  );

iTime関数には三つの主要な引数があります。

最初の引数symbolは、どの通貨ペアまたは金融商品に関する時間データを取得するかを指定します。

_Symbolあるいは、Symbol関数NULLなどを記述すると、現在開いているチャートのシンボルが自動的に選ばれます。

二つ目の引数timeframeは、どの時間枠を基にデータを取得するかを決めます。

データ型ENUM_TIMEFRAMESとなっており、その中の定数リストから希望の時間軸識別子を選択します。

例えば、1時間足のデータを取得したい場合はPERIOD_H1を使います。

最後の引数shiftは、現在のバーから何バー分遡ってデータを取得するかを決めるためのものです。

iTime関数の戻り値について

iTime関数を呼び出すと、指定されたバーの開始時刻をdatetime型で返します。

iTime関数が返す戻り値は通常、UNIXタイム形式の整数値です。

UNIXタイムというのは、コンピュータの世界で時間を数える一つの方法で、普段我々が接している年月日や時分秒で日時を考えず、ただの一連の数字、つまり「秒数」として扱う表記法になります。

UNIXタイムについての詳細は↓の記事をご参照ください

もし何らかの理由で時刻データを取得できなかった場合、iTime関数は0を返します。エラーの原因を詳しく知りたい場合はGetLastError関数を使用します。

iTime関数を使う際の注意点

iTime関数は、呼び出される度に最新のデータを提供するため、常に通信を行います。そのため、特定のシンボルや時間枠でデータが初めて要求された場合には、その準備に時間がかかることがあります。また、iTime関数は過去の呼び出し結果を記録せず、データのキャッシュも保持しませんので、同じ情報を頻繁にリクエストするとパフォーマンスに影響を与える可能性があります。

iTime関数を使ったサンプルコード

以下に、iTime関数の基本的な使用方法を示すサンプルコードを紹介します。

void OnStart() {
  // EURUSDの1時間足チャートで最新バーの開始時刻を取得
  datetime latestBarTime = iTime("EURUSD", PERIOD_H1, 0);

  // 取得した時刻をプリント
  Print("最新バーの開始時刻: ", TimeToString(latestBarTime, TIME_DATE|TIME_MINUTES));
  
  // 5バー前の時刻を取得
  datetime pastBarTime = iTime("EURUSD", PERIOD_H1, 5);
  
  // 取得した過去の時刻をプリント
  Print("5バー前の開始時刻: ", TimeToString(pastBarTime, TIME_DATE|TIME_MINUTES));
}

このコードは、EURUSDの1時間足チャートにおける最新のバーと、5バー前のバーの開始時刻を取得し、日時形式で表示します。これにより、トレーダーは特定の時点での市場の動きを見ることができ、より情報に基づいた取引決定を行うことが可能になります。

<参照>

タイムスタンプ/OnStart関数/Print関数/TimeCurrent関数//ENUM_TIMEFRAMES/datetime型

UNIXタイム/TimeToString関数/StringToTime関数/TimeToStruct関数/MqlDateTime構造体/TimeLocal関数/TimeCurrent関数

————————————————————————————–

※当サイトでは、プログラミング経験ゼロの方でも、プログラミングの基礎から学べる

<MQL5でEAを作ろう講座>

をメインコンテンツとして展開しています。

【言語基礎編】

【中級実際にEAを作ろう編】

【発展編・MT5用EAを作る工程をカスタマイズしていく】

第0回から、順を追って勉強していけばプログラミングの経験がなくてもMQL5を使って、MT5用のEAが作れるように書いています。最初は難しいと感じるかもしれませんが、繰り返し勉強していく事で自然とスキルが身についていくはずです。興味ある方は是非ご覧ください。

【広告】

タイトルとURLをコピーしました