Аналог/заменитель функции Sleep() при тестировании

 
Можно разогнать компьютер до околосветовых скоростей, чтобы начали сказываться релятивисткие эффекты. Тогда время выполнения теста увеличится и м.б. посчитано по соотв. формуле (преобразование Лоренца). Подробней можно прочитать в ОТО.
 

Довольно интересный вопрос. Поскольку TimeCurrent() в тестере моделируется, то можно сначала проинициализировать некий рубеж типа

datetime Rubezh=TimeCurrent()+10000;

а затем воткнуть условие в цикл while(), заставив цикл выполняться до тех пор, пока TimeCurrent() ни станет больше или равен этому рубежу. Чтоб это стало возможным нужно некую переменную, заранее проинициализированную, увеличивать на 1 на каждой итерации цикла.

Всё-таки возникает вопрос, а нужно ли заставлять тестер спать, или есть более простое решение посталенной задачи?

 

Есть.

Кнопка Power вашего компьютера.
Тестер МТ5.
Счетчик тиков, если без дураков.

 

Сам не пробовал, но есть идея по достижению заданного времени, где нужна пауза, ожидать появления на графике графического объекта с определенным свойством (тип, описание и др.). Когда он появится - завершать функцию start, предварительно удалив этот объект если нужна будет повторная пауза.

 
Svinozavr >>:
Можно разогнать компьютер до околосветовых скоростей, чтобы начали сказываться релятивисткие эффекты. Тогда время выполнения теста увеличится и м.б. посчитано по соотв. формуле (преобразование Лоренца). Подробней можно прочитать в ОТО.


Не по теме, конечно... Но эта теория работать не будет.

 У компа кварцевые часы. На них ОТО не работает. Да и, вообще, она нигде не работает...

 
api >>:

Сам не пробовал, но есть идея по достижению заданного времени, где нужна пауза, ожидать появления на графике графического объекта с определенным свойством (тип, описание и др.). Когда он появится - завершать функцию start, предварительно удалив этот объект если нужна будет повторная пауза.

Тоже такая мысль была... Но видимо это не так часто нужно(не припомню в какой задаче последний раз была необходимость)...

Топикстартеру:

int start()
  {
//----
   _Sleep_(3000) ; // Sleep в 3 секунды
//----
   return(0);
  }
//+------------------------------------------------------------------+

void _Sleep_(int value)
{
   int time_start = GetTickCount();
   while( GetTickCount() - time_start < value ){}
}
ещё есть сишный Sleep но называется также как и MQL-ий...
Причина обращения: