SeriesInfoInteger 関数
この関数は、指定した通貨ペア、時間軸のヒストリカルデータに関する情報を取得します。
データ型と構成・戻り値
この関数には 2つの型があります。
long SeriesInfoInteger(①, ②, ③);
bool SeriesInfoInteger(①, ②, ③, ④);
戻り値は、指定した通貨ペア、時間軸のヒストリカルデータの情報を long型 または bool型で返します。bool型の場合、引数④が取得できた時は true、それ以外は falseを返します。
発生するエラーについては、GetLastError関数で取得することができます。
引数 [4]
SeriesInfoInteger関数は 3~4個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | symbol_name | string | - | - | 対象とする通貨ペア名。 「NULL」は現在のチャートの通貨ペアを表します。 |
② | timeframe | enum | - | - | 時間軸。ENUM_TIMEFRAMES 列挙値から選択。0は現在のチャートの時間軸を選択したことになります。 |
③ | prop_id | enum | - | - | 取得するプロパティ情報の識別子。 ENUM_SERIES_INFO_INTEGER から選択します。 |
④ | long_var | long& | - | - | 指定した情報の値を受け取る long型の変数。 関数が bool型の時に設定します。 |
使用例
SeriesInfoInteger関数によるヒストリカルデータ情報の取得
SeriesInfoInteger関数を使って指定した通貨ペア、時間軸のヒストリカルデータ情報を取得します。
一部の結果については情報を読み取りやすいようにキャストしています。
コード
// SeriesInfoInteger関数によるヒストリカルデータ情報の取得
#property strict
void OnInit() {
Print("①バー数:", SeriesInfoInteger(NULL, PERIOD_H1, SERIES_BARS_COUNT)); // 0
Print("②バーの最も古い日時:", (datetime)SeriesInfoInteger(NULL, PERIOD_H1, SERIES_FIRSTDATE)); // 1
Print("③サーバー上の最も古い日時", (datetime)SeriesInfoInteger(NULL, PERIOD_H1, SERIES_SERVER_FIRSTDATE)); // 2
Print("④バーの最新の日時:", (datetime)SeriesInfoInteger(NULL, PERIOD_H1, SERIES_LASTBAR_DATE)); // 3
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
各行の後ろにあるコメントの数値は、引数③の識別子に対応する値です。識別子の代わりにこの値を使うこともできます。
結果
bool型SeriesInfoInteger関数によるヒストリカルデータ情報の取得
bool型SeriesInfoInteger関数を使って指定した通貨ペア、時間軸のヒストリカルデータ情報を取得します。bool型の場合、引数④にセットする変数を用意する必要があります。
コード
// bool型SeriesInfoInteger関数によるヒストリカルデータ情報の取得
#property strict
void OnInit() {
long a; datetime b, c, d; // bool型SeriesInfoInteger関数の引数④に設定する変数
bool a1,b1,c1,d1;
a1 = SeriesInfoInteger(NULL, PERIOD_H1, SERIES_BARS_COUNT, a); // 0
b1 = SeriesInfoInteger(NULL, PERIOD_H1, SERIES_FIRSTDATE, b); // 1
c1 = SeriesInfoInteger(NULL, PERIOD_H1, SERIES_SERVER_FIRSTDATE, c); // 2
d1 = SeriesInfoInteger(NULL, PERIOD_H1, SERIES_LASTBAR_DATE, d); // 3
Print("①バー数:(", a1, ")" , a);
Print("②バーの最も古い日時:(", b1, ")" , b);
Print("③サーバー上の最も古い日時:(", c1, ")" , c);
Print("④バーの最新の日時:(", d1, ")" , d);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
各行の後ろにあるコメントの数値は、引数③の識別子に対応する値です。識別子の代わりにこの値を使うこともできます。