S# 4.0.5 order.TransactionId = 0 в NewOrders

S# 4.0.5 order.TransactionId = 0 в NewOrders
Atom
11/14/2011
Roman0


Сегодня возникла такая ситуация и дальше 0 сохранялся в OrdersChanged какое-то время: 16:31:01.1570028 OrdersChanged: TransactionId=0 Direction=Sell Time=14.11.2011 16:31:00 Price=151235 State=Done Status= Balance=0 Comm=FIVDMD0Y Portfolio=SPBFUT00XXX Id=5851294706 Type=Limit 16:31:01.4489763 OrdersChanged: TransactionId=0 Direction=Sell Time=14.11.2011 16:31:00 Price=151235 State=Done Status= Balance=0 Comm=FIVDMD0Y Portfolio=SPBFUT00XXX Id=5851294706 Type=Limit 16:31:01.5310023 OrdersChanged: TransactionId=56779959 Direction=Sell Time=14.11.2011 16:31:00 Price=151235 State=Done Status=Accepted Balance=0 Comm=FIVDMD0Y Portfolio=SPBFUT00XXX Id=5851294706 Type=Limit

Вроде бы TransactionId должен устанавливаться сразу в RegisterOrder и в NewOrders он уже должен быть инициализирован или я что-то не так понимаю? Спасибо!


Tags:


Thanks:


<< < 3 4 5 6  >
l-way

Avatar
Date: 12/5/2011
Reply


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

19:00:46: 19:00:02: send limit order 67585732 19:00:46: 19:00:03: order changed 67585732 , order id 0 , order status , orderd state Done, matched True 19:00:47: 19:00:03: order changed 67585732 , order id 0 , order status , orderd state Done, matched True 19:00:47: 19:00:03: order changed 67585732 , order id 0 , order status , orderd state Done, matched True 19:00:50: 19:00:06: order changed 67585732 , order id 6127049890 , order status Accepted, orderd state Done, matched True 19:00:50: 19:00:06: trade changed 67585732 , order id 6127049890 , order status Accepted orderd state Done matched True 19:00:50: 19:00:06: send limit order 67585734 19:00:50: 19:00:06: Send market order 67585735 19:00:51: 19:00:07: order changed 67585734 , order id 0 , order status , orderd state Done, matched True 19:00:51: 19:00:07: order changed 67585734 , order id 0 , order status , orderd state Done, matched True 19:00:51: 19:00:07: order NOT MINE changed 0 , order id 6127051649 , order status orderd state Done 19:00:51: 19:00:07: trade NOT MINE changed 0 , order id 6127051649 , order status orderd state Done 19:00:51: 19:00:07: order changed 67585734 , order id 0 , order status , orderd state Done, matched True 19:00:51: 19:00:07: order changed 67585735 , order id 0 , order status , orderd state Done, matched True 19:00:51: 19:00:07: order changed 67585735 , order id 0 , order status , orderd state Done, matched True 19:00:51: 19:00:07: order changed 67585734 , order id 6127051648 , order status Accepted, orderd state Done, matched True 19:00:51: 19:00:07: trade changed 67585734 , order id 6127051648 , order status Accepted orderd state Done matched True

то, что идет после send limit order/Send market order - это ид транзакции, которые возвращает trader.RegisterOrder(order)

order NOT MINE changed и order changed - это события Trader.OrdersChanged, Trader.NewOrders trade NOT MINE changed и trade changed - это событие Trader.NewMyTrades

в логах видим, что для заявки 6127051649 приходят события order changed и trade changed, в которых id транзакции равен 0. на самом деле id транзакции должен был быть 67585735. Это видно на скриншотах во вложении.

ошибка произошла после перезапуска робота во время клиринга. квик при этом не перезапускался. в текущем состоянии робот стабильно работал в течении пару недель - ошибка не воспроизводилась.

orders.png 14 KB (345) trades.png 5 KB (336)
Thanks:

Alexander

Avatar
Date: 12/5/2011
Reply


  1. Какая версия
  2. Правильно ли настроен квик? Что говорит Verifier? Скриншот Таблицы заявок, что приводится, явно не правильный и не соответствует документации.
Thanks:

l-way

Avatar
Date: 12/5/2011
Reply


Alexander Mukhanchikov:

  1. Какая версия
  2. Правильно ли настроен квик? Что говорит Verifier? Скриншот Таблицы заявок, что приводится, явно не правильный и не соответствует документации.

Версия 4.0.5. квик настроен верно, верифаер пишет - все ок. замечу, что с такими настройками квика робот стабильно работал около 2 недель. В OnProcessDataError ничего не пришло. Квик самый обычный, с одним счетом.

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

orders_sett.png 3 KB (382)
Thanks:

Alexander

Avatar
Date: 12/5/2011
Reply


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

в 4.0.7 это наблюдается?

Thanks:

l-way

Avatar
Date: 12/5/2011
Reply


Alexander Mukhanchikov: Ордера со сделками грузятся из разных мест независимо, поэтому наверное такая рассинхронность может быть.

в 4.0.7 это наблюдается?

Александр, не совсем понял, что значит "такая рассинхронность может быть"? Мы получае ордера и сделки в событиях, при этом основываемся на том, что id транзакции является уникальным и по нему можно идентифицировать любой ордер и трейд. Если это не так - то в каких случаях не так и как в таких случае понимать, что это событие по конкретной транзакции?

4.0.7 еще не пробовал. А есть предположение, что 4.0.7 исправит ситуацию?

Thanks:

Roman0

Avatar
Date: 12/9/2011
Reply


Сегдня проявилась эта проблема, выглядит вот так:


17:00:51.2511250 RegisterOrder Order: TransactionId=59273463 Direction=Sell Time=01.01.0001 0:00:00 Price=131930 Volume=1 State=None Status= Balance=1 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=0 Type=Limit Ext=0
17:00:52 TransactionId == 0 (6203206514, Sell, 1, 131930)
17:00:52.0011250 NewOrders Order: TransactionId=0 Direction=Sell Time=09.12.2011 17:00:51 Price=131930 Volume=1 State=Done Status= Balance=0 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=6203206514 Type=Limit Ext=0
17:00:52.0011250 NewMyTrades Order: TransactionId=0 Direction=Sell Time=09.12.2011 17:00:51 Price=131930 Volume=1 State=Done Status= Balance=0 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=6203206514 Type=Limit Ext=0
Trade: 09.12.2011 17:00:51 Direction:Sell Price:140475 Volume:1
17:00:52.0167500 OrdersChanged Order: TransactionId=0 Direction=Sell Time=09.12.2011 17:00:51 Price=131930 Volume=1 State=Done Status= Balance=0 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=6203206514 Type=Limit Ext=0
17:00:52.3448750 OrdersChanged Order: TransactionId=0 Direction=Sell Time=09.12.2011 17:00:51 Price=131930 Volume=1 State=Done Status= Balance=0 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=6203206514 Type=Limit Ext=0
17:00:52.3605000 OrdersChanged Order: TransactionId=59273463 Direction=Sell Time=09.12.2011 17:00:51 Price=131930 Volume=1 State=Done Status=Accepted Balance=0 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=6203206514 Type=Limit Ext=0


18:43:45.5233750 RegisterOrder Order: TransactionId=59273676 Direction=Buy Time=01.01.0001 0:00:00 Price=140755 Volume=1 State=None Status= Balance=1 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=0 Type=Limit Ext=0
18:43:46 TransactionId == 0 (6206871807, Buy, 1, 140755)
18:43:46.0858750 NewOrders Order: TransactionId=0 Direction=Buy Time=09.12.2011 18:43:45 Price=140755 Volume=1 State=Active Status= Balance=1 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=6206871807 Type=Limit Ext=0
18:43:46.4296250 OrdersChanged Order: TransactionId=0 Direction=Buy Time=09.12.2011 18:43:45 Price=140755 Volume=1 State=Active Status= Balance=1 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=6206871807 Type=Limit Ext=0
18:43:46.4452500 NewMyTrades Order: TransactionId=0 Direction=Buy Time=09.12.2011 18:43:45 Price=140755 Volume=1 State=Active Status= Balance=1 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=6206871807 Type=Limit Ext=0
Trade: 09.12.2011 18:43:46 Direction:Buy Price:140755 Volume:1
18:43:46.4452500 OrdersChanged Order: TransactionId=59273676 Direction=Buy Time=09.12.2011 18:43:45 Price=140755 Volume=1 State=Done Status=Accepted Balance=0 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=6206871807 Type=Limit Ext=0
18:43:46.4921250 OrdersChanged Order: TransactionId=59273676 Direction=Buy Time=09.12.2011 18:43:45 Price=140755 Volume=1 State=Done Status=Accepted Balance=0 Comm=S#HHEXFEH1 Portfolio=SPBFUT00XXX Id=6206871807 Type=Limit Ext=0

Snap2.jpg 91 KB (337) Snap3.jpg 105 KB (330)
Thanks:

skuvv

Avatar
Date: 12/12/2011
Reply


вот несколько заявок с коментами

12:05:53.073; [Sending New Order] RIZ1 Buy Price: 144470 Qty: 1 Thread: null 12:05:53.073; [Sending New Order] RIZ1 quikTransID:56574018 msg: test Thread: null 12:05:53.340;[_trader_NewOrders] TransactionId: 0 Price: 144470 Qnt: 1 msg: test


17:33:20.995; [Sending New Order] RIZ1 Buy Price: 143180 Qty: 1 Thread: null 17:33:20.996; [Sending New Order] RIZ1 quikTransID:56574661 msg: test Thread: null 17:33:21.342;[_trader_NewOrders] TransactionId: 0 Price: 143180 Qnt: 1 msg: test


13:05:09.192; [Sending New Order] RIZ1 Buy Price: 145720 Qty: 1 Thread: null 13:05:09.193; [Sending New Order] RIZ1 quikTransID:68578277 msg: test Thread: null 13:05:09.981;[_trader_NewOrders] TransactionId: 0 Price: 145720 Qnt: 1 msg: test


15:37:51.881; [Sending New Order] RIZ1 Buy Price: 139300 Qty: 1 Thread: null 15:37:51.881; [Sending New Order] RIZ1 quikTransID:68580019 msg: test Thread: null 15:37:52.154; [_trader_NewOrders] TransactionId: 0 Price: 139300 Qnt: 1 msg: test Скриншотов квика нету...

Thanks:

Alexander

Avatar
Date: 12/17/2011
Reply


Обработайте событие PreProcessDdeData и выведите всю поступающую туда информацию.

17:00:52 TransactionId == 0 (6203206514, Sell, 1, 131930) откуда выводится?

Я правильно понял, что проблема наблюдается крайне редко, и как для синхронной отправки, так и для асинхронной? Какая версия квика используется и какая версия Trans2Quik.dll?

Thanks:

Roman0

Avatar
Date: 12/17/2011
Reply


Alexander Mukhanchikov: Обработайте событие PreProcessDdeData и выведите всю поступающую туда информацию. Попробую. 17:00:52 TransactionId == 0 (6203206514, Sell, 1, 131930) откуда выводится? Из NewOrders. Я правильно понял, что проблема наблюдается крайне редко, и как для синхронной отправки, так и для асинхронной? Как уже писали и из моего опыта, где-то 1 раз на 100-200 заявок. Асинхронный вариант не использую. Какая версия квика используется и какая версия Trans2Quik.dll? В данном конкретном случае Quik 5.23.0.124 и Trans2Quik 1.1.0.9, но и на других версиях такое было (5.20 с чем-то).

Thanks:

Mikhail Sukhov

Avatar
Date: 12/17/2011
Reply


Roman0: Асинхронный вариант не использую.

  1. В курсе что он сейчас by default?
  2. Можете свои заявки, которые отправляете на регистрацию, складывать в коллекцию? И в NewOrders проверять заявки с нулевой транзакцией, есть ли они в этой коллекции? Нужно точно понять, те ли самые это заявки, которые вы отправляете или копии.
Thanks:
<< < 3 4 5 6  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy