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

 
fxsaber:

Проблемы только при отмене отложенников?


Нет, во всех режимах бывает (установка, модификация, отмена)

По счастью не так часто....

 
prostotrader:

Нет, во всех режимах бывает (установка, модификация, отмена)

Когда будет проблема при установке, приведите, что показывает ORDER_TIME_DONE_MSC и ORDER_TIME_SETUP_MSC.

При исполнении так же еще и DEAL_TIME_MSC.

 

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

 
fxsaber:

Когда будет проблема при установке, приведите, что показывает ORDER_TIME_DONE_MSC и ORDER_TIME_SETUP_MSC.

При исполнении так же еще и DEAL_TIME_MSC.


А что Вы хотите увидеть получив ORDER_TIME_DONE_MSC, ведь это время снятия или исполнения?

Сегодня (установка ордера, не исполнился)

2017.07.25 10:34:32.675 Trades  'xxxxx': buy limit 2.00 GAZR-6.18 at 12585
2017.07.25 10:34:35.520 Trades  'xxxxx': accepted buy limit 2.00 GAZR-6.18 at 12585
2017.07.25 10:34:35.520 Trades  'xxxxx': buy limit 2.00 GAZR-6.18 at 12585 placed for execution in 2846.102 ms
===============================================================================================================
2017.07.25 10:34:33.695 trader (GAZR-6.18,M1)   CheckOrders: Задержка ответа сервера. Ожидание продолжается...
2017.07.25 10:34:34.702 trader (GAZR-6.18,M1)   CheckOrders: Задержка ответа сервера. Ожидание продолжается...
==============
Ticket = #70456445

Код

ulong ticket = 70456445;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
    if(HistoryOrderSelect(ticket))
    {
      ulong start = ulong(HistoryOrderGetInteger(ticket, ORDER_TIME_SETUP_MSC));
      ulong end = ulong(HistoryOrderGetInteger(ticket, ORDER_TIME_DONE_MSC));
      ulong diff = end - start;
      Print("Order start = ", start);
      Print("Order end = ", end);
      Print("Order diff = ", diff);
    }
   
//---
   return(INIT_SUCCEEDED);
  }

Результат:

2017.07.25 14:08:03.281 Time_test (GAZR-6.18,M1)        Order start = 1500978875000
2017.07.25 14:08:03.281 Time_test (GAZR-6.18,M1)        Order end =   1500978890000
2017.07.25 14:08:03.281 Time_test (GAZR-6.18,M1)        Order diff =  15000
 
prostotrader:

А что Вы хотите увидеть получив ORDER_TIME_DONE_MSC, ведь это время снятия или исполнения?

Думал про исполнение. Например, ставите лимитник по текущей цене. Тогда можно оценить время, потраченное на исполнение.

Честно говоря, не хватает информации для ордеров, которая бы говорила, когда ордер зарегистрирован MT5-сервером, а не когда установлен уже на биржу.

 
fxsaber:

Думал про исполнение. Например, ставите лимитник по текущей цене. Тогда можно оценить время, потраченное на исполнение.

Честно говоря, не хватает информации для ордеров, которая бы говорила, когда ордер зарегистрирован MT5-сервером, а не когда установлен уже на биржу.


Я обращался в СД на предмет ещё одной записи в логе, что ордер принят биржей, на что получил ответ:

Support Team 2017.02.28 12:10
Асинхронный метод не ожидает и не отслеживает результат операции (выставление ордера), только сам факт посылки, и соответственно, не протоколирует его.

Добавлено

Но, уже сам факт, что иногда, сервер обрабатывает приказ (перед отправкой на биржу) более 2-3 сек. - уже очень плохо...

Добавлено

Обычно, в моей конфигурации 5-6 ms:

2017.07.25 14:32:40.575 Trades  'ххххх': cancel order #70570407 buy limit 1.00 PLD-12.17 at 806.78
2017.07.25 14:32:40.581 Trades  'ххххх': accepted cancel order #70570407 buy limit 1.00 PLD-12.17 at 806.78
2017.07.25 14:32:40.581 Trades  'ххххх': cancel order #70570407 buy limit 1.00 PLD-12.17 at 806.78 placed for execution in 6.194 ms
 
prostotrader:

Но, уже сам факт, что иногда, сервер обрабатывает приказ (перед отправкой на биржу) более 2-3 сек. - уже очень плохо...

Похоже, совсем редкий баг. Надо писать советник, который ставит и удаляет лимитник. И просить в СД его запустить на реале с отловом бага.

 
fxsaber:

Похоже, совсем редкий баг. Надо писать советник, который ставит и удаляет лимитник. И просить в СД его запустить на реале с отловом бага.


СД уже этим занимается с 2014.12.16 06:27

 
prostotrader:

СД уже этим занимается с 2014.12.16 06:27

Без желания, похоже.

 
fxsaber:

Без желания, похоже.


Возможно... Но думаю, что желание есть, НО!

МТ5 сервер работает через Plaza II, к сожалению, я не знаю как реализован интерфейс у MQ,

но занимаясь свим интерфейсом, я вижу, что при очень большом потоке приказов, 

возникают небольшие "тормоза" с обработкой команд (на 1 логин должно быть не более 30 операций в сек.), а представьте сколько

пользователей у Брокера?...

Причина обращения: