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

 

Общие мысли при работе с low latency процессами в трейдинге:

  • при переходе к величинам 10 мс на круг и ниже ты практически не можешь гарантировать стабильность латенси
  • если перед тобой кучка сетей, то стабильность в латенси - это подарок, а не гарантия
  • ты никак не контролируешь сети смежников, их пропускную способность и латенси
  • чтобы добиться гарантий, ты лично должен убрать всех посредников в сети до единого
  • чтобы добиться гарантий, ты должен инвестировать в свое железо (каналы, компьютеры, маршрутизаторы) и контролировать максимум маршрута
  • ты должен быть гиком и перфекционистом


Брокеры и системы, которые являются техногиками, явным образом работают над своей технологической инфраструктурой и инвестируют в ее совершенствование. Но этим не все занимаются, к сожалению.

 
Renat Fatkhullin:

В терминале показывается локальное время регистрации/получения сигнала на вашем терминале, а не точное время каждого этапа исполнения на удаленной стороне.

В данном случае вы получили все ответы (и подтверждение от МТ5 сервера и подтверждение об установке ордера на бирже) в одно время 029. Так как между вами есть много сетей, то нет никакой гарантии, что любой пакет будет мгновенно доставлен к вам за минимальное время пинга. Небольшой затык в сети или недостаток сетевого канала (например у брокера) приводит к накоплению пакетов и последующей групповой выдачей.

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


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

Т.е как здесь:

2016.10.10 10:00:05.148 Trades  'xxxxx': buy limit 5.00 RTS-3.17 at 98850
2016.10.10 10:00:05.148 Trades  'xxxxx': sell limit 5.00 RTS-3.17 at 99780
2016.10.10 10:00:05.154 Trades  'xxxxx': accepted buy limit 5.00 RTS-3.17 at 98850
2016.10.10 10:00:05.154 Trades  'xxxxx': accepted sell limit 5.00 RTS-3.17 at 99780
2016.10.10 10:00:05.155 Trades  'xxxxx': buy limit 5.00 RTS-3.17 at 98850 placed for execution in 6.904 ms
2016.10.10 10:00:05.156 Trades  'xxxxx': sell limit 5.00 RTS-3.17 at 99780 placed for execution in 7.850 ms

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

Торговый сервер получил приказ - время торгового сервера

Торговый сервер отдал бирже приказ - время торгового сервера

Торговый сервер получил от биржи ответ - время торгового сервера

Тогда бы Вы раз и навсегда закрыли бы эту долгоиграющую тему. 

Добавлено.

И присылать эти времена (все три) вместо accepted и placed for execution

 
Возможно, так и сделаем в будущем.
 
Renat Fatkhullin:

Общие мысли при работе с low latency процессами в трейдинге:

Вроде, вопросы касались сотен и тысяч миллисекунд.
 
fxsaber:
Вроде, вопросы касались сотен и тысяч миллисекунд.

На практике, построив хорошую инфраструктуру и радуясь 3-4 мс исполнения на круг с бережно собранными провадерами ликвидности, будучи зрелым брокером, люди ошарашенно садятся попой на пол, когда после перехода в продакшен видят периодические скачки в 700-1500 мс. И приходится строителям идеальных систем с этим жить и подстраиваться.

Так что это реалии таковы: гарантии стабильности минимального латенси нет.

Тем более, в среде со стольким количеством промежуточных этапов.

 
Renat Fatkhullin:
А взять и проверить?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

ФОРТС. Вопросы по исполнению

fxsaber, 2016.10.10 11:38

Вот и отличная возможность воспроизведения тормозов у разработчиков появилась!

Теперь нельзя будет сказать, что "торомозов не видим".

Разработчики должны на открытии сессии начать выставлять лимитные заявки и мониторить время исполнения. Увидят тормоза - будут по месту разбираться.

На данный момент ситуация удручающая, к сожалению. 

на своей инфраструктуре. С выкладыванием логов первых минут открытого рынка?
 
Renat Fatkhullin:

На практике, построив хорошую инфраструктуру и радуясь 3-4 мс исполнения на круг с бережно собранными провадерами ликвидности, будучи зрелым брокером, люди ошарашенно садятся попой на пол, когда после перехода в продакшен видят периодические скачки в 700-1500 мс. И приходится строителям идеальных систем с этим жить и подстраиваться.

Так что это реалии таковы: гарантии стабильности минимального латенси нет.

Тем более, в среде со стольким количеством промежуточных этапов.

Извините Ренат, но это никак не может быть сетевыми задержками:

2016.09.21 03:31:10.568 Terminal        Открытие Брокер MetaTrader 5 СР x64 build 1430 started (ОАО ''Брокерский дом ''ОТКРЫТИЕ'')

2016.09.21 17:30:00.156 Trades  'xxxxx': modify order #44620664 buy limit 5.00 ROSN-3.17 at 36438 sl: 0 tp: 0 -> 36470, sl: 0 tp: 0 placed for execution in 19.086 ms
2016.09.21 17:30:00.157 Trades  'xxxxx': buy limit 5.00 BR-12.16 at 47.66 placed for execution in 19.185 ms
2016.09.21 17:30:00.160 Trades  'xxxxx': deal #29616740 buy 5.00 BR-12.16 at 47.66 done (based on order #44620667)
2016.09.21 17:30:01.064 Trades  'xxxxx': exchange sell 5.00 BR-11.16 at market
2016.09.21 17:30:02.004 Trades  'xxxxx': cancel order #44620664 buy limit 5.00 ROSN-3.17 at 36470
2016.09.21 17:30:04.827 Trades  'xxxxx': accepted exchange sell 5.00 BR-11.16 at market
2016.09.21 17:30:04.827 Trades  'xxxxx': exchange sell 5.00 BR-11.16 at market placed for execution in 3764.451 ms
2016.09.21 17:30:04.829 Trades  'xxxxx': deal #29616752 sell 5.00 BR-11.16 at 47.33 done (based on order #44620682)
2016.09.21 17:30:05.799 Trades  'xxxxx': cancel order #44613523 sell limit 1.00 TRNF-3.17 at 149398
2016.09.21 17:30:07.929 Trades  'xxxxx': accepted cancel order #44620664 buy limit 5.00 ROSN-3.17 at 36470
2016.09.21 17:30:07.929 Trades  'xxxxx': cancel order #44620664 buy limit 5.00 ROSN-3.17 at 36470 placed for execution in 5926.927 ms
2016.09.21 17:30:08.738 Trades  'xxxxx': modify order #44620340 buy limit 1.00 TATN-3.17 at 32276 sl: 0 tp: 0 -> 32278, sl: 0 tp: 0
2016.09.21 17:30:08.775 Trades  'xxxxx': accepted cancel order #44613523 sell limit 1.00 TRNF-3.17 at 149398
2016.09.21 17:30:08.776 Trades  'xxxxx': cancel order #44613523 sell limit 1.00 TRNF-3.17 at 149398 placed for execution in 2977.588 ms
2016.09.21 17:30:09.585 Trades  'xxxxx': accepted modify order #44620340 buy limit 1.00 TATN-3.17 at 32276 sl: 0 tp: 0 -> 32278, sl: 0 tp: 0
2016.09.21 17:30:09.590 Trades  'xxxxx': modify order #44620340 buy limit 1.00 TATN-3.17 at 32276 sl: 0 tp: 0 -> 32278, sl: 0 tp: 0 placed for execution in 852.561 ms
2016.09.21 17:30:09.597 Trades  'xxxxx': modify order #44620340 buy limit 1.00 TATN-3.17 at 32278 sl: 0 tp: 0 -> 32312, sl: 0 tp: 0
2016.09.21 17:30:09.637 Trades  'xxxxx': accepted modify order #44620340 buy limit 1.00 TATN-3.17 at 32278 sl: 0 tp: 0 -> 32312, sl: 0 tp: 0
2016.09.21 17:30:09.638 Trades  'xxxxx': modify order #44620340 buy limit 1.00 TATN-3.17 at 32278 sl: 0 tp: 0 -> 32312, sl: 0 tp: 0 placed for execution in 40.658 ms
2016.09.21 17:30:10.053 Trades  'xxxxx': cancel order #44620340 buy limit 1.00 TATN-3.17 at 32312
2016.09.21 17:30:10.075 Trades  'xxxxx': accepted cancel order #44620340 buy limit 1.00 TATN-3.17 at 32312
2016.09.21 17:30:10.079 Trades  'xxxxx': cancel order #44620340 buy limit 1.00 TATN-3.17 at 32312 placed for execution in 25.974 ms
2016.09.21 17:30:44.537 Trades  'xxxxx': sell limit 1.00 BR-12.16 at 48.04
2016.09.21 17:30:44.669 Trades  'xxxxx': accepted sell limit 1.00 BR-12.16 at 48.04
2016.09.21 17:30:44.669 Trades  'xxxxx': sell limit 1.00 BR-12.16 at 48.04 placed for execution in 132.352 ms
2016.09.21 17:30:45.165 Trades  'xxxxx': sell limit 10.00 Si-6.17 at 70449
2016.09.21 17:30:45.179 Trades  'xxxxx': accepted sell limit 10.00 Si-6.17 at 70449
2016.09.21 17:30:45.180 Trades  'xxxxx': sell limit 10.00 Si-6.17 at 70449 placed for execution in 14.720 ms
 
fxsaber:
А взять и проверить?
на своей инфраструктуре. С выкладыванием логов первых минут открытого рынка?

Чего проверять, если мы не контролируем практически ничего.

Уже показывали тесты с доказательствами нормы на открытии рынка. Но раз на раз не приходится, видимо.

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


Если бы мы были брокером, тогда совсем другое дело - не поскупились бы на эффективнейшую инфраструктуру и заоптимизировали бы максимум маршрутов.

 
prostotrader:

Извините Ренат, но это никак не может быть сетевыми задержками:

Вы принимаете во внимание ТОЛЬКО СВОИ СЕТЕВЫЕ ЗАДЕРЖКИ. У вас то все отлично. И на пару хопов от вас все ок.

А проблемы совсем в другом месте. Прочтите все мною вышесказанное, пожалуйста. И прочтите может между строк.

 
prostotrader:

Извините Ренат, но это никак не может быть сетевыми задержками:

Блин, кто-нибудь может сказать, на других платформах такое непотребство с многосекундными отправками ордеров происходит?
Причина обращения: