MT5 インディケータの作り方 その6

indicator

%bチャート

多色インディケータ

ポリンジャーバンドのオシレーターでもう一つよくつかわれるものが%チャート
です。

%bチャートの式は

%b=(現場値–σ)÷(+σ–σ)
になります。式を作るだけであるならば、前回投稿したバンドワイズチャートと
同じ要領でできます。
forループ中の式を上の式で書き換えるだけです。そこで今回は新しいテクニック
をマスターしましょう。

%bはストキャスティクスの%Kと似た動き方をします。ということは80で買われすぎ、
20以下で売られすぎなどいう見方や、50以上で買い優勢、以下で売り優勢などという
見方もできます。そこで、80より大きい、80~50、50~20、20未満でインディケーター
の色を分けると見やすいかもしれません。MT5ではこのような多色のインディケーター
を作ることにします。ファイル名をPerBとして作ります。

property部分

property indicator_type1 DRAW_COLOR_LINE

単色の場合はDRAW_LINEと指定しましたが、多色インジゲーター(多色ライン)のときは
このようにDRAW_COLOR_LINEと指定します、続いて使う色を指定します。今回は4色ですが
最大64色まで使えます。指定した順番に0,1・・・・とインデックスされます。

doble IndColorBuffer[];

今回、ミドルハンドルは必要ないので宣言しません。

その代わり、IndColorBufferという配列が宣言されています。

OnInit関数

SetIndexBuffer(0,IndBuffer,INDICATOR_DATA);
SetIndexBuffer(1,IndColorBuffer,INDICATOR_COLOR_INDEX);
SetIndexBuffer(2,BB_TLBuffer,INDICATOR_CALCULATIONS);
SetIndexBuffer(3,BB_BLBuffer,INDICATOR_CALCULATIONS);

INDICATOR_COLOR_INDEXというのが新しくでてきました。IndColorBufferが、
インディケータのカラーのインデックスを決める配列であるということです。
INDICATOR_COLOR_INDEXというのは、必ずINDICATOR_DATAの直後に指定されなければ
なりません。もし、ミドルバンドを使うのであれば、SetIndexBufferは2以降に
なります。また、2本のDRAW_COLOR_KINEを描画するならば下のように指定します。

SetIndexBuffer(0,IndBuffer,INDICATOR_DATA);
SetIndexBuffer( 1, IndColorBuffer, INDICATOR_ COLOR_ INDEX);
SetIndexBuffer( 2, IndBuffer 2, INDICATOR_ DATA);
SetIndexBuffer( 3, IndColorBuffe 2, INDICATOR_ COLOR_ INDEX);
SetIndexBuffer( 4, BB_ BLBuffer, INDICATOR_ CALCULATIONS);

その他はバンドワイズチャートと同じ要領です。

続く。。。

ブログランキング・にほんブログ村へ

コメント

タイトルとURLをコピーしました