指定したバーの終値を取得 iClose 関数

関数

時系列とインジケータへのアクセス関数

iClose 関数

 この関数は、指定した通貨ペアと時間軸、インデックス値のバーの終値を取得します。

 バーのインデックス値は、チャート上の最新のバーが 0となります。そこから左側のバーのインデックス値が 1、2、3、… と自動付与されます。時間が経過してバーが新しく作成されたらインデックス値は作成された最新のバーを 0として、その他のバーも再付与されます。

 配列変数 Close[] でも同様の結果が得られます。

 最新(インデックス値が 0)のバー場合、その時間軸のバーの作成が終わる(または 次の新しいバーの作成が開始される)まで終値は変動します。

データ型と構成・戻り値

double iClose(①,②,③);

 戻り値は、指定されたバーの終値を返します。エラーの場合は 0を返します。
 発生するエラーについては、GetLastError関数で取得することができます。

引数 [3]

 iClose関数は 3個の引数で構成されます。

番号引数名データ型単位初期値説明
symbolstring対象とする通貨ペア名。
NULL」は現在のチャートの通貨ペアを表します。
timeframeint時間軸。ENUM_TIMEFRAMES 列挙値から選択。0は現在のチャートの時間軸を選択したことになります。
shiftintバーのインデックス値。

使用例

iClose関数によるバーの終値の取得

 iClose関数を使って 1時間軸チャートの指定したバーの終値を取得します。

コード

// iClose関数によるバーの終値の取得
#property strict
void OnInit() {

Print("最新のバーの終値:",  iClose(NULL, PERIOD_H1, 0));
Print("1つ前のバーの終値:", iClose(NULL, PERIOD_H1, 1));
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました