最強の無料EA「異国のレッドブル」が無料で貰えるプレゼントキャンペーン中!詳しくは こちら

【MQL4学習】SetIndexDrawBegin()関数とは?インジケーターの描画開始バーの位置を指定!

SetIndexDrawBegin-異国の戦士-mt4

SetIndexDrawBegin()関数は、インジケーターの描画を開始するバーの位置を指定するために使用します。

SetIndexDrawBegin()関数とは?

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

サンプルコード
void SetIndexDrawBegin(
int index,
int begin
);

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

  • int index
    ライン番号(0~7)を指定します。
    ライン番号は、SetIndexBuffer()関数(詳細は「こちら」を参照してください。)で指定したものと対応させます。
  • int index
    インジケーターの描画を開始するバーの位置(=チャートの最左端からの個数)を指定します。

注意点

インジケーターは左から右へ描画されます。第二引数で指定されたバーより左には、インジケーターは描画されず、データウィンドウにもデータが表示されません。

第二引数には標準で「0」が指定され、すべてのデータが描画されます。

サンプルコード

インジケーターの値を計算するのに必要な個数のバーが形成されてから、インジケーターを描画させたい場合は、以下のように記述します。

サンプルコード

#property indicator_buffers 1

extern int Indicator_Period = 10;

double Buffer[];

int init()
{
 SetIndexBuffer(0,Buffer);

 SetIndexDrawBegin(0,Indicator_Period);
 ……
 retrun(0);
}

SetIndexBuffer()関数の詳細については「こちら」を参照してください。