SetIndexLabel 関数
この関数は、データウィンドウ および ツールチップに表示するインジケータラインの説明を設定します。
データ型と構成・戻り値
void SetIndexLabel(①, ②);
戻り値は無し。
引数 [2]
SetIndexLabel関数は 2個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | Index | int | - | - | インジケータラインのインデックス。0~7で設定。 |
② | text | string | - | - | インジケータラインの説明を記載。「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」としているため、データウィンドウ自体が表示されません。