ФОРТС. Вопросы по исполнению - страница 5

 

Господа papaklass и olyakish !

 Совершенно не понятно зачем вы затеяли личную переписку в этой важной теме, после того, как Ренат подтвердил наличие

"плавающей" ошибки в скорости доставки ответов к терминалу.

А так же, дал обещание, что MQ улучшат общий трафик исполнения приказов.

И вообще, как можно что-либо проверять на форексных кухнях? 

 
papaklass:

Вообще то мы выложили много полезной информации:

- конфигурации своих серверов;

- методы проверки сети (ping -t);

- olyakish выложил свои наработки по выбору виртуального сервера.

Но похоже, что Вам это не нужно.

На форексе очень много того, что поддается проверкам. А если Вы считаете, что на бирже нет манипуляций, то я Вам сочувствую. :)

 
kond777:

Господа papaklass и olyakish !

 Совершенно не понятно зачем вы затеяли личную переписку в этой важной теме, после того, как Ренат подтвердил наличие

"плавающей" ошибки в скорости доставки ответов к терминалу.

А так же, дал обещание, что MQ улучшат общий трафик исполнения приказов.

И вообще, как можно что-либо проверять на форексных кухнях? 

 
RE      0       15:30:57.591    Trades  '871788': market buy 0.03 EURUSD.e
JM      0       15:30:57.591    Trades  '871788': market buy 0.04 USDJPY.e
EK      0       15:30:57.591    Trades  '871788': market sell 0.03 EURJPY.e
JS      0       15:30:57.607    Trades  '871788': order #23947599 buy 0.03 / 0.03 EURUSD.e at 1.21874 done in 28 ms
CS      0       15:30:57.607    Trades  '871788': deal #16364222 buy 0.03 EURUSD.e at 1.21874 done (based on order #23947599)
KL      0       15:30:57.622    Trades  '871788': order #23947600 buy 0.04 / 0.04 USDJPY.e at 120.314 done in 44 ms
NF      0       15:30:57.622    Trades  '871788': deal #16364223 buy 0.04 USDJPY.e at 120.314 done (based on order #23947600)
GF      0       15:30:57.653    Trades  '871788': order #23947601 sell 0.03 / 0.03 EURJPY.e at 146.615 done in 74 ms
EF      0       15:30:57.653    Trades  '871788': deal #16364224 sell 0.03 EURJPY.e at 146.615 done (based on order #23947601)
NM      0       15:31:56.771    Trades  '871788': market buy 0.03 EURUSD.e
FD      0       15:31:56.771    Trades  '871788': market buy 0.04 USDJPY.e
IS      0       15:31:56.771    Trades  '871788': market sell 0.03 EURJPY.e
LK      0       15:31:56.803    Trades  '871788': order #23947606 buy 0.03 / 0.03 EURUSD.e at 1.21877 done in 33 ms
RJ      0       15:31:56.803    Trades  '871788': deal #16364229 buy 0.03 EURUSD.e at 1.21877 done (based on order #23947606)
PE      0       15:31:56.834    Trades  '871788': order #23947607 buy 0.04 / 0.04 USDJPY.e at 120.315 done in 64 ms
CO      0       15:31:56.834    Trades  '871788': order #23947608 sell 0.03 / 0.03 EURJPY.e at 146.619 done in 63 ms
OR      0       15:31:56.834    Trades  '871788': deal #16364230 buy 0.04 USDJPY.e at 120.315 done (based on order #23947607)
GO      0       15:31:56.834    Trades  '871788': deal #16364231 sell 0.03 EURJPY.e at 146.619 done (based on order #23947608)
ED      0       15:33:00.526    Trades  '871788': market buy 0.03 EURUSD.e
ML      0       15:33:00.526    Trades  '871788': market buy 0.04 USDJPY.e
RH      0       15:33:00.526    Trades  '871788': market sell 0.03 EURJPY.e
DP      0       15:33:00.526    Trades  '871788': order #23947612 buy 0.03 / 0.03 EURUSD.e at 1.21878 done in 10 ms
OO      0       15:33:00.526    Trades  '871788': order #23947613 buy 0.04 / 0.04 USDJPY.e at 120.315 done in 10 ms
OG      0       15:33:00.526    Trades  '871788': deal #16364236 buy 0.03 EURUSD.e at 1.21878 done (based on order #23947612)
NE      0       15:33:00.526    Trades  '871788': deal #16364237 buy 0.04 USDJPY.e at 120.315 done (based on order #23947613)
LI      0       15:33:00.558    Trades  '871788': order #23947614 sell 0.03 / 0.03 EURJPY.e at 146.612 done in 40 ms
HG      0       15:33:00.558    Trades  '871788': deal #16364238 sell 0.03 EURJPY.e at 146.612 done (based on order #23947614)

Вот реал LMAX по API .NET

исполнение на новости 12 мс при пинге 8 мс (замеры делал с использованием высокочастотного таймера)

Думаю это ориентир

 
olyakish:

Вот реал LMAX по API .NET

исполнение на новости 12 мс при пинге 8 мс (замеры делал с использованием высокочастотного таймера)

Думаю это ориентир

 
papaklass:

В последней пачке у Вас отправка приказов и получение ответов сервера укладывается в 1 (!!!) мсек. А в логе журнала показывает время обработки приказа сервером 10 мсек. Чудеса. :)

Возникает вопрос:

Можно ли верить таймингам, опубликованным в журнале терминала?

На данный момент точность указания времени в журнале зависит от разрешения системного таймера. В данном случае скорее всего было около 16мс (можно проверить утилитой clockres). Над этим вопросом мы тоже работаем, журнал будет дорабатываться.
 
papaklass:

В последней пачке у Вас отправка приказов и получение ответов сервера укладывается в 1 (!!!) мсек. А в логе журнала показывает время обработки приказа сервером 10 мсек. Чудеса. :)

Возникает вопрос:

Можно ли верить таймингам, опубликованным в журнале терминала?

Эти скорее всего точно дискретны 16 мс

15:33:00.526 

а вот эти возможно и более точные

done in 10 ms
 
olyakish:

Вот реал LMAX по API .NET

исполнение на новости 12 мс при пинге 8 мс (замеры делал с использованием высокочастотного таймера)

Думаю это ориентир 

zaskok:

Давайте на чистоту и прозрачно. Будем говорить о latency за вычетом всех пингов между узлами.

Мне демонстрировали HFT-ники на рос. бирже latency ~ 1 мс. Я не технарь и не могу рассказать, как они этого добиваются.

Точно также на LMAX latency ~ 2-3 ms.

Еще раз повторяю, речь идет о latency ритейла за вычетом всех пингов.

MT5-инфраструктура подключается напрямую к биржам. Или, как Вы сказали, это просто "труба". HFT-ники подключают свои трубы и получают результат, как написал выше.

Подключая MT5-трубу, получаются гораздо бОльшие временные издержки. Каковы причины?

Renat:

Надо не на чистоту, а на профессиональном уровне знаний.

olyakish, уверены, что у Вас достаточно профессиональный уровень знаний?
 
papaklass:

Билд 1036.

Как с этим бороться? Разница в исполнении чудовищная. 

Можно добиться стабильности в исполнении на сервере?

PS: Как то неуместно смотрится реклама МТ как высокочастотной платформы. :(


papaklass!

Не нужно так "напрягаться"!

Вы даже не удосуживаетесь прочитать сообщения!

И тупо лепите свои посты!

Не пора ли остановится? 

РАБОТАЮТ ЛЮДИ!!!! 

 
papaklass:
Не затруднит Вас показать сообщение, которое я должен был прочитать?

Цитирую Рената:

Сегодня в "Открытие" уже работает сервер 1035.

Вот как изменилось время срабатывания ордеров с VPS в Москве (один и тот же комп, один и тот же реальный счет):

2014.12.18 билд 1010 сервера
2014.12.18 10:22:33.885 Trades  'XXXXXX': buy limit 1.00 Si-3.15 at 64638 placed for execution in 72 ms
2014.12.18 10:35:05.309 Trades  'XXXXXX': exchange buy 1.00 Si-3.15 at market placed for execution in 94 ms
2014.12.18 10:35:18.937 Trades  'XXXXXX': exchange sell 1.00 Si-3.15 at market placed for execution in 148 ms

2014.12.24 билд 1035    
2014.12.24 16:06:14.726 Trades  'XXXXXX': sell limit 1.00 Si-3.15 at 58837 placed for execution in 33 ms
2014.12.24 16:08:32.755 Trades  'XXXXXX': exchange sell 1.00 Si-3.15 at market placed for execution in 24 ms
2014.12.24 16:08:46.841 Trades  'XXXXXX': exchange buy 1.00 Si-3.15 at market placed for execution in 26 ms

Как и обещал, есть качественное (кратное) улучшение в скоростных характеристиках отработки ордеров.

Изредка плавающее время доставки ответа в терминал еще не забороли, над этим продолжим работу. 

------------------------------------------------------- 

А почему вы считаете их внутренними?

1) Посмотрите в OnTradeTransaction сколько вы промежуточных статусов получаете о заявке. 

Каждая торговая транзакция - это не один пакет (запрос-ответ), а несколько уведомлений. Это для того, чтобы терминал всегда знал, на каком этапе находится заявка (например, исполнение может затянуться надолго). 

Сейчас мы думаем над возможностью включения в MQL5 отдельной функции для отключения всех промежуточных уведомлений о статусах, переводя схему в простую форму. Это может ускорить исполнение.

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


Мне представляется, что это раз в 10 больше, чем могло бы быть. 

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

Уточню, что мы не в 2 раза вообще-то улучшили скорость, а выиграли примерно 20-30 мс.  Два больше единицы не в 2 раза, а всего на единицу. Это всего лишь эффект низкой базы.


В любом случае, мы продолжаем работу и добьемся еще лучших результатов. 

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Причина обращения: