SetIndexLabel関数|MT4インディケータの線のラベルを設定する方法

執筆者

佐川直弘(株式会社トリロジー取締役)

MetaTrader 4(MT4)のMQL4プログラムでカスタムインディケータを作成する際には、インディケータ線のラベルを適切に設定することで、ユーザーに対して分かりやすい情報を提供することが重要です。この記事では、SetIndexLabel()関数を使用してインディケータ線のラベルを設定する方法について、初心者にもわかりやすく解説します。

インディケータ線のラベルとは?

インディケータ線のラベルは、データウィンドウやインディケータ線のツールチップ(マウスオーバー時のフキダシ)で表示される文字列です。ラベルを設定することで、インディケータ線の意味や名称を明確に示すことができます。

SetIndexLabel()関数の使用方法

SetIndexLabel()関数を使用すると、インディケータ線のラベルを設定することができます。この関数の仕様は以下の通りです。

関数仕様
void SetIndexLabel(int index, string text)

引数の説明

index
インディケータ配列インデックス番号(0~7)
text
ラベル文字列

この関数は、指定されたインデックス番号のインディケータ配列に対して、指定されたラベル文字列を設定します。

以下に、SetIndexLabel()関数を使用してインディケータ線のラベルを設定するサンプルコードを示します。

サンプルコード
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
//—- インディケータパラメータ
extern int FastEMA = 12; // 高速EMAの期間
extern int SlowEMA = 26; // 低速EMAの期間
//—- インディケータバッファ
double ind_buffer1[]; // 高速EMAのバッファ
double ind_buffer2[]; // 低速EMAのバッファ
// カスタムインディケータの初期化関数
int init() {
    //—- インディケータバッファの設定
    IndicatorBuffers(2);
    //—- 描画設定
    SetIndexStyle(0, DRAW_LINE);
    SetIndexStyle(1, DRAW_LINE);
    //—- インディケータラインのラベル設定
    SetIndexLabel(0, “Fast EMA");
    SetIndexLabel(1, “Slow EMA");
    //—- インディケータバッファのマッピング
    SetIndexBuffer(0, ind_buffer1);
    SetIndexBuffer(1, ind_buffer2);
    //—- データウィンドウおよびインディケータサブウィンドウラベルの名前
    IndicatorShortName(“Custom EMA Indicator");
    return (0);
}

このサンプルコードでは、以下のことを行っています。

  1. `#property`ディレクティブを使って、インディケータの設定を行います。
  2. 外部パラメータ(`FastEMA`、`SlowEMA`)を宣言します。
  3. グローバル変数としてインディケータ配列(`ind_buffer1`、`ind_buffer2`)を宣言します。
  4. `init()`関数内で、`IndicatorBuffers()`関数を使って配列の個数を設定します。
  5. `SetIndexStyle()`関数を使って、各インディケータ配列のスタイルを設定します。
  6. `SetIndexLabel()`関数を使って、各インディケータ配列に対してラベルを設定します。ここでは、`Fast EMA`と`Slow EMA`というラベルを設定しています。
  7. `SetIndexBuffer()`関数を使って、配列の領域を確保します。
  8. `IndicatorShortName()`関数を使って、インディケータの短縮名称を設定します。

まとめ

インディケータ線のラベルを適切に設定することで、チャート上の視認性が向上し、ユーザーに対して分かりやすい情報を提供することができます。MQL4のSetIndexLabel()関数を使用することで、簡単にラベルを設定し、カスタムインディケータをより使いやすくすることができます。初心者の方も、この基本的な使い方を理解して、実際のトレードに応用してみてください。

MQL4

Posted by 佐川直弘