MT5 и скорость в боевом исполнении - страница 67

 
fxsaber:

Задача очень просто формулируется: как написать советник, который не будет тормозить на ожидании очереди? Бесконечный цикл нельзя, т.к. Sleep - тормоз. И асинхронность идет лесом. Сейчас же ловить ожидания в виде долгих миллисекунд - не дело совсем.

В Вашем случае - поменять компьютер на более мощный. И тогда можно будет Sleep не использовать
 
Anton:

Не обманывайте себя и окружающих.

Все ваши заявления здесь описывают совершенно другую задачу: как написать советник, который не будет подтормаживать на железе 9ти летней давности, загруженном сверх всякой меры.

Эта ветка и Ваше участие, в частности, помогли мне написать такой советник. Загрузка CPU до 10% на очень слабом VPS, когда работает больше десятка советников. Одномоментно за сотню позиций и отложек. CopyTicks на каждом тике и прочее. Поэтому Ваша переформулировка ошибочна.


Мне нужно на сильной машине с Idle-CPU создать советник, который не будет ожидать очереди долгие миллисекунды. К сожалению, Вы не запустили проверочный советник на своей MuscleCar.

 
Slava:
В Вашем случае - поменять компьютер на более мощный. И тогда можно будет Sleep не использовать

Просьба сообщить Benchmark-показатель, на который стоит ориентироваться, чтобы определить, достаточная ли мощь машины или нет.


Просьба ко всем обладателям мощного железа поделиться результатом работы этого советника на своей машине. Надо подождать минуту-другую после запуска.

 
fxsaber:

Поэтому и задаю вопрос владельцам MQ-Demo.

В таком случае, этот вопрос останется без ответа. Это демо сервер.

Еще раз повторяю: в терминале вы получаете самые "свежие" цены по каждому символу.

Терминал не занимается проставлением или модификацией времени тиков - как пришло, так и отдается. У терминала нет задачи синхронизировать время тиков по разным символам.

Т.е. ваше предположение, на основе приведенного вами теста, что терминал "тормозит" и отдает эксперту старые тики, является ложным.

На этом вопрос буду считать закрытым. Ваше обучение не является первоочередной задачей разработчиков.

 

На мой взгляд лучше тестировать на медленной машине. Он покажет проблемы, которые иначе остались бы незамеченными на быстрой машине.

Я проведу тест сегодня позже и опубликую результаты.

 
Anton:

В таком случае, этот вопрос останется без ответа. Это демо сервер.

Еще раз повторяю: в терминале вы получаете самые "свежие" цены по каждому символу.

Терминал не занимается проставлением или модификацией времени тиков - как пришло, так и отдается. У терминала нет задачи синхронизировать время тиков по разным символам.

Ваш демо существует для технической отработки. Если я переключусь на другой сервер, то Вы меня отправите к брокеру. Почему Ваш сервер формирует тиковый поток так, что присылает старые тики? Раз проблема не в Терминале, значит она есть в серверной части. При этом сервер принадлежит MQ. Поэтому какой-либо брокер здесь не при делах.

Т.е. ваше предположение, на основе приведенного вами теста, что терминал "тормозит" и отдает эксперту старые тики, является ложным.

На этом вопрос буду считать закрытым. Ваше обучение не является первоочередной задачей разработчиков.

Ваши домыслы о моем предположении ошибочны. Не надо ничего читать между строк.


Ну и по сути. Реальная ситуация на Вашем сервере (и на других). Последний пришедший тик в Обзор рынка имеет время 00:00:00.150, спустя время приходит тик со временем  00:00:00.148. Когда его получил в Терминал, сколько времени он уже жил?

 
fxsaber:

Просьба сообщить Benchmark-показатель, на который стоит ориентироваться, чтобы определить, достаточная ли мощь машины или нет.


Просьба ко всем обладателям мощного железа поделиться результатом работы этого советника на своей машине. Надо подождать минуту-другую после запуска.

2020.11.04 19:55:49.461	test1 (EURUSD,H1)	Alert: OnBook-lag! - 1002 mcs.
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[0] 1.17269 1.17269     true     494478
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[1] 1.17269 1.17269    false        297
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[2] 1.17272 1.17272     true     117109
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[3] 1.17272 1.17272    false       1002
2020.11.04 19:55:59.922	test1 (EURUSD,H1)	Alert: OnTick-lag! - 2673766 mcs.
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[0] 1.17266 1.17266    false        252
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[1] 1.17264 1.17264     true      35875
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[2] 1.17264 1.17264    false        247
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[3] 1.17264 1.17264     true    2673766
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	Alert: OnTick-lag! - 6478 mcs.
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[0] 1.17258 1.17258     true      86315
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[1] 1.17258 1.17258    false        265
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[2] 1.17260 1.17260    false      42446
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[3] 1.17260 1.17260     true       6478
...
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	Alert: OnTick-lag! - 15596 mcs.
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[0] 1.17292 1.17293     true     107565
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[1] 1.17292 1.17293    false        275
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[2] 1.17293 1.17293    false     219947
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[3] 1.17293 1.17293     true      15596
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	Alert: OnTick-lag! - 15784 mcs.
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[0] 1.17294 1.17294     true      29494
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[1] 1.17294 1.17294    false        283
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[2] 1.17296 1.17296    false     549238
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[3] 1.17296 1.17296     true      15784
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	Alert: OnTick-lag! - 4075 mcs.
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[0] 1.17297 1.17297     true      21386
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[1] 1.17297 1.17297    false        325
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[2] 1.17296 1.17296    false      97215
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[3] 1.17296 1.17296     true       4075

2020.11.04 12:18:51.145 Terminal        Windows 10 build 19041, AMD Ryzen 5 1600 Six-Core Processor, 12 / 15 Gb memory, 140 / 446 Gb disk, IE 11, UAC, GMT+3
Вроде железо достаточно более-менее мощное..
 



2020.11 . 04  17 : 55 : 08.418 Terminal MetaTrader 5 x64 build 2560 started for MetaQuotes Software Corp. 
2020.11 . 04  17 : 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
Я считаю, что это всегда будет проблемой из-за последовательного характера.
Однако, кажется, стоит следить как за новостями, так и за новостями, если вы хотите получать последние новости как можно скорее.
Файлы:
_20201104.log  199 kb
 
fxsaber:

Предлагаю другим поделиться результатом запуска этого скрипта на своей машине.

2020.11.04 18:33:01.220 TextCreate (EURUSD,H1)  total 18018475 microseconds (1.802 ms per iteration)
 
fxsaber:

Ваш скрипт.


Машина. 

Windows 10 build 19042, Intel Core i7-2700K  @ 3.50GHz, 7 / 15 Gb memory, 18 / 29 Gb disk

  29 гбайт диск. Вам тесты с домашних машин дают, а вы как я понимаю или с VPS или с виртуалки.

Виртуальный хостинг для MetaTrader 5
Виртуальный хостинг для MetaTrader 5
  • www.mql5.com
Виртуальный хостинг для MetaTrader 4/5 является лучшим VPS-решением для Форекса. Оно не требует настройки, дает минимальные задержки до сервера и отличается низкими ценами. Всего за 15 USD в месяц вы получите виртуальную платформу, которая работает круглые сутки, экономит вашу прибыль и даже окупает себя. Создать удаленную копию приложения...