Stochastic Arrow - インジゲーター

sitemap
世界最強のFXキャッシュバックサイト
TOP > インジゲータ > Stochastic Arrow
Stochastic Arrow
Stochastic Arrowの説明
ストキャスティクスのメイン値が指定した値以上になったときは、上矢印をチャート上に表示してメイン値が指定した値以下になったときは下矢印をチャート上に表示するインジゲーター。

買われすぎ、売られすぎの判断基準にすることができる。

ソースコード説明
ソースコード完成例
cci_arrowコード
テキスト版(ソースコード)はこちら
各処理の説明
■プロパティの設定
①#property indicator_chart_window
②#property indicator_buffers 3
③#property indicator_color2 Blue
④#property indicator_style2 STYLE_SOLID
⑤#property indicator_width2 2
⑥#property indicator_color3 Red
⑦#property indicator_style3 STYLE_SOLID
⑧#property indicator_width3 2

①#property indicator_chart_window
インジゲータをチャートウインドウに表示する。

②#property indicator_buffers 3
インジゲータのバッファを格納する。

③#property indicator_color2 Blue
2つ目のインジゲータ(上矢印)の色を指定する。今回は青(Blue)。

④#property indicator_style2 STYLE_SOLID
2つ目のインジゲータ(上矢印)の線種を指定する。

⑤#property indicator_width2 2
2つ目のインジゲータ(上矢印)の線の幅を指定する。

⑥#property indicator_color3 Red
3つ目のインジゲータ(下矢印)の色を指定する。今回は赤(Red)。

⑦#property indicator_style3 STYLE_SOLID
3つ目のインジゲータ(下矢印)の線種を指定する。

⑧#property indicator_width3 2
3つ目のインジゲータ(下矢印)の線の幅を指定する。

■変数の設定
①double BufSTC_MAIN[];
②double BufUP[];
③double BufDOWN[];

①double BufSTC_MAIN[];
double型の変数を指定。ここでは、BufSTC_MAINという配列を指定(ストキャスティクスのメイン用)。

④double BufUP[];
double型の変数を指定。ここでは、BufUPという配列を指定(上矢印用)。

⑤double BufDOWN[];
double型の変数を指定。ここでは、BufDOWNという配列を指定(下矢印用)。

■外部パラメーターの設定
①extern int UP_LINE = 80;
②extern int DOWN_LINE = 20;

①extern int UP_LINE = 80;
int型の変数を指定。ここでは、UP_LINEという変数を指定(ストキャスティクスの上抜け基準値)。

②extern int DOWN_LINE = 20;
int型の変数を指定。ここでは、DOWN_LINEという変数を指定(ストキャスティクスの下抜け基準値)。

■初期化関数の設定
int init()
{
   ①SetIndexBuffer(0, BufSTC_MAIN);
   ②SetIndexBuffer(1, BufUP);
   ③SetIndexBuffer(2, BufDOWN);
   
	④SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,EMPTY_VALUE);
   
	⑤SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,2,Blue);
	⑥SetIndexArrow(1,233);

	⑦SetIndexStyle(2,DRAW_ARROW,STYLE_SOLID,2,Red);
	⑧SetIndexArrow(2,234);
   return(0);
}

①SetIndexBuffer(0,BufSTC_MAIN);
インジケーターバッファーをインジケーターバッファー領域に割り当てる。
ここでは、0番目のインデックスを指定し、BufSTC_MAINという配列を指定。

②SetIndexBuffer(1,BufUP);
1番目のインデックスを指定し、BufUPという配列を指定。

③SetIndexBuffer(2,BufDOWN);
2番目のインデックスを指定し、BufDOWNという配列を指定。

④SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,EMPTY_VALUE);
描画スタイルを指定する。ここでは、0番目のインデックスに指定したBufSTC_MAINの設定を指定する。

⑤SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,2,Blue);
描画スタイルを指定する。ここでは、1番目のインデックスに指定したBufUPの設定を指定する。

⑥SetIndexArrow(1,233);
記号を表示させる。ここでは、1番目のインデックスに指定したBufUPの設定を指定する。

⑦SetIndexStyle(2,DRAW_ARROW,STYLE_SOLID,2,Red);
描画スタイルを指定する。ここでは、2番目のインデックスに指定したBufDOWNの設定を指定する。

⑧SetIndexArrow(2,234);
記号を表示させる。ここでは、2番目のインデックスに指定したBufDOWNの設定を指定する。

■指標計算関数の設定
int start()
{
	①int counted_bar = IndicatorCounted();
	②int limit = Bars-counted_bar;

	③if(counted_bar == 0) limit -= 1;
	④for (int i = limit-1; i>=0; i--)
	{
		⑤BufSTC_MAIN[i] = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i);
	}

	⑥if(counted_bar == 0) limit -= 2;
	⑦for (i = limit-1; i>=0; i--)
	{
		⑧BufUP[i] = EMPTY_VALUE;
		⑨if(BufSTC_MAIN[i+1] < UP_LINE && BufSTC_MAIN[i] >= UP_LINE)
		{
		⑩BufUP[i] = Low[i]-20*Point;
		}
		⑪BufDOWN[i] = EMPTY_VALUE;
		⑫if(BufSTC_MAIN[i+1] > DOWN_LINE && BufSTC_MAIN[i] <= DOWN_LINE)
		{
		⑬BufDOWN[i] = High[i]+20*Point;
		}
	}
	return(0);
}

①int counted_bar = IndicatorCounted();
int型の変数counted_barにバー(確定値が計算されたバー(現在のバー以外))の本数を代入。

②int limit = Bars-IndicatorCounted();
int型の変数limitにBars-IndicatorCounted()を代入。
Barsは、 表示されているバーの本数を格納しているint型の変数。
IndicatorCounted()は、インジケーターの確定値が計算されたバー(現在のバー以外)の本数を取得する関数。

③if(counted_bar == 0) limit -= BB_Period-1;
if文。

④for (int i = limit-1; i>=0; i--)
for文。

⑤BufSTC_MAIN[i] = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i);
配列BufSTC_MAINにiStochasticの値を代入。ここでは、メイン値を取得。

⑥if(counted_bar == 0) limit -= 2;
if文。

⑦for (i = limit-1; i>=0; i--)
for文。

⑧BufUP[i] = EMPTY_VALUE;
BufUPの値を空にする。

⑨if(BufSTC_MAIN[i+1] < UP_LINE && BufSTC_MAIN[i] >= UP_LINE)
ストキャスティクスの条件文。2本前のメイン値がUP_LINE以下で、1本前のメイン値がUP_LINE以上のとき。

⑩BufUP[i] = Low[i]-20*Point;
安値の20ポイント下に上矢印を表示する。

⑪BufDOWN[i] = EMPTY_VALUE;
BufDOWNの値を空にする。

⑫if(BufSTC_MAIN[i+1] > DOWN_LINE && BufSTC_MAIN[i] <= DOWN_LINE)
ストキャスティクスの条件文。2本前のメイン値がDOWN_LINE以上で、1本前のメイン値がDOWN_LINE以下のとき。

⑬BufDOWN[i] = High[i]+20*Point;
高値の20ポイント上に下矢印を表示する。
パラメータの説明


UP_LINE : 上限値(買われすぎ) → この値以上になったときに上矢印を表示
DOWN_LINE : 下限値(売られすぎ) → この値以下になったときに下矢印を表示

Stochastic Arrowの矢印の色

#1 : ストキャスティクスの色(表示されません)
#1 : ストキャスティクスのメイン値が指定値以上になったときの上矢印
#2 : ストキャスティクスのメイン値が指定値以下になったときの下矢印
使用例
UP_LINE : 80
DOWN_LINE : 20

上記設定のときのチャート。

stochastic_arrow使用例
※わかりやすいようにサブチャートにストキャスティクスを表示しています。
UP_LINEの80を上抜け、DOWN_LINEの20を下抜けしたところに黄色い縦の点線を引いています。

注意事項
サブチャートにストキャスティクスのチャートは表示されません。
黄色い縦点線も表示されません。
線の幅が1以外のときは線種は変更できない。
このインジゲータに使用しているMQLの一覧
関連ページ
スポンサードリンク
Twitter