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関数でエキスパートにログを表示
ログの出力 メタトレーダー MT4のインジケーターでエキスパート画面にログの表示をするには、Print関数を使います。 インジケーターの中でPrint関数を使うとエキスパート画面にログが表示されます。 そのため、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); }
コメント