Jame Bonds
Jame Bonds личный блог
08 июля 2017, 00:54

Измерение раундтрипа заявок в MT5

Большое спасибо пользователю MBaum за его пост Самый Быстрый брокер? (тест скорости серверов брокеров)
Поскольку:

  • было интересно сравнить с тем, что имею,
  • увидел под постом просьбу протестировать Metatrader 5, а я им пользуюсь,
  • хотелось принести пользу человечеству смартлабу,

то заглянул в задержки, которые я регулярно наблюдаю в этом терминале.

Пара слов о приведенных данных:

1)   Мой ЭВМ находится в Ростове-на-Дону. Поэтому в приведенных цифрах есть доля, связанная с путешествием до Москвы. 

Встроенный в терминал пинг регулярно показывает цифру 25 мс. Попытка поймать терминал на мухляже не удалась – проверив его сетевые соединения я их пинганул и получил такую же цифру.

Update: По данным пользователя Черный кот пинг в Москве до серверов менее 5 мс. Дальше эта цифра учтена.

2) Все измерения производятся торговым роботом, при каждой выставляемой заявке. Заявки ставились в разное время в течение всего торгового дня. Загрузка биржи в этот момент могла быть любой, что и будет видно.

3) Измерения основаны на встроенной в терминал функции GetTickCount().

4) Измерение времени при каждой заявке делается дважды:

  • до начала выставления заявки, в момент, когда терминалу еще не дана команда посылать заявку на биржу;
  • после получения от терминала ответа, что заявка исполнена (не принята сервером брокера, а уже сведена со встречной и есть номер сделки).

5) Заявки, по которым сгенерировалась более чем одна сделка, не рассматривались.

6) Цифры взяты из логов за 2017.06.02 по инструменту RTS-6.17

7) Брокер «Открытие».

Итак, цифры!

Раундтрип заявки, мс

94

63

47

63

78

125

47

62

109

31

47

63

47

78

62

109

31

47

63

62

47

78

218

62

31

Среднее: 70,5 мс

 

Если находиться в Москве, то ожидаемое время среднего раундтрипа = 50 мс.

 

Отдельно отмечу следующее:

1)   В данных, полученных из метатрейдера присутствует разброс, причинами которого могут быть:

  • тормоза моего ЭВМ;
  • тормоза интернета (пакет пропал и т.д.);
  • тормоза биржи (в момент большой нагрузки на биржу время обработки увеличивается).

В данных, приведенных по «самому быстрому брокеру», разброса практически нет, что может быть связано с:

  • хорошим интернетом (к сожалению, MBaum не указал свой город, но видимо он в Москве);
  • тем, что заявки ставились сжато во времени, когда нагрузка на биржу была небольшой.

2)   Очевидно, что функция GetTickCount() терминала измеряет время с дискретом около 15 мс. Хм, раньше я такого не видел. Будем разбираться. Тем не менее данных достаточно, чтобы доверять среднему.
2)Чисто теоретически, терминал может мухлевать с GetTickCount() и показывать его ниже, чем на самом деле (привет Dieselgate). Чтобы это проверить нужно замутить измерение раундтрипа через внешнюю DLL. Вскоре этим озадачусь.

Вывод:

Полученная цифра 50 мс очень близка к полученному «самым быстрым брокером». Настолько близка, что чтобы определить победителя необходимо устраивать забеги: с одного ЭВМ по одному инструменту, в одно и то же время.

Еще раз благодарю MBaum за его пост.

Прошу тех, у кого есть практика работы с Plaza 2 привести времена раундтрипа при его использовании.

 

3 Комментария
  • helk3rn
    08 июля 2017, 02:45
    Ну да, в мск побыстрее. (Вообще, ИМХО разница в 50-300 мсек никак не важна в non-hft интрадее)
  • Чёрный кот
    08 июля 2017, 10:26
    Если интересен пинг в МСК, то у меня пинг до брокера БКС меньше 5 мс. Точнее первый сервер — 3.8мс, второй — 4.68мс.
  • MBaum
    08 июля 2017, 11:25
    Интересно было посмотреть результаты MT5, спасибо за пост. Вообще МТ5 интересная штука. По утверждениям Ильи Смирнова (разработчика EasyScalp) подключение через МТ5 дает преимущество в скорости в 5-10 раз в сравнении с Квиком, цифры у вас действительно красивые!

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн