カスタム指標の値を確認するためにMT4/MT5の表示メニューからデータウィンドウを表示させることがあります。
指標ラインが複数ある場合、それを区別するためにラベルをつけた方がわかりやすいでしょう。そのために以下のようにOnInit()
関数にコードを追加します。
//初期化関数
int OnInit()
{
//配列を指標バッファに関連付ける
SetIndexBuffer(0, Buf);
SetIndexBuffer(1, BufSmooth);
//時系列配列に設定
ArraySetAsSeries(Buf, true);
ArraySetAsSeries(BufSmooth, true);
//プロット開始位置の設定
PlotIndexSetInteger(0, PLOT_DRAW_BEGIN, MomPeriod);
PlotIndexSetInteger(1, PLOT_DRAW_BEGIN, MomPeriod+Smooth);
//指標ラベルの設定
SetIndexLabel(0, "Momentum("+IntegerToString(MomPeriod)+")");
SetIndexLabel(1, "Smooth("+IntegerToString(Smooth)+")");
return(INIT_SUCCEEDED);
}
SetIndexLabel()
の最初の引数に指標番号を、2番目の引数に表示させたいラベル名を設定します。
ここでは、パラメータの値も表示させるために、"Momentum("
と")"
の文字列の間にMomPeriod
の値を文字列に変換したIntegerToString(MomPeriod)
を+
で連結しておきます。
このコードを追加することで、以下のように各指標のラベル名が表示されます。