ChartWindowFind

インジケータが描画されているサブウインドウの番号を返します。
関数は2種類のバリアントがあります。

ChartWindowFind

関数書式(インジケータ短縮名を指定):

int  ChartWindowFind(
   long      chart_id,                  // チャートID
   string   indicator_shortname        // インジケータ短縮名
   );

関数書式(カスタムインジケータ専用。インジケータが動作しているサブウインドウの番号を返します):

int  ChartWindowFind();
  • 引数
引数名初期値I/O詳細
chart_id-INチャートID。
0は現在のチャートを意味します。
indicator_shortname-INインジケータ短縮名
  • 戻り値

成功した場合はサブウインドウの番号を返します。
失敗した場合は-1を返します。

  • その他

EAで引数無し(2つ目のバリアント)の呼び出しを行った場合は-1を返します。

インジケータをiCustom()関数で作成する時、ファイル名とインジケータ短縮名の指定を混合しないで下さい。
インジケータ短縮名を明示的に指定しなかった場合、インジケータのソースコードを含んだファイル名が指定されます。
インジケータ短縮名はIndicatorSetString()関数を使用してINDICATOR_SHORTNAMEプロパティで指定しなければなりません。

インジケータ短縮名に入力パラメータを含む事をお勧めします。
なぜなら、ChartIndicatorDelete()関数によってインジケータを削除する時にインジケータ短縮名を使用するからです。

  • サンプルソース
void OnInit() {

    Print("SMA(5) インジケータのサブウインドウ番号:",ChartWindowFind( 0  , "SMA(5)"  ));
    Print("SMA(10)インジケータのサブウインドウ番号:",ChartWindowFind( 0  , "SMA(10)" ));
    Print("SMA(15)インジケータのサブウインドウ番号:",ChartWindowFind( 0  , "SMA(15)" ));
}

Twitterでフォローしよう

おすすめの記事