Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хочу напомнить, что в OnTick поступают два независимых потока, информационный и торговый, COPY_TICKS_INFO и COPY_TICKS_ALL и проходит предобработку.
Эти потоки не синхронизированы между собой, поэтому если сравнивать OnBookEvent с OnTick, то надо брать TICKS_INFO.
OnBookEvent по определению должен быть быстрее , т.к. не проходит предобработку.
Тестами достоверно определить невозможно кто быстрее, т.к. мы не знаем биржевое время стакана в отличие от тиков.
Хотя много раз просили разработчиков, ДОБАВЬТЕ ВРЕМЯ СТАКАНА ! ! !
p.s. кроме скорости стакан имеет еще преимущества перед OnTick,
как уже было сказано, в OnTick невозможно получить лучшую цену Bid и Ask,
и в OnTick не приходят данные с других символов, для советников анализирующих несколько инструментов бесполезен.
заменил COPY_TICKS_ALL на COPY_TICKS_INFO
Результат
Отмеченное желтым - один и тот же тик!
Вероятно, в коде все же есть неточность?...На секунду показалось, что у вас есть желание разобраться и оно поможет усмирить гордыню.
Нет, только показалось.
В целом, вопрос раскрыт, и любой желающий сможет посмотреть и ваш, и fxsaber-а и мой коды, и сделать выводы.
С вами диалог прекращаю, ничего кроме громких криков от вас не исходит, а на прием информации ваш мозг вообще не работает.
Удачи на ФОРТСЕ.
Хочу напомнить, что в OnTick поступают два независимых потока, информационный и торговый, COPY_TICKS_INFO и COPY_TICKS_ALL и проходит предобработку.
Эти потоки не синхронизированы между собой, поэтому если сравнивать OnBookEvent с OnTick, то надо брать TICKS_INFO.
Сергей, мы используем On-функции просто как точку входа.
Вопрос заключался в том, какая точка входа наступит раньше (отдав при этом одинаково правильную информацию о последнем тике).
Запустите мой советник, и посмотрите в лог. Время события (с точностью до мс) и время последнего известного тика (тоже с мс) выводится в лог.
Просто проанализируйте несколько отдельных тиков на предмет "кто раньше".
OnBookEvent по определению должен быть быстрее , т.к. не проходит предобработку.
Не думаю, что ОнТик ее проходит. И тесты это подтверждают, ни какой задержки нет.
как уже было сказано, в OnTick невозможно получить лучшую цену Bid и Ask
Возможно, с помощью CopyTicks.
Запустите мой советник, и посмотрите в лог. Время события (с точностью до мс) и время последнего известного тика (тоже с мс) выводится в лог.
Просто проанализируйте несколько отдельных тиков на предмет "кто раньше".
Обычная ситуация, когда ОнБук приходит одновременно с ОнТик или на 1-2 мс позже. Но бывают и лаги:
За 5 часов работы:
В 2 раза больше событий ОнБук. Жаль, что далеко не все они несут полезную нагрузку (если нужны бест бид/аск и ласт).
Сергей, мы используем On-функции просто как точку входа.
Вопрос заключался в том, какая точка входа наступит раньше (отдав при этом одинаково правильную информацию о последнем тике).
Запустите мой советник, и посмотрите в лог. Время события (с точностью до мс) и время последнего известного тика (тоже с мс) выводится в лог.
Просто проанализируйте несколько отдельных тиков на предмет "кто раньше".
Это вы неправильно делаете. Возможно событие стакана пришло, но в историю тиков еще не попало. Надо сравнивать цены Bid Ask, а не копаться в истории тиков.
Не думаю, что ОнТик ее проходит. И тесты это подтверждают, ни какой задержки нет.
Прежде чем попасть в историю тики обязательно обрабатываются, а так же раздаются всем необходимым чартам, индикаторам и советникам. И всё это в МТ5 делается последовательно (не распаралеливается).
Возможно, с помощью CopyTicks.
Просто проанализируйте несколько отдельных тиков на предмет "кто раньше".
У меня по разному получается:
синие линии это OnBook,
красные OnCalculat = OnTick.
Если интересно могу код индикатора показать
У меня по разному получается:
синие линии это OnBook,
красные OnTick.
Если интересно могу код индикатора показать
Да нет Сереж!
Нужно признать, что OnBookEvent() и OnTick() все тики совпадают (у меня была ошибка в коде),
но другие изменения стакана ни как не отражаются в OnTick()
Для ФОРЕКСников это не важно.(Осторожная цитата от сообщения выше: " В 2 раза больше событий ОнБук. Жаль, что далеко не все они несут полезную нагрузку (если нужны бест бид/аск и ласт)".)
Исправленный код:
Результат (фрагмент)
Да нет Сереж!
Нужно признать, что OnBookEvent() и OnTick() все тики совпадают (у меня была ошибка в коде),
но другие изменения стакана ни как не отражаются в OnTick()
Для ФОРЕКСников это не важно.(Осторожная цитата от сообщения выше: " В 2 раза больше событий ОнБук. Жаль, что далеко не все они несут полезную нагрузку (если нужны бест бид/аск и ласт)".)
Исправленный код:
Результат (фрагмент)
Тики в истории конечно будут совпадать, но на картинке выше, получается не все инфо-тики попадают в историю или пропускаются в OnCalculat.
Не знаю может ошибка есть, теперь уже в понедельник буду разбираться.
А может для реал тайм, вместо
использовать
Зачем копировать, если можно сразу получить текущую цену?
В теории, CopyTicks в своих потрохах, имеет дополнительные проверки параметров, чем увеличивает длину кода в теле функции.
А SymbolInfoTick не имеет дополнительных параметров, и по идее реализация данной функции должна содержать меньше кода.
Меньше кода - быстрее выполнение.
Единственно что плохо, по функции SymbolInfoTick нет подробной документации, как у CopyTicks, и до конца не ясно как она работает.
Кэширует, или сразу отдаёт сырец то что пришло.