Нужна помощь - страница 2

 
Vladimir:

Пока не отвечает Dmitriy Gizlyk, попробую Выяснить вашу позицию. При запущенных 25 терминалах как исполняется OnTimer, если каждый экземпляр вправе его отложить по своим нуждам? Плюс ОС дает процессорное время время каждому терминалу только по очереди. Выходит, никакой он не OnTimer, срабатывает когда-нибудь? А как со Sleep? Понимаю, что других вариантов нет все равно, Windows вовсе не ОС реального времени и OnTimer  вне очереди никуда не влезет, но все же есть ли разница между использованием OnTimer и Sleep?

Почему нет? Есть. У вас все равно идет отработка по каждому тику. Вот тут и следите за временем. И когда наступает нужный момент выполняйте определенные действия. TimeLocal ни кто не отменял.

По 5-ти минутному промежутку вообще можно проще. Отследить появление нового бара M5 (они появляются по привязке к времени)...
Ну это если вам нужно жесткая привязка именно к началу определенного времени.

 
Konstantin Nikitin:

Почему нет? Есть. У вас все равно идет отработка по каждому тику. Вот тут и следите за временем. И когда наступает нужный момент выполняйте определенные действия. TimeLocal ни кто не отменял.

По 5-ти минутному промежутку вообще можно проще. Отследить появление нового бара M5 (они появляются по привязке к времени)...
Ну это если вам нужно жесткая привязка именно к началу определенного времени.

"Отработка по каждому тику" - где Вы это прочли? В слове "когда" (наступает нужный момент) я как раз и сомневаюсь, и спрашиваю, что происходит, если в нужный момент та программа, которая должна его обслужить, стоит в очереди за процессорным временем, например, на 18-м месте в своем приоритете. Если работают 25 терминальных потоков плюс один поток скрипта, снимающего тики. Всего один... пусть и на 8 процессоров.

 
Vladimir:

"Отработка по каждому тику" - где Вы это прочли?

labvic:

Здравствуйте! Нужно вывести в журнал значение Bid с 5 знаками после запятой с задержкой 20 мин.

Кто мешает записывать в журнал при появлении каждого 4-го бара по M5? И не важно где это используете в эксперте или индикаторе.Я говорил про OnCalculate, OnTick. Или они уже отменены?
 
Konstantin Nikitin:
Кто мешает записывать в журнал при появлении каждого 4-го бара по M5? И не важно где это используете в эксперте или индикаторе.Я говорил про OnCalculate, OnTick. Или они уже отменены?
Понятно. Я-то интересовался работой OnTimer. Точнее, тем, что это "функция, вызываемая по времени. Вызывается терминалом". И сравнением ее работы с работой Sleep. Эти события - реакция на работу таймера, тогда как приход тика и окончание вычислений - внутренние события в потоке терминала, не требующие засечек по времени.