リリースノート(Build 1860)
スポンサーリンク

概要

2018/6/15 にBuild 1860 のリリースがあり、MT4の関数に近いメソッドが利用可能になったそうです。

MQL4からMQL5への移植 に記載の方法で対策もできるものもありましたが、
昔は iTime でできたことが、CopyTime の使用が必要で煩わしいと思ったりしましたが、それが改善されます。
バー操作は頻繁に使うので、過去の経験が活かせるのはありがたいですね!

MQLバー操作関数

 新しい関数: iTime、iOpen、iHigh、iLow、iClose、iVolume、iBars、iBarShift、iLowest、iHighest、iRealVolume、iTickVolume、iSpreadこれらの関数は、MQL4で使用される関数に似ており、取引アプリケーションのコードを第5世代のプラットフォームに簡単に転送できますs。

以前は、これらの関数を使用して実行されたタスクのほとんどは、Copy *関数を使用して実装できましたが、チャート上のHigh/Low値を検索し、その時間に基づいてバーを検索するためには独自の関数を実装する必要がありました。これらのタスクはiHighest、iLowest、iBarShiftの各関数を使って簡単に実行できるようになりました。

iTime
対応するチャートのバー( 'shift'パラメータで示されます)の開いた時間を返します。

datetime  iTime(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   int              shift            // シフト
   );

iOpen
対応するチャートのバー( 'shift'パラメータで示されます)の始値を返します。

double  iOpen(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   int              shift            // シフト
   );

iHigh
対応するチャートのバー( 'shift'パラメータで示されます)の高値を返します。

double  iHigh(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   int              shift            // シフト
   );

iLow
対応するチャートのバー( 'shift'パラメータで示されます)の安値を返します。

double  iLow(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   int              shift            // シフト
   );

iClose
対応するチャートのバー( 'shift'パラメータで示されます)の終値を返します。

double  iClose(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   int              shift            // シフト
   );

iVolume
対応するチャートのバー( 'shift'パラメータで示されます)のティックボリュームを返します。

long  iVolume(
   string           symbol,          // 銘柄
   int              timeframe,       // 期間
   int              shift            // シフト
   );

iBars
履歴で使用可能な、対応する銘柄と期間のバーの数を返します。

int  iBars(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe        // 期間
   );

iBarShift
時間によってバーを探します。この関数は、指定された時間に対応するバーのインデックスを返します。

int  iBarShift(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   datetime         time,            // 時間
   bool             exact=false      // モード
   );

iLowest
対応するチャートで見つかった最小の値のインデックスを返します(現在のバーとの相対的な移動)。

int  iLowest(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   int              type,            // 時系列ID
   int              count,           // 要素数
   int              start            // インデックス
  );

iHighest
対応するチャートで見つかった最大の値のインデックスを返します(現在のバーとの相対的な移動)。

int  iHighest(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   int              type,            // 時間series identifier
   int              count,           // 要素数
   int              start            // インデックス
  );

iRealVolume
対応するチャートのバー( 'shift'パラメータで示されます)の実のボリュームを返します。

long  iRealVolume(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   int              shift            // シフト
   );

iTickVolume
対応するチャートのバー( 'shift'パラメータで示されます)のティックボリュームを返します。

long  iTickVolume(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   int              shift            // シフト
   );

iSpread
対応するチャートのバー( 'shift'パラメータで示されます)のスプレッドボリュームを返します。

long  iSpread(
   string           symbol,          // 銘柄
   ENUM_TIMEFRAMES  timeframe,       // 期間
   int              shift            // シフト
   );
スポンサーリンク
おすすめの記事