![Bars](https://celebpanda.com/wp/wp-content/uploads/2021/07/Bars.jpg)
指定した通貨ペア・時間軸のヒストリカルデータ内のバー数を返します。
関数呼び出しには2つのバリアントがあります。
Bars
関数書式(ヒストリカルデータの全てのバーを要求する):
int Bars(
string symbol, // 通貨ペア
ENUM_TIMEFRAMES timeframe // 時間軸
);
関数書式(ヒストリカルデータの指定して期間のバーを要求する):
int Bars(
string symbol, // 通貨ペア
ENUM_TIMEFRAMES timeframe // 時間軸
datetime start_time, // 開始日時
datetime stop_time, // 終了日時
);
- 引数
引数名 | 初期値 | I/O | 詳細 |
symbol | - | In | -通貨ペア名。 NULL指定は現在の通貨ペアを意味します。 |
timeframe | - | In | 時間軸。 ENUM_TIMEFRAMES列挙の値を指定します。 |
start_time | - | In | 開始日時。 最初の要素に対応するバー日時。 |
stop_time | - | In | 終了日時。 最後の要素に対応するバー日時。 |
- 戻り値
start_timeとstop_timeの引数が指定されている場合、指定された期間内のバーの数を返します。
それ以外の場合、バーの合計数を返します。
- 備考
引数で指定した時間軸のヒストリカルデータが、この関数の呼び出し時間までにデータが生成されない場合、または関数呼び出し時点でヒストリカルデータが取引サーバーと同期されていない場合、戻り値は0を返します。
- サンプルソース
void OnInit() {
datetime get_start = D'2020.01.03 12:00:00'; // 取得開始日時
datetime get_end = D'2020.01.05 12:00:00'; // 取得終了日時
int get_bar = 0;
get_bar = Bars( // バー取得
Symbol(), // 通貨ペア
Period(), // 時間軸
get_start, // 開始日時
get_bar // 終了日時
);
printf( "取得バー数%d ,取得期間 %s ~ %s",
get_bar ,
TimeToStr(get_start),
TimeToStr(get_end)
);
}