Как обойти ограничение Sleep() в тестере - страница 3

 
Ладно, не знаю кому чего надо, может не так понял, тестером не пользуюсь, ушел.
 
220Volt:
Ладно, не знаю кому чего надо, может не так понял, тестером не пользуюсь, ушел.

Вот так всегда, не знаю кому чего надо, кто что спрашивал, никто не читает стартпосты, короче весело)
 

Какая тебе нужна задержка? секунда? пять секунд? какая цель? (при тестировании процессы проходят несколько отлично от действительности).

Какую модель используешь при тестировании? все тики? контрольные точки?

 
vadynik:

Вот так всегда, не знаю кому чего надо, кто что спрашивал, никто не читает стартпосты, короче весело)

Я же тебе написал как сделать тут https://www.mql5.com/ru/forum/148976

То что тебе предлагают, это все зависит от реального времени и не будет работать в тестере, не пробовал конечно функцию из kernel32, но сдается мне, что она делает задержку тоже реального времени. А тебе нужна задержка времени, которая привязывается к торговле, ну так и привяжись к барам - и в тестере будет работать и в реальной торговле. Если не знаешь как реализовать в коде это, тогда задавай уже соответствующие вопросы.

 
Вместо слипа запустить "пустой" цикл с математическим выражением внутри. Подбором сложности выражения и числа циклов подобрать нужную задержку.
Туповато, конечно, но работает для небольших задержек.
 
Roger:

Какая тебе нужна задержка? секунда? пять секунд? какая цель? (при тестировании процессы проходят несколько отлично от действительности).

Какую модель используешь при тестировании? все тики? контрольные точки?


Все тики, задержка от часа и выше

Barbarian да я помню, буду пробовать

 
vadynik:


Все тики, задержка от часа и выше

Barbarian да я помню, буду пробовать

Тогда нет ничего проще, после события, которое подразумевает паузу, ставите

timepause = TimeCurrent()+3600;

В самом начале определяете глобальную переменную

datetime timepause;

И в начале функции start()

if(TimeCurrent()<timepause)return(0);

 
vadynik:


Все тики, задержка от часа и выше

Barbarian да я помню, буду пробовать

А почему по дням-часам-минутам не планируете работу?! В тестере также выполняется! В нём же определяю расписание и перерывы в работе.
 
Roger:

Тогда нет ничего проще, после события, которое подразумевает паузу, ставите

timepause = TimeCurrent()+3600;

В самом начале определяете глобальную переменную

datetime timepause;

И в начале функции start()

if(TimeCurrent()<timepause)return(0);

Он думать не хочет. Готов спорить, он твоё решение проигнорирует (даже понимать не захочет) и снова будет требовать от разработчиков чтоб Sleep() в тестере работал. :))
 
MetaDriver:
Он думать не хочет. Готов спорить, он твоё решение проигнорирует (даже понимать не захочет) и снова будет требовать от разработчиков чтоб Sleep() в тестере работал. :))


друг,что тебе надо) и зачем апать тему, что мне надо я уже сделал, займись лучше делом