【MQL4学習】SetIndexStyle()関数とは?インジケーターの描画スタイルを指定する時に使用!

ザフナーラボブログ

SetIndexStyle()関数は、インジケーターの描画スタイル(線orヒストグラム、色など)を指定するために使用します。

SetIndexStyle()関数とは?

SetIndexStyle()関数は、以下のように定義されています。

サンプルコード

void SetIndexStyle(
int index,
int type,
int style
int width
color clr
);

各引数の意味は、以下のとおりです。

  • int index
    ライン番号(0~7)を指定します。
    ライン番号は、SetIndexBuffer()関数(詳細は「こちら」を参照してください。)で指定したものと対応させます。
  • int type
    以下の表に従って、図形スタイル(線orヒストグラムなど)を指定します。

    図形スタイルの種類

    種 類
    定数
    内 容
    DRAW_LINE
    線を描画
    DRAW_SECTION
    セクション(区画)を描画(不連続な点と点を結ぶ)
    DRAW_HISTOGRAM
    ヒストグラムを描画
    DRAW_ARROW
    矢印などの記号を描画
    DRAW_ZIGZAG
    偶数番目と奇数番目のインジケーター間のセクションを描画
    DRAW_NONE
    12
    描画しない
  • int style
    以下の表に従って、描画スタイルを指定します。

    描画スタイルの種類

    種 類
    定数
    内 容
    STYLE_SOLID
    実線
    STYLE_DASH
    長音線(― ― ―)
    STYLE_DOT
    短音線(---)
    STYLE_DASHDOT
    長音線と短音線(―-―-)
    STYLE_DASHDOTDOT
    長音線と短音線(―--―--)
  • int width
    線やヒストグラムの幅(=太さ:1~5)を指定します。
  • color clr
    線やヒストグラムの描画色を指定します。

サンプルコード

線(実線、幅:1、色:青)とヒストグラム(実線、幅:2、色:赤)を描画させたい場合は、以下のように記述します。

サンプルコード

#property indicator_buffers 2

double Buffer_Line[];
double Buffer_Histogram[];

int init()
{
 SetIndexBuffer(0,Buffer_Line);
 SetIndexBuffer(1,Buffer_Histogram);

 SetIndexStyle(0,0,0,1,Blue);
 SetIndexStyle(1,2,0,2,Red);
 ……
 retrun(0);
}
  • SetIndexBuffer()関数の詳細については「こちら」を参照してください。