Sleep

Функция задерживает выполнение текущего эксперта или скрипта на определенный интервал.

void  Sleep(
   int  milliseconds      // интервал
   );

Параметры

milliseconds

[in]  Интервал задержки в миллисекундах.

Возвращаемое значение

Нет возвращаемого значения.

Примечание

Функцию Sleep() нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить. В функцию встроена проверка состояния флага остановки эксперта каждую 0.1 секунды.

Пример:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- выведем в комментарии на графике обратный отсчёт от 10 до 1
   for(int i=10i>0 && !IsStopped(); i--)
     {
      Comment(StringFormat("Wait %u seconds",i));
      Sleep(1000);
     }
//--- напишем в "прибывающем" комментарии текст, описывающий назначение скрипта
   string text="This was a test showing how the Sleep() function works";
   string mess="";
   for(int i=0i<(int)text.Length(); i++)
     {
      mess+=ShortToString(text.GetChar(i));
      Sleep(100);
      Comment(mess);
     }
//--- попрощаемся...
   Sleep(1000);
   for(int i=0i<6i++)
     {
      mess=(i % 2 == 0 ? "" : "  Bye!");
      Comment(mess);
      Sleep(300);
     }
//--- сотрём текст на графике
   Comment("");
  }