IndicatorCounted()

 IndicatorCounted()関数は、インジケーターの確定値が計算されたバー(=現在のバー以外)の本数を取得するために使用します。

 IndicatorCounted()関数は、以下のように定義されています。

int IndicatorCounted();

 IndicatorCounted()関数には引数がないので、()内には何も記述しません。

戻り値

 インジケーターの確定値が計算されたバーの本数が返されます。

注意点

 既に計算されたバーの多くは、インジケーターの値を再計算する必要はありません。

 IndicatorCounted()関数は、インジケーターの値の計算を最適化するために使用します。

具体例

 インジケーターをチャートに適用してから2ティック目以降は、現在のバーについてのみインジケーターの値を計算するようにするためには、以下のように記述します。


#property strict
……
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime& time[],
                const double& open[],
                const double& high[],
                const double& low[],
                const double& close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[])
{
  int limit = Bars - IndicatorCounted();
  
  for(int i = limit - 1; i >= 0; i--)
     {
       double MA = iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,i);
     }
  
  return(rates_total);
}
  • Barsの詳細については「こちら」を参照してください。
  • for()文の詳細については「こちら」を参照してください。
  • iMA()関数の詳細については「こちら」を参照してください。

関連ツール

インジケーターつくーる
MQL言語の学習ができ、裁量トレーダーもインジケーター開発が可能に
MQL言語の学習ができ、裁量トレーダーもインジケーター開発が可能に?|?fx-on.com

GogoJungleで購入する

 プログラミングの知識がなくても、ほぼマウスで選ぶだけで独自のインジケーターを作成することができるツールです。

 以下は、「インジケーターつくーる」の紹介動画です。