Какое событие называется первым?OnTick () или OnTimer ()? - PullRequest
0 голосов
/ 14 мая 2019

Если я обрабатываю события OnTick, а также события OnTimer, есть ли предпочтение в очереди? При вычислении чувствительных ко времени алгоритмов в секундах я задаюсь вопросом, проще ли написать целый советник внутри OnTimer, чтобы избежать проблем с обработкой событий.

1 Ответ

0 голосов
/ 14 мая 2019

OnTimer - это запланированный звонок.Если ваш текущий OnTimer вызов занимает много времени для обработки, последующий OnTimer может быть пропущен.То же самое с OnTick.Если предположить, что советник запускается в 00: 00: 00.021 с EventSetTimer(1);, то советник будет вызывать его каждую секунду в 21-ю миллисекунду (ну, некоторые люди говорят, что это не всегда так, но в большинстве случаев это приемлемо).В то же время возможно, что вы получите больше тиков в течение секунды или вообще не будете.Если какое-то действие важно, OnTimer() может помочь с этим.
По каким критериям вы должны использовать OnTimer()?В MT4 одним из примеров является использование диаграмм Ренко (в режиме реального времени для тестов вызов отключен в MT4).Для MT4 и 5 OnTimer() хорошо, если вы работаете с мультивалютным экспертом.Вы можете контролировать OnTick одного символа, но не для обоих / всех, вызывается OnTimer, даже если новый тик не прибыл.

...