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