Все индикаторы не удаляются.

 

Я попробовал этот скрипт:

 void  OnStart ()
  { 
     int total_ind = ChartIndicatorsTotal ( 0 , 1 ); 
     Print (total_ind); 
     for ( int i = 0 ; i <total_ind; i ++) { ChartIndicatorDelete ( 0 , 1 , ChartIndicatorName ( 0 , 1 , i)); Print ( GetLastError ());}
  }

Код ошибки: 4115

Индикатор не удаляется. Есть ли другой процесс удаления окна индикатора с графика?

 
jaffer wilson:

I tried this script:

Error code: 4115

The indicator without a short name is not deleted. Is there another process of removing the indicator window from the chart?

После вызова какой функции отрабатывает GetLastError()?
 

После вызова этой функции: ChartIndicatorDelete ( 0 , 1 , ChartIndicatorName ( 0 , 1 , i));

 
jaffer wilson:

Индикатор не удаляется. Есть ли другой процесс удаления окна индикатора с графика?

Переверните:

for ( int i = total_ind-1 ; i >=0; i --)
 

Да, наконец, я получил ответ.

Я был дураком, я принимаю это.

Индекс уже ушел. Индикатор не существует.

Я решил это с помощью следующего кода:

 void     OnStart     ()    
  {   
     int     total_ind =     ChartIndicatorsTotal     (     0     ,     1     ); 
       Print     (total_ind); 
       for     (     int     i =     0     ; i <total_ind; i ++) {     ChartIndicatorDelete     (     0     ,     1     ,     ChartIndicatorName     (     0     ,     1     ,     0     ));   Print     (     GetLastError     ());}    
  }  

Спасибо за ваши ответы.

Причина обращения: