MQL では、日付や時刻の情報を datetime 型 の値として扱います。
ローカル PC 上の現在時刻 (TimeLocal)
ホスト PC 上の現在時刻は TimeLocal 関数を使って取得できます(1970-01-01 00:00:00
からの経過秒数)。
取得した datetime
値を TimeToString 関数に渡すと、文字列表現の時刻に変換することができます。
datetime now = TimeLocal();
string s1 = TimeToString(now, TIME_DATE); // 2015.10.23
string s2 = TimeToString(now, TIME_MINUTES); // 21:00
string s3 = TimeToString(now, TIME_SECONDS); // 21:00:00
string s4 = TimeToString(now, TIME_DATE | TIME_MINUTES); // 2015.10.23 21:00
string s5 = TimeToString(now, TIME_DATE | TIME_SECONDS); // 2015.10.23 21:00:00
サーバ上の現在時刻 (TimeCurrent)
MetaTrader を実行しているホスト PC 上の現在時刻ではなく、ブローカーのサーバーから最後に取得した現在時刻 (time of the last quote receipt) を取得するには、TimeCurrent 関数を使用します。
使い方は TimeLocal
関数と同様です。
datetime serverTime = TimeCurrent();
string s1 = TimeToString(now, TIME_DATE); // 2015.10.23
// ...
関連記事
- MetaTrader/MQL: デバッグモードでコンパイルされているか調べる (_DEBUG, _RELEASE, MQL5_DEBUGGING)
- MetaTrader/MQL: MQL での色の表現方法 (color)
- MetaTrader/MQL: チャートの描画スタイルを設定する (ChartSetXxx)
- MetaTrader/MQL: 新しいチャートを開く (ChartOpen)
- MetaTrader/MQL: シンボルのスプレッド情報を取得する (SymbolInfoInteger)
- MetaTrader/MQL: 実行中のプログラムの種類(スクリプト/インジケーター/EA)を判別する (MQL5_PROGRAM_TYPE)
- MetaTrader/MQL: インジケーターの実装例 - Momentum(モメンタム)