SetIndexDrawBegin()

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

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

void SetIndexDrawBegin(
int index,
int begin
);

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

  • int index
    ライン番号(=SetIndexBuffer()関数で指定した」~「の値)を指定します。
  • int index
    インジケーターの描画を開始するバーの位置(=チャートの最左端からの個数)を指定します。

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

戻り値

 SetIndexDrawBegin()関数はvoid型なので、戻り値はありません。

注意点

 インジケーターは左から右へ描画されます。

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

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

具体例

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


#property strict

#property indicator_buffers 1

input int Indicator_Period = 10;

double Buffer[];

int OnInit()
{
  SetIndexBuffer(0,Buffer);
  
  SetIndexDrawBegin(0,Indicator_Period);
  ……
  retrun(INIT_SUCCEEDED);
}

関連ツール

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

GogoJungleで購入する

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

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