Top Page



2回目は、初期処理と終了処理です。

(1)初期処理 「int init() 関数」
  プログラム起動時に1回だけ呼び出される関数です。
  最初のプログラムでは2つの処理を行っています。

  ①SetIndexStyle(0,DRAW_LINE,EMPTY,5,Red);
   これは、インジケーターのスタイルを設定します。
   パラメータが5つあるので見ていきましょう。
   1つ目の "0" は、何番目のインジケーターを設定するかというものです。
   プログラムのコメントにも記述していますが、1番目が0になります。
   このプログラムではインジケーターが1つなので、当然1番目の"0"が設定されます。
   (例えば2番目のインジケーターを設定する場合は、"1"になります。)
   2つ目の"DRAW_LINE"は、インジケーターの形を設定します。
   "DRAW_LINE"は、線(ライン)の形のインジケーターを作成しますということです。
   他には、ヒストグラムや図形のインジケーターなどを作成できます。
   3つ目には線の種別が設定されます。が、"EMPTY"となっています。
   "EMPTY"は、他でも使用されますが、設定しないということです。
   ここでは、破線や点線などを設定できますが、"EMPTY"を設定しているのでデフォルトの線種になります。
   4つ目の"5"は、線の幅を設定します。ここでは、"1"~"5"が設定できます。
   5つ目の"Red"は、線の色の設定です。
   これはインジケーターを線(ライン)に設定した場合の説明です。
   2つ目のパラメーターが"DRAW_LINE"でない場合は、他のパラメーターの意味合いが変わってきます。
   ここでは、初期処理でインジケーターの形を設定しているということです。

  ②SetIndexBuffer(0,Buffer1);
   ここで、グローバル変数"Buffer1"をインジケーター1に関連付けしています。
   先ほどと同じように、1つ目の "0" は、何番目のインジケーターを設定するかというものです。
   プログラムのコメントにも記述していますが、1番目が0になります。
   このプログラムではインジケーターが1つなので、当然1番目の"0"が設定されます。



◎以下、プログラム
//+----------------------------------------------------------------------------+
//| 初期処理関数 |
//+----------------------------------------------------------------------------+
//プログラム起動時に1回だけ呼び出される関数
int init()
{
    //1つ目のインジケーターのスタイルを線に設定する
    //注意しなければいけないのは、配列では1番目が0になるため
    //第1パラメーターは、1ではなく0になるということ
    SetIndexStyle(0,DRAW_LINE,EMPTY,5,Red);

    //1つ目のインジケーター配列に定義した Buffer1 を関連付ける
    //注意しなければいけないのは、配列では1番目が0になるため
    //第1パラメーターは、1ではなく0になるということ
    SetIndexBuffer(0,Buffer1);

    return(0);
}




(2)終了処理 「int deinit() 関数」
  プログラム終了時に呼び出される関数です。
  このプログラムでは特に必要な処理はないので、中身がありません。
  ただし、「int deinit() 関数」というものがあるということを覚えておけば使用することがあるかもしれません。



◎以下、プログラム
//+----------------------------------------------------------------------------+
//| 終了処理関数 |
//+----------------------------------------------------------------------------+
//プログラム終了時に呼び出される関数
//今回は特に処理なし
int deinit()
{
    return(0);
}