Подскажите как лучше сделать ЗАПУСК скрипта ПО ВРЕМЕНИ.

 

Хочу сделать робота для бинарных опционов. Нужно анализировать ситуацию за 1-2 секунды до закрытия свечи.

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

Использовании функции Sleep:

void start() {

while(true){

Sleep(200);

...

}

}

 
iabsvv:

Хочу сделать робота для бинарных опционов. Нужно анализировать ситуацию за 1-2 секунды до закрытия свечи.

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

Использовании функции Sleep:

void start() {

while(true){

Sleep(200);

 

Лучше в советнике в OnInit() с помощью Sleep() определить один раз нужное время входа за 1-2 секунды до конца свечи. Потом подключить OnTimer(), который уже циклически будет срабатывать в этот промежуток времени.

 
iabsvv:

Хочу сделать робота для бинарных опционов. Нужно анализировать ситуацию за 1-2 секунды до закрытия свечи.

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

Использовании функции Sleep:

void start() {

while(true){

Sleep(200);

...

}

}

добрый день. дельта в секундах до начала нового бара например для минуток это будет 57.
 if(TimeCurrent()>Time[0]+Delta)
{
//необходимые действия
}
с уважением.
 

для 1-2 сек - возможно придётся брать event от таймера и заранее уходить в цикл, где уже ловить что до часа X осталось всего ничего.

И на TimeCurrent() при этом не стоит полагаться - оно всего-лишь время последнего тика, а их может вовремя и не быть. Только TimeLocal() как источник времени.

 
Maxim Kuznetsov:

для 1-2 сек - возможно придётся брать event от таймера и заранее уходить в цикл, где уже ловить что до часа X осталось всего ничего.

И на TimeCurrent() при этом не стоит полагаться - оно всего-лишь время последнего тика, а их может вовремя и не быть. Только TimeLocal() как источник времени.

почему TimeCurrent(), на мой взгляд лучше, не попали в нужное время, котировки слабые, лезть в рынок вообще не стоит. решаем 2 задачи, определяем вялый или быстрый рынок, делаем свои дела если рынок живой. другие варианты конечно не исключаются и можно пробовать все что угодно.


с уважением.
 

Пишем советника. с Таймером. пусть запускается раз в секунду. 

Если время подходящее - секунда 57-59 то что-то делаем. Иначе выходим.

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