SetIndexBuffer()

 SetIndexBuffer()関数は、各インジケーターバッファーを、インジケーターバッファー領域に割り当てる(関連付ける)ために使用します。

 バッファーとは、データを一時的に蓄える記憶領域のことをいいます。

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

bool SetIndexBuffer(
int index,
double buffer[]
);

 各引数の意味は、以下のとおりです。

  • int index
    インジケーターバッファーのインデックスを指定します。
    インデックスのナンバリングはから始まり、その数値は、#property indicator_buffersで宣言した値よりも小さくなければいけません
    このインデックスは、「指標バッファのインデックス」、又は「ライン番号」と呼ばれます。
  • double buffer[]
    インジケーターバッファーの配列名を指定します。

戻り値

 SetIndexBuffer()関数が正常に実行された場合は「true」、そうでない場合は「false」が返されます。

注意点

 インジケーターバッファーがインジケーターバッファー領域に割り当てられた後は、インジケーターバッファーの各要素は、通常の配列と同様にインデックスが付されます。

 インジケーターバッファーの各要素に付されるインデックスを時系列配列の場合と同様にしたい場合は、SetIndexBuffer()関数を実行した後に、ArraySetAsSeries()関数を使用します

 SetIndexBuffer()関数によって、インジケーターバッファーとして設定された動的配列のサイズは、変更することができません。

具体例

 インジケーターバッファーをインジケーターバッファー領域に割り当てるには、以下のように記述します。


#property strict

#property indicator_buffers 1

double Buffer[];

int OnInit()
{
  SetIndexBuffer(0,Buffer);
  ……
  return(INIT_SECCEEDED);
}

関連ツール

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

GogoJungleで購入する

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

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