MT4(MQL4)/MT5(MQL5)のiVolume
指定したローソク足のティックボリュームを取得できます。
long iVolume(
const string symbol, // 銘柄
ENUM_TIMEFRAMES timeframe, // 期間
int shift // シフト
);
「shift」は、現在の足から何本分前にずらすかを表します。
MT4→MT5になっても変わらず使えます。
iTickVolumeとの違いがよく分かりませんが…iVolumeがMT4/5共通で使えるのに対して、iTickVolumeはMT5で新しく使えるようになった関数のようです。
サンプルコード
過去のローソク足のティックボリュームを取得してチャートに表示してみます。
void OnInit()
{
Comment
(
"iVolume(""NZDUSD"", PERIOD_H1 , 1) = ",iVolume("NZDUSD", PERIOD_H1 , 1),"\n",
"iVolume(Symbol(), Period() , 1) = ",iVolume(Symbol(), Period() , 1),"やっている事は↑と同じ","\n",
"iVolume(Symbol(), 16385 , 1) = ",iVolume(Symbol(), 16385 , 1),"やっている事は↑と同じ","\n",
"iVolume(Symbol(), 16385 , 2) = ",iVolume(Symbol(), 16385 , 2)," ※バーを2本シフト"
);
return;
}
PERIOD_H1が”60”ではなく”16385”になっているのは、MT4→MT5の仕様変更によるものです。
詳しくは【MT5(MQL5)サンプルコード】_Period、Period()を参照。
結果
1本前のティックボリュームが表示されているのが分かります。
2本前はこちら。
2本前のティックボリュームが表示されているのが分かります。
【参考】MQL5公式ページ
コメント / Comments