現在のタイムフレーム設定を取得する (Period)
カレントチャートのタイムフレーム(ローソク足 1 本あたりの時間)を調べるには、組み込みの _Period 変数 か Period 関数 を使用します。
結果として、下記のような ENUM_TIMEFRAMES
型の値を得ることができます。
値 | 意味 | 値 | 意味 |
---|---|---|---|
PERIOD_M1 | 1 分 | PERIOD_H1 | 1 時間 |
PERIOD_M2 | 2 分 | PERIOD_H2 | 2 時間 |
PERIOD_M3 | 3 分 | PERIOD_H3 | 3 時間 |
PERIOD_M4 | 4 分 | PERIOD_H4 | 4 時間 |
PERIOD_M5 | 5 分 | PERIOD_H6 | 6 時間 |
PERIOD_M6 | 6 分 | PERIOD_H8 | 8 時間 |
PERIOD_M10 | 10 分 | PERIOD_H12 | 12 時間 |
PERIOD_M12 | 12 分 | PERIOD_D1 | 1 日 |
PERIOD_M15 | 15 分 | PERIOD_W1 | 1 週間 |
PERIOD_M20 | 20 分 | PERIOD_MN1 | 1 カ月 |
PERIOD_M30 | 30 分 |
現在のタイムフレームの秒数を取得する (PeriodSeconds)
ローソク足 1 本あたりが、何秒であるかを取得するには、PeriodSeconds 関数 を使用します。
引数を省略するか、PERIOD_CURRENT
を指定すると、現在のチャートの足 1 本あたりの秒数を返します。
特定のタイムフレームの足 1 本あたりの秒数を調べたいときは、ENUM_TIMEFRAMES
型のいずれかの値を指定します。
現在のタイムフレームのテキスト表現を取得する
_Period
で取得した ENUM_TIMEFRAMES
値を EnumToString
関数に渡すと、その enum 値の文字列表現を取得することができます。
PERIOD_M30
といった文字列ではなく、後ろの M30
といった部分だけを取得したい場合は、次のように StringSubstr
関数を使って部分文字列を取得すればよいでしょう。
関連記事
- MetaTrader/MQL: チャート上に矩形を描画する (OBJ_RECTANGLE, CChartObjectRectangle)
- MetaTrader/MQL: チャート上にラベルを描画する (OBJ_LABEL, CChartObjectLabel)
- MetaTrader/MQL: 組み込み関数の実行に失敗したときにエラー情報を表示する (GetLastError, ErrorDescription)
- MetaTrader/MQL: 時刻情報を扱う (datetime, TimeLocal, TimeCurrent, TimeToString)
- MetaTrader/MQL: デバッグモードでコンパイルされているか調べる (_DEBUG, _RELEASE, MQL5_DEBUGGING)
- MetaTrader/MQL: MQL での色の表現方法 (color)
- MetaTrader/MQL: チャートの描画スタイルを設定する (ChartSetXxx)