簡単さくさく インジケーターのカスタマイズ・自作の習得!

時刻や時間の表示

スポンサードリンク

datetime

メタトレーダー(MT4)のカスタムインジケーターで、日付や時刻、時間の表示方法です。
MQLでは、日付や時刻、時間は「datetime」の型を使います。
datetimeの変数は、TimeToStr()関数で文字列に変換できます。書式も設定できます。

例1

表示チャートの右から1番目のローソク足の時間(1番新しいローソク足の時間)と2番目のローソク足の時間をコメントで表示する

datetime dt0, dt1;

dt0 = Time[0];	// チャートの右から1番目のローソク足の時間
dt1 = Time[1];	// チャートの右から2番目のローソク足の時間

// Comment()でチャート画面左上に表示
Comment("dt0=",dt0,"\ndt1=",dt1);

結果

例2

パソコンの日時をエキスパート画面のログで表示させます。
エキスパート画面にログを表示させる方法は「Print関数でエキスパートにログを表示」ブログ記事を見てください。

datetime dt;

dt = TimeLocal();	// パソコンの日時を取得

// Print()で、エキスパートにログを表示
Print("dt=",dt);

// TimeToStr()で文字列変換と書式を設定できる
Print("TimeToStr使用 dt=",TimeToStr(dt));	// datetime型変数を文字列に変換
Print("日にちのみ=",TimeToStr(dt, TIME_DATE));	// 年月日の表示
Print("時間のみ=",TimeToStr(dt, TIME_MINUTES));	// 時間、分の表示
Print("時間のみ=",TimeToStr(dt, TIME_SECONDS));	// 時間、分、秒の表示
Print("日にちと時間=",TimeToStr(dt, TIME_DATE|TIME_SECONDS));	// 日時の表示

結果

プログラム例

新規作成したインジケーターファイルの「OnInit」関数の中に、追加します。

int OnInit()
  {
//--- indicator buffers mapping

	datetime dt0, dt1;

	dt0 = Time[0];	// チャートの右から1番目のローソク足の時間(1番新しいローソク足の時間)
	dt1 = Time[1];	// チャートの右から2番目のローソク足の時間

	// Comment()でチャート画面左上に表示
	Comment("dt0=",dt0,"\ndt1=",dt1);

	datetime dt;

	dt = TimeLocal();	// パソコンの日時を取得

	// Print()で、エキスパートにログを表示
	Print("dt=",dt);

	// TimeToStr()で文字列変換と書式を設定できる
	Print("TimeToStr使用 dt=",TimeToStr(dt));	// datetime型変数を文字列に変換
	Print("日にちのみ=",TimeToStr(dt, TIME_DATE));	// 年月日の表示
	Print("時間のみ=",TimeToStr(dt, TIME_MINUTES));	// 時間、分の表示
	Print("時間のみ=",TimeToStr(dt, TIME_SECONDS));	// 時間、分、秒の表示
	Print("日にちと時間=",TimeToStr(dt, TIME_DATE|TIME_SECONDS));	// 日時の表示

//---
   return(INIT_SUCCEEDED);
  }

スポンサードリンク

関連記事

コメント

  • トラックバックは利用できません。

  • コメント (0)

  1. この記事へのコメントはありません。

*

スポンサードリンク

About me

プログラマー。FXでMT4を使い始めました。
インジケーターをカスタマイズしたり、自作したくて
調べたり、勉強したことをブログ記事にしていきます。