インジケータラインの説明を設定 SetIndexLabel 関数

関数

カスタムインジケータ関数

SetIndexLabel 関数

 この関数は、データウィンドウ および ツールチップに表示するインジケータラインの説明を設定します。

データ型と構成・戻り値

void SetIndexLabel(①, ②);

 戻り値は無し。

引数 [2]

 SetIndexLabel関数は 2個の引数で構成されます。


引数名データ型単位初期値説明
Indexintインジケータラインのインデックス。0~7で設定。
textstringインジケータラインの説明を記載。「NULL」とした場合、データウィンドウが表示されません。

使用例

SetIndexLabel関数によるインジケータラインの説明設定

 SetIndexLabel関数を使って、インジケータラインの説明文を設定します。

 次のコードはインジケータ用のコードです。インジケータ用コードの作成方法についてはこちらを参考にしてください。

コード

// SetIndexLabel関数によるインジケータラインの説明設定
#property strict

#property indicator_chart_window       // チャートウィンドウに表示
#property indicator_buffers 2          // インジケータバッファの数

#property indicator_color1 clrRed      // ①線の色(インジケータライン)
#property indicator_width1 3           // ①線の太さ
#property indicator_style1 STYLE_SOLID // ①線の種類
#property indicator_type1 DRAW_ARROW   // ①線のタイプ

#property indicator_color2 clrSkyBlue  // ②線の色(インジケータライン)
#property indicator_width2 3           // ②線の太さ
#property indicator_style2 STYLE_SOLID // ②線の種類
#property indicator_type2 DRAW_ARROW   // ②線のタイプ

double Buf1[], Buf2[];                 // インジケータバッファの配列

int OnInit() {

   SetIndexBuffer(0, Buf1);            // 1次元動的配列をインジケータバッファへ関連付け
   SetIndexBuffer(1, Buf2);

   SetIndexArrow(0, SYMBOL_ARROWUP);   // インジケータライン①
   SetIndexArrow(1, SYMBOL_ARROWDOWN); // インジケータライン②

   SetIndexLabel(0, "最高値");         // インジケータライン①
   SetIndexLabel(1, NULL);             // インジケータライン②

   return(INIT_SUCCEEDED);
}

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
   int i;
   for(i=0; i<rates_total; i++) {
      Buf1[i]=iMA(Symbol(), 0, 1, 0, MODE_SMA, PRICE_HIGH, i); // 1期間高値移動平均
      Buf2[i]=iMA(Symbol(), 0, 1, 0, MODE_SMA, PRICE_LOW, i);  // 1期間安値移動平均
   }
return(rates_total);
}

インジケータ用コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

 下矢印の方にカーソルをあてた時は、SetIndexLabel関数の 2番目の引数を「NULL」としているため、データウィンドウ自体が表示されません。

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