S# 4.0.5 order.TransactionId = 0 в NewOrders
Atom
14.11.2011


Сегодня возникла такая ситуация и дальше 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 он уже должен быть инициализирован или я что-то не так понимаю? Спасибо!

Теги:


Спасибо:


<< < 3 4 5 6  >
l-way

Фотография
Дата: 05.12.2011
Ответить


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

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 (157) trades.png 5 KB (148)
Спасибо:

Alexander

Фотография
Дата: 05.12.2011
Ответить


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

l-way

Фотография
Дата: 05.12.2011
Ответить


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


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

заявки вывел в отдельную таблицу чтобы сделать скриншот, для удобства отображения. Настройки заявок для торговли - во вложении.
orders_sett.png 3 KB (128)
Спасибо:

Alexander

Фотография
Дата: 05.12.2011
Ответить


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

в 4.0.7 это наблюдается?
Спасибо:

l-way

Фотография
Дата: 05.12.2011
Ответить


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

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


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

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

Roman0

Фотография
Дата: 09.12.2011
Ответить


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

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 (144) Snap3.jpg 105 KB (141)
Спасибо:

skuvv

Фотография
Дата: 12.12.2011
Ответить


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

Цитата:
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

Скриншотов квика нету...
Спасибо:

Alexander

Фотография
Дата: 17.12.2011
Ответить


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

Цитата:
17:00:52 TransactionId == 0 (6203206514, Sell, 1, 131930)

откуда выводится?

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

Roman0

Фотография
Дата: 17.12.2011
Ответить


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 с чем-то).
Спасибо:

Mikhail Sukhov

Фотография
Дата: 17.12.2011
Ответить


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


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

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy