ソースコード完成例
各処理の説明
■プロパティの設定
①#property indicator_separate_window
②#property indicator_buffers 2
③#property indicator_color1 Blue
④#property indicator_style1 STYLE_SOLID
⑤#property indicator_width1 2
③#property indicator_color2 Red
④#property indicator_style2 STYLE_SOLID
⑤#property indicator_width2 2
①#property indicator_separate_window
インジゲータをサブウインドウに表示する。
②#property indicator_buffers 2
インジゲータのバッファを格納する。今回は2つのバッファを使用。
③#property indicator_color1 Blue
インジゲータ(メインライン)の色を指定する。今回は青(Blue)を使用。
④#property indicator_style1 STYLE_SOLID
インジゲータ(メインライン)のラインの種類を指定する。今回は実線を使用。
⑤#property indicator_width1 2
インジゲータ(メインライン)のラインの太さ(幅)を指定する。今回は2を使用。
⑥#property indicator_color2 Red
インジゲータ(シグナルライン)の色を指定する。今回は青(Blue)を使用。
⑦#property indicator_style2 STYLE_SOLID
インジゲータ(シグナルライン)のラインの種類を指定する。今回は実線を使用。
⑧#property indicator_width2 2
インジゲータ(シグナルライン)のラインの太さ(幅)を指定する。今回は2を使用。
■変数の設定
①double BufSTC_MAIN[];
②double BufSTC_SIGNAL[];
①double BufSTC_MAIN[];
double型の変数を指定。ここでは、BufSTC_MAIN(メインライン用)という配列を指定。
②double BufSTC_SIGNAL[];
double型の変数を指定。ここでは、BufSTC_SIGNAL(シグナルライン用)という配列を指定。
■初期化関数の設定
int init()
{
①SetIndexBuffer(0, BufSTC_MAIN);
②SetIndexBuffer(1, BufSTC_SIGNAL);
return(0);
}
①SetIndexBuffer(0,BufSTC_MAIN);
インジケーターバッファーをインジケーターバッファー領域に割り当てる。
ここでは、0番目のインデックスを指定し、BufSTC_MAINという配列を指定。
②SetIndexBuffer(0,BufSTC_SIGNAL);
インジケーターバッファーをインジケーターバッファー領域に割り当てる。
ここでは、0番目のインデックスを指定し、BufSTC_MSIGNALという配列を指定。
■指標計算関数の設定
int start()
{
①int limit = Bars-IndicatorCounted();
②for(int i=0; i<limit; i++)
{
③BufSTC_MAIN[i] = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i);
④BufSTC_SIGNAL[i] = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i);
}
return(0);
}
①int limit = Bars-IndicatorCounted();
int型の変数limitにBars-IndicatorCounted()を代入。
Barsは、
表示されているバーの本数を格納しているint型の変数。
IndicatorCounted()は、インジケーターの確定値が計算されたバー(現在のバー以外)の本数を取得する関数。
②for(int i=0; i<limit; i++){ }
for文。
③BufSTC_MAIN[i] = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i);
配列BufSTC_MAINにiStochasticの値を代入。
ここでは、現在のチャートの通貨ペア、時間足、%K期間5、%D期間3、スローイング期間3、単純移動平均線、高値と安値、メインラインの値、i番目の足を指定。
④BufSTC_SIGNAL[i] = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i);
配列BufSTC_SIGNALにiStochasticの値を代入。
ここでは、現在のチャートの通貨ペア、時間足、%K期間5、%D期間3、スローイング期間3、単純移動平均線、高値と安値、シグナルラインの値、i番目の足を指定。