IndicatorSetString 関数
この関数は、対応するインジケータの string (文字列) 型のプロパティ値を設定します。
データ型と構成・戻り値
この関数には 2つの型があります。
bool IndicatorSetString(①, ③);
bool IndicatorSetString(①, ②, ③);
戻り値は、処理が成功した場合は true、それ以外は falseが返されます。
引数 [2~3]
IndicatorSetString関数は 2~3個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | prop_id | int | - | - | インジケータプロパティの識別子。 ENUM_CUSTOMIND_PROPERTY_STRING 列挙値から選択。 |
② | prop_modifier | int | - | - | 指定したプロパティの修飾子。修飾子が必要なのはレベルプロパティのみです。レベル線 (補助線) のインデックス値※ (0~) で指定します。 |
③ | prop_value | int | - | - | 設定するプロパティの値。 |
※引数②の番号付けは 0から始まりますが、「#property」を使ってコードの最初に設定する場合の番号付けは 1から始まりますでご注意ください。
使用例
IndicatorSetString関数によるインジケータのプロパティ値の設定
IndicatorSetString関数を使って、表示インジケータのプロパティ値を設定します。
次のコードはインジケータ用のコードです。インジケータ用コードの作成方法についてはこちらを参考にしてください。
コード
// IndicatorSetString関数によるインジケータのプロパティ値の設定
#property strict
#property indicator_separate_window // サブウィンドウに表示
int OnInit()
{
// インジケータint型のプロパティ
IndicatorSetInteger(INDICATOR_LEVELS, 3); // インジケータレベルの数
IndicatorSetInteger(INDICATOR_LEVELCOLOR, clrYellow); // レベルラインの色
IndicatorSetInteger(INDICATOR_LEVELSTYLE, 2); // レベルラインのスタイル
IndicatorSetInteger(INDICATOR_LEVELWIDTH, 1); // レベルラインの太さ(pixel単位設定)
IndicatorSetInteger(INDICATOR_HEIGHT, 150); // インジケータウィンドウの固定高さ(pixel単位設定)
// インジケータdouble型のプロパティ
IndicatorSetDouble(INDICATOR_MAXIMUM, 110.0); // インジケータウィンドウの最大値
IndicatorSetDouble(INDICATOR_MINIMUM, 0.0); // インジケータウィンドウの最小値
IndicatorSetDouble(INDICATOR_LEVELVALUE, 0, 25.0); // レベル値の設定
IndicatorSetDouble(INDICATOR_LEVELVALUE, 1, 50.0); // レベル値の設定
IndicatorSetDouble(INDICATOR_LEVELVALUE, 2, 75.0); // レベル値の設定
// インジケータstring型のプロパティ
IndicatorSetString(INDICATOR_SHORTNAME, "テスト"); // インジケータの略称名
IndicatorSetString(INDICATOR_LEVELTEXT, 0, "レベル1(index=0)"); // レベルの説明
IndicatorSetString(INDICATOR_LEVELTEXT, 1, "レベル2(index=1)"); // レベルの説明
IndicatorSetString(INDICATOR_LEVELTEXT, 2, "レベル3(index=2)"); // レベルの説明
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[])
{
return(rates_total);
}
インジケータ用コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
![](https://naruhodo-mt4.com/wp-content/uploads/2023/05/P796indicatorsetinteger.png)