インジケータが描画されているサブウインドウの番号を返します。
関数は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)" ));
}