![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пока споры спорятся, провел еще 1 эксперимент.
Т.е при инициализации засекаю микросекундное время,
и перед каждым принтом вновь буру время
В идеале должно быть так
Но очень часто получается так (выдержки лога):
Но это не как не вяжется с 4 секндами...
о, додумались наконец-то время засекать, прогресс!)
з.ы. в подтверждение того, что время точно не записи на диск приведу простейший тест, между операциями в Test делаются некоторые вычисления, занимающие в среднем 7 микросекунд.
При этом видно что с одинаковым временем в микросекундах выводятся принты за десяток+ таких операций, и принты выводятся каждую микрсоекунду. Думаю всем всё понятно.
ап: если первый принт поставить прямо перед вторым, тогда дельта уже 0-1, значит Принт самый долгий в этой цепочке.
о, додумались наконец-то время засекать, прогресс!)
Вам что, уважаемый? Делать нечего?
С это все и началось!
Вам что, уважаемый? Делать нечего?
С это все и началось!
Добавлено
К тому же, Вы еще не знаете, что GetMicrosecondCount() имеет погрешность до 16 мс! :)
Функция дающая микросекунды, имеет погрешность до 16 миллисекунд, т.е. ошибка на порядок выше своего названия, ну-ну)) может ещё и пруфом подтвердите?
Функция дающая микросекунды, имеет погрешность до 16 миллисекунд, т.е. ошибка на порядок выше своего названия, ну-ну)) может ещё и пруфом подтвердите?
Перепутал
Перепутал
Ну респект что признаёте ошибку сразу ;)
Лаг 4 секунды скорее всего действительно в какой-то момент терминал задумался, такое вроде бывает когда антивирус начинает проверку и т.п. случаи.
И 4 секунды это означает именно что Принт вышел на 4 секунды позже в кэш лога, а не то что ОнБук пришёл на 4 секунды позже (хотя и такое думаю возможно в зависимости как загрузить в моменте комп)
з.ы. т.к. Принт сначала идёт в очередь, а оттуда уже в лог.Ну респект что признаёте ошибку сразу ;)
Лаг 4 секунды скорее всего действительно в какой-то момент терминал задумался, такое вроде бывает когда антивирус начинает проверку и т.п. случаи.
И 4 секунды это означает именно что Принт вышел на 4 секунды позже в кэш лога, а не то что ОнБук пришёл на 4 секунды позже (хотя и такое думаю возможно в зависимости как загрузить в моменте комп)
з.ы. т.к. Принт сначала идёт в очередь, а оттуда уже в лог.да возможно так
И 4 секунды это означает именно что Принт вышел на 4 секунды позже в кэш лога, а не то что ОнБук пришёл на 4 секунды позже (хотя и такое думаю возможно в зависимости как загрузить в моменте комп)
з.ы. т.к. Принт сначала идёт в очередь, а оттуда уже в лог.Ну да, а как же это?
На одном чарте был запущен OnBook, а на другом OnTick
56 мс разница между OnTick и OnBook
и таже разница в принте :)
Ну да, а как же это?
На одном чарте был запущен OnBook, а на другом OnTick
56 мс разница между OnTick и OnBook
и таже разница в принте :)
Я опять же точно не уверен, т.к. спать хочу и сомневаться - удел опытных и мудрых)
Но думается что тут дело лишь элементарно в том, что Symbol() жрёт время )))
вот так правильный тест - проверьте - мне лень)
ul это ulong глоб. перем-ая.
Я опять же точно не уверен, т.к. спать хочу и сомневаться - удел опытных и мудрых)
Но думается что тут дело лишь элементарно в том, что Symbol() жрёт время )))
вот так правильный тест - проверьте - мне лень)
ul это ulong глоб. перем-ая.
:), спокойной ночи
Я опять же точно не уверен, т.к. спать хочу и сомневаться - удел опытных и мудрых)
Но думается что тут дело лишь элементарно в том, что Symbol() жрёт время )))
вот так правильный тест - проверьте - мне лень)
ul это ulong глоб. перем-ая.
как вариант, что бы отсечь опасения что Symbol() жрет время , пусть тогда оба обработчика "питаются" одинаково.