ChartIndicatorName

指定されたチャートウィンドウの指標リスト内の番号で指標の短縮名を返します。

string  ChartIndicatorName(
  long  chart_id,      // チャート識別子
  int  sub_window     // サブウィンドウ番号
  int  index         // チャートサブウィンドウに追加された指標のリストに内の指標のインデックス
  );

パラメータ

chart_id

[in]  チャート識別子。( 0 は現在のチャート)

sub_window

[in]  チャートサブウィンドウの番号。( 0 はメインチャートウィンドウ)

index

[in]  指標のリストに内の指標のインデックスインデックスの命数は、ゼロで始まります。すなわち、リストの最初の指標が 0 のインデックスを持ちます。リスト内の指標の数を得るためには ChartIndicatorsTotal() 関数が使用されます。

戻り値

IndicatorSetString() 関数でINDICATOR_SHORTNAME プロパティに設定した指標の短縮名。エラーの詳細を取得するには GetLastError() 関数を使用します。

注意事項

iCustom() 及び IndicatorCreate() 関数を使用して指標を作成する際、指標の短縮名とファイル名を混同しないでください。指標の短縮名が明示的に設定されていない場合、コンパイル時に指標のソースコードを含むファイルの名称が指定されます。

指標の短縮名は正しく形成されなければなりません。短縮名は IndicatorSetString() 関数を使用してINDICATOR_SHORTNAMEプロパティに書かれます。ChartIndicatorDelete() 関数によってチャートから削除される指標は短縮名によって識別されるので、短縮名に指標の全ての入力パラメータの値を含むようお勧めします。

例:

//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数                                              |
//+------------------------------------------------------------------+
void OnStart()
 {
//--- 現在のチャートIDと、メインウィンドウを含むサブウィンドウの数を取得する
  long chart_id = ChartID();
  int wnd_total= (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL);
 
//--- 現在のチャートウィンドウすべてをループで繰り返し処理する
  for(int w=0; w<wnd_total; w++)
    {
    //--- ループインデックスで指定されたチャートウィンドウにアタッチされているインジケーターの数を取得する
    int ind_total=ChartIndicatorsTotal(chart_id, w);
     
    //--- 選択したチャートウィンドウのヘッダーを出力する
    PrintFormat("Chart window %d indicators: ", w);
     
    //--- ループに入り、選択されたウィンドウにアタッチされているすべてのインジケーターの名前を変数に書き込む
    string ind_names="";
    for(int i=0; i<ind_total; i++)
       {
        ind_names+="  "+ChartIndicatorName(chart_id, w, i)+(i<ind_total-1 ? "\n": "");
       }
    //--- 指定されたチャートウィンドウに添付されているすべてのインジケーターの名前のリストを操作ログに出力する
    Print(ind_names);
    }
  /*
   結果:
  Chart window 0 indicators:
    AMA(9,2,30)
    SAR(0.02,0.20)
    Fractals
  Chart window 1 indicators:
    RSI(14)
    AMA(9,2,30)
  Chart window 2 indicators:
    MFI(14)
  */
 }

参照

ChartIndicatorAdd()ChartIndicatorDelete()ChartIndicatorsTotal()iCustom()IndicatorCreate()IndicatorSetString()