Задача очень просто формулируется: как написать советник, который не будет тормозить на ожидании очереди? Бесконечный цикл нельзя, т.к. Sleep - тормоз. И асинхронность идет лесом. Сейчас же ловить ожидания в виде долгих миллисекунд - не дело совсем.
В Вашем случае - поменять компьютер на более мощный. И тогда можно будет Sleep не использовать
Все ваши заявления здесь описывают совершенно другую задачу: как написать советник, который не будет подтормаживать на железе 9ти летней давности, загруженном сверх всякой меры.
Эта ветка и Ваше участие, в частности, помогли мне написать такой советник. Загрузка CPU до 10% на очень слабом VPS, когда работает больше десятка советников. Одномоментно за сотню позиций и отложек. CopyTicks на каждом тике и прочее. Поэтому Ваша переформулировка ошибочна.
Мне нужно на сильной машине с Idle-CPU создать советник, который не будет ожидать очереди долгие миллисекунды. К сожалению, Вы не запустили проверочный советник на своей MuscleCar.
В таком случае, этот вопрос останется без ответа. Это демо сервер.
Еще раз повторяю: в терминале вы получаете самые "свежие" цены по каждому символу.
Терминал не занимается проставлением или модификацией времени тиков - как пришло, так и отдается. У терминала нет задачи синхронизировать время тиков по разным символам.
Т.е. ваше предположение, на основе приведенного вами теста, что терминал "тормозит" и отдает эксперту старые тики, является ложным.
На этом вопрос буду считать закрытым. Ваше обучение не является первоочередной задачей разработчиков.
В таком случае, этот вопрос останется без ответа. Это демо сервер.
Еще раз повторяю: в терминале вы получаете самые "свежие" цены по каждому символу.
Терминал не занимается проставлением или модификацией времени тиков - как пришло, так и отдается. У терминала нет задачи синхронизировать время тиков по разным символам.
Ваш демо существует для технической отработки. Если я переключусь на другой сервер, то Вы меня отправите к брокеру. Почему Ваш сервер формирует тиковый поток так, что присылает старые тики? Раз проблема не в Терминале, значит она есть в серверной части. При этом сервер принадлежит MQ. Поэтому какой-либо брокер здесь не при делах.
Т.е. ваше предположение, на основе приведенного вами теста, что терминал "тормозит" и отдает эксперту старые тики, является ложным.
На этом вопрос буду считать закрытым. Ваше обучение не является первоочередной задачей разработчиков.
Ваши домыслы о моем предположении ошибочны. Не надо ничего читать между строк.
Ну и по сути. Реальная ситуация на Вашем сервере (и на других). Последний пришедший тик в Обзор рынка имеет время 00:00:00.150, спустя время приходит тик со временем 00:00:00.148. Когда его получил в Терминал, сколько времени он уже жил?
2020.11 . 0417 : 55 : 08.418 Terminal MetaTrader 5 x64 build 2560 started for MetaQuotes Software Corp.
2020.11 . 0417 : 55 : 08.420 Terminal the the the the Windows 10 build 18362 , Intel Core i5- 7400 @ 3.00 GHz, 22 / 31 Gb memory, 29 / 222 Gb disk, IE 11 , UAC, GMT + 1
Аппаратное обеспечение Midiocre без нагрузки.
Но если Вы хотите сравнить тики, полученный в OnTick и полученный в OnBookEvent, тогда вас ждёт разочарование, так какобработка событийпроизводится последовательно, а не параллельно. О чём Вам попытался сказать пользователь pivomoe
Я считаю, что это всегда будет проблемой из-за последовательного характера.
Однако, кажется, стоит следить как за новостями, так и за новостями, если вы хотите получать последние новости как можно скорее.
Виртуальный хостинг для MetaTrader 4/5 является лучшим VPS-решением для Форекса. Оно не требует настройки, дает минимальные задержки до сервера и отличается низкими ценами. Всего за 15 USD в месяц вы получите виртуальную платформу, которая работает круглые сутки, экономит вашу прибыль и даже окупает себя. Создать удаленную копию приложения...
Задача очень просто формулируется: как написать советник, который не будет тормозить на ожидании очереди? Бесконечный цикл нельзя, т.к. Sleep - тормоз. И асинхронность идет лесом. Сейчас же ловить ожидания в виде долгих миллисекунд - не дело совсем.
Не обманывайте себя и окружающих.
Все ваши заявления здесь описывают совершенно другую задачу: как написать советник, который не будет подтормаживать на железе 9ти летней давности, загруженном сверх всякой меры.
Эта ветка и Ваше участие, в частности, помогли мне написать такой советник. Загрузка CPU до 10% на очень слабом VPS, когда работает больше десятка советников. Одномоментно за сотню позиций и отложек. CopyTicks на каждом тике и прочее. Поэтому Ваша переформулировка ошибочна.
Мне нужно на сильной машине с Idle-CPU создать советник, который не будет ожидать очереди долгие миллисекунды. К сожалению, Вы не запустили проверочный советник на своей MuscleCar.
В Вашем случае - поменять компьютер на более мощный. И тогда можно будет Sleep не использовать
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
MT5 и скорость в боевом исполнении
fxsaber, 2020.11.04 16:21
К сожалению, Вы не запустили проверочный советник на своей MuscleCar.
Просьба сообщить Benchmark-показатель, на который стоит ориентироваться, чтобы определить, достаточная ли мощь машины или нет.
Просьба ко всем обладателям мощного железа поделиться результатом работы этого советника на своей машине. Надо подождать минуту-другую после запуска.
Поэтому и задаю вопрос владельцам MQ-Demo.
В таком случае, этот вопрос останется без ответа. Это демо сервер.
Еще раз повторяю: в терминале вы получаете самые "свежие" цены по каждому символу.
Терминал не занимается проставлением или модификацией времени тиков - как пришло, так и отдается. У терминала нет задачи синхронизировать время тиков по разным символам.
Т.е. ваше предположение, на основе приведенного вами теста, что терминал "тормозит" и отдает эксперту старые тики, является ложным.
На этом вопрос буду считать закрытым. Ваше обучение не является первоочередной задачей разработчиков.
На мой взгляд лучше тестировать на медленной машине. Он покажет проблемы, которые иначе остались бы незамеченными на быстрой машине.
Я проведу тест сегодня позже и опубликую результаты.
В таком случае, этот вопрос останется без ответа. Это демо сервер.
Еще раз повторяю: в терминале вы получаете самые "свежие" цены по каждому символу.
Терминал не занимается проставлением или модификацией времени тиков - как пришло, так и отдается. У терминала нет задачи синхронизировать время тиков по разным символам.
Ваш демо существует для технической отработки. Если я переключусь на другой сервер, то Вы меня отправите к брокеру. Почему Ваш сервер формирует тиковый поток так, что присылает старые тики? Раз проблема не в Терминале, значит она есть в серверной части. При этом сервер принадлежит MQ. Поэтому какой-либо брокер здесь не при делах.
Т.е. ваше предположение, на основе приведенного вами теста, что терминал "тормозит" и отдает эксперту старые тики, является ложным.
На этом вопрос буду считать закрытым. Ваше обучение не является первоочередной задачей разработчиков.
Ваши домыслы о моем предположении ошибочны. Не надо ничего читать между строк.
Ну и по сути. Реальная ситуация на Вашем сервере (и на других). Последний пришедший тик в Обзор рынка имеет время 00:00:00.150, спустя время приходит тик со временем 00:00:00.148. Когда его получил в Терминал, сколько времени он уже жил?
Просьба сообщить Benchmark-показатель, на который стоит ориентироваться, чтобы определить, достаточная ли мощь машины или нет.
Просьба ко всем обладателям мощного железа поделиться результатом работы этого советника на своей машине. Надо подождать минуту-другую после запуска.
Аппаратное обеспечение Midiocre без нагрузки.
Предлагаю другим поделиться результатом запуска этого скрипта на своей машине.
Ваш скрипт.
Машина.
29 гбайт диск. Вам тесты с домашних машин дают, а вы как я понимаю или с VPS или с виртуалки.