Top Page



サブウインドウに表示する
インジケーターをサブウインドウに表示します。
基本処理は、一番最初に組んだものにします。
まったく実用的ではありませんが、プログラムに慣れるということが目的なので。
では、見てみましょう。
最初に作った表示プログラムを、サブウインドウに出してみました。


◎解説
[1]インジケーターのプロパティ設定
    //インジケーターをサブウィンドウに表示する
    #property indicator_separate_window //サブウインドウ
  これだけです。


◎以下、プログラム
//+----------------------------------------------------------------------------+
//| インジ 1-7 サブウインドウに表示する |
//+----------------------------------------------------------------------------+
//----------------
//プロパティの設定
//----------------
//インジケーターをサブウィンドウに表示する
#property indicator_separate_window //サブウインドウ
//インジケーターを1つ作成する(最大8個まで)
#property indicator_buffers 1

//--------------------
//グローバル変数の設定
//--------------------
//1つ目のインジケーター用の配列を定義する
double Buffer1[];

//+----------------------------------------------------------------------------+
//| 初期処理関数 |
//+----------------------------------------------------------------------------+
//プログラム起動時に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);
}
//+----------------------------------------------------------------------------+
//| 終了処理関数 |
//+----------------------------------------------------------------------------+
//プログラム終了時に呼び出される関数
//今回は特に処理なし
int deinit()
{
return(0);
}

//+----------------------------------------------------------------------------+
//| メイン処理関数 |
//+----------------------------------------------------------------------------+
//価格が更新される度に呼び出される関数
int start()
{
//インジケーターの計算範囲を求める
//Bars変数は、チャートに表示されているローソク足の数
//IndecatorCounted()関数は、計算済みのローソク足の数を求める
//次の計算式で、limit変数には、計算していないローソク足の本数が設定される
int limit = Bars - IndicatorCounted();

//インジケーターの計算
//ローソクの終値の線を描画する
for(int i=0; i<limit; i++)
{
Buffer1[i] = (Close[i]);
}

return(0);
}

//+----------------------------------------------------------------------------+