Что такое функция IsStopped( ) и зачем она нужна?

 
Возвращается TRUE, если программа (эксперт или скрипт) получила команду на завершение своей работы, иначе возвращает FALSE.


Каким образом можно выдать команду на завершение работы эксперта? Пробовал всяко - не получается. Код

int start()
 {
  //----
  int        open_ticket;                     // тикет для открытой позиции
  //----
  if (IsStopped() == true)
   { Print("---- EXPERT `SAMPLE EXPERT` ON ", Symbol(), 
           ": STOPPED ----"); }
...


не срабатывает, что бы с экспертом не делалось.

Пример:

  while(expr!=false)
    {
     if(IsStopped()==true) return(0);
     // цикл с длительным времением исполнения
     // ...
    }


- что сие значит? Может, кто-нибудь прояснит? Спасибо.

 
А вот так:

int deinit()
 {
//---- 
  switch(UninitializeReason())
   {
    case REASON_CHARTCLOSE:  
                            break;
//     
    case REASON_REMOVE:                                 // CleanUp();
     {
      if (IsStopped() == true)
       { Print("---- EXPERT `SAMPLE EXPERT` ON ", Symbol(), 
           ": STOPPED ----"); }
     }
                            break; // очистка и освобождение ресурсов
...



срабатывает. Извиняйте за ложную тревогу. И все же было бы неплохо дать какой-нибудь содержательный пример использования этой функции.

 
Возвращается TRUE, если программа (эксперт или скрипт) получила команду на завершение своей работы, иначе возвращает FALSE.


Каким образом можно выдать команду на завершение работы эксперта?

Похоже, у Вас устаревшая справка.
===
bool IsStopped( )

Возвращается TRUE, если программа (эксперт или скрипт) получила команду на завершение своей работы, иначе возвращает FALSE. Программа может работать еще 2.5 секунды прежде, чем клиентский терминал принудительно завершит ее выполнение.
===
Сходите по ссылке "Выполнение программ". Там написано, каким образом эксперты завершают свою работу.
 
Так точно, справка была устаревшая. Разобрался. Спасибо.
Причина обращения: