iClose 関数
この関数は、指定した通貨ペアと時間軸、インデックス値のバーの終値を取得します。
バーのインデックス値は、チャート上の最新のバーが 0となります。そこから左側のバーのインデックス値が 1、2、3、… と自動付与されます。時間が経過してバーが新しく作成されたらインデックス値は作成された最新のバーを 0として、その他のバーも再付与されます。
配列変数 Close[] でも同様の結果が得られます。
最新 (インデックス値が 0) のバー場合、その時間軸のバーの作成が終わる (または 次の新しいバーの作成が開始される) まで終値は変動します。
データ型と構成・戻り値
double iClose(①,②,③);
戻り値は、指定されたバーの終値を返します。エラーの場合は 0を返します。
発生するエラーについては、GetLastError関数で取得することができます。
引数 [3]
iClose関数は 3個の引数で構成されます。
番号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | symbol | string | - | - | 対象とする通貨ペア名。 「NULL」は現在のチャートの通貨ペアを表します。 |
② | timeframe | int | - | - | 時間軸。ENUM_TIMEFRAMES 列挙値から選択。0は現在のチャートの時間軸を選択したことになります。 |
③ | shift | int | - | - | バーのインデックス値。 |
使用例
iClose関数によるバーの終値の取得
iClose関数を使って 1時間軸チャートの指定したバーの終値を取得します。
コード
// iClose関数によるバーの終値の取得
#property strict
void OnInit() {
Print("最新のバーの終値:", iClose(NULL, PERIOD_H1, 0));
Print("1つ前のバーの終値:", iClose(NULL, PERIOD_H1, 1));
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)