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

Теги:


Спасибо:




51 Ответов
< 1 2 3  >
Alexander

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


В общем от всех у кого проблемы нужны ответы на следующие вопросы:
1) Версия S#
2) Что выдаёт Verifier
3) На каком инструменте и на каком рынке
4) Посылаются заявки синхронно или асинхронно
5) Какая транзакция - добавление новой заявки или перерегистрация старой
6) Квик с общими счетами или нет
7) Чему равно TransactionId после RegisterOrder
Спасибо:

Alexander

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


За 2 недели ответа нет - значит проблема исчерпана и решена?
Спасибо:

Roman0

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


Alexander Mukhanchikov Перейти
За 2 недели ответа нет - значит проблема исчерпана и решена?

Периодически проявляется, но никакой новой информации пока нет. Проявлялась и на "обычном" квике с двумя счетами, так что вряд ли это зависит от количества счетов. К сожалению, в той версии, в которой идет вывод TransactionId сразу после RegisterOrder пока такого не было.
Вот пример лога с этой проблемой:
Код

11:03:21.1828548 NewOrders Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=76 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:21.6158548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=76 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:43.6058548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=76 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:43 Direction=Sell Price=154050 Volume=1 Id=464750444
11:03:43.6248548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=76 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:43 Direction=Sell Price=154050 Volume=1 Id=464750445
11:03:43.6328548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=73 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:43.6448548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=73 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:43 Direction=Sell Price=154050 Volume=1 Id=464750447
11:03:43.6518548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=73 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:43.6678548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=73 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:44.1458548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=73 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:43 Direction=Sell Price=154050 Volume=1 Id=464750460
11:03:44.1658548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=72 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:44.2558548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=67 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:44.2668548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=67 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:44 Direction=Sell Price=154050 Volume=5 Id=464750465
11:03:44.3668548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=64 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:44.3668548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=64 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:44.3668548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=64 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:44 Direction=Sell Price=154050 Volume=3 Id=464750471
11:03:44.5808548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=64 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:44 Direction=Sell Price=154050 Volume=1 Id=464750476
11:03:44.5998548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=44 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:44 Direction=Sell Price=154050 Volume=4 Id=464750477
11:03:44.6188548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=44 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:44 Direction=Sell Price=154050 Volume=15 Id=464750478
11:03:44.6398548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=44 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:44.6398548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=44 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:44.6408548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=44 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:44.8188548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=44 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:44 Direction=Sell Price=154050 Volume=1 Id=464750480
11:03:44.8398548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=42 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:44.8398548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=42 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:44.8398548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=42 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:44 Direction=Sell Price=154050 Volume=1 Id=464750481
11:03:44.8598548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=42 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:45.4628548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=42 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:45 Direction=Sell Price=154050 Volume=1 Id=464750491
11:03:45.4628548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=41 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:46.2208548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Active Status= Balance=29 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:47.7528548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Done Status= Balance=0 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:47.7528548 OrdersChanged Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Done Status= Balance=0 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
11:03:47.7528548 NewMyTrades Order: TransactionId=0 Direction=Sell Time=02.12.2011 11:03:21 Price=154050 Volume=76 State=Done Status= Balance=0 Comm=S#JCQYC1R5/ Portfolio=SPBFUT00XXX Id=6092496360 Type=Limit Ext=0
Trade: Time=02.12.2011 11:03:47 Direction=Sell Price=154050 Volume=29 Id=464750534

И прикреплено как это выглядит в квике. Обратите внимание на слеш в комментарии, которого там быть не должно.
Snap1.jpg 77,7KB (0)
Автор топика
Спасибо:

Alexander

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


А как заявка подана? Именно через S#?
Есть сомнения, т.к. именно квик добавляет слэш в комментарий и именно при подаче через квик не выставляется Id.
Спасибо:

Roman0

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


Alexander Mukhanchikov Перейти
А как заявка подана? Именно через S#?
Есть сомнения, т.к. именно квик добавляет слэш в комментарий и именно при подаче через квик не выставляется Id.

Такой комментарий вставляется только в S# (S#+случайная строка), вряд ли кто-то будет вставлять такое вручную ) и, как можно заметить, другие заявки, разделенные по времени ~2 минутами отработались нормально, в программе они добавляются в таблицу похожую на таблицу в квике и идентифицируются как раз по TransactionId. На самом деле там еще несколько заявок, с которыми также все нормально и они точно из S#.
Автор топика
Спасибо:

Alexander

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


Roman0 Перейти
Alexander Mukhanchikov Перейти
А как заявка подана? Именно через S#?
Есть сомнения, т.к. именно квик добавляет слэш в комментарий и именно при подаче через квик не выставляется Id.

Такой комментарий вставляется только в S# (S#+случайная строка), вряд ли кто-то будет вставлять такое вручную ) и, как можно заметить, другие заявки, разделенные по времени ~2 минутами отработались нормально, в программе они добавляются в таблицу похожую на таблицу в квике и идентифицируются как раз по TransactionId. На самом деле там еще несколько заявок, с которыми так же все нормально и они точно из S#.


Только что без проблем создал заявку в квике - в коде клиента указал тоже что у вас - в квике добавился комментарий со слэшом.
И да, для заявки, поданной из квика TransactionId пустой (= 0), как и у вас на скриншоте.

Создал такую же заявку с этим комментарием, но средствами S# (10 раз пробовал) - везде комментарий без слэша, везде есть Id.


Собственно ваши слова
Цитата:
в той версии, в которой идет вывод TransactionId сразу после RegisterOrder пока такого не был

подтверждают опасения - что заявка с 76 контрактами была подана именно из квика.

Как повторится (если вдруг) для версии с выводом transactionId после register - пишите.
Спасибо:

Alexander

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


Roman0 Перейти
Alexander Mukhanchikov Перейти
А как заявка подана? Именно через S#?
Есть сомнения, т.к. именно квик добавляет слэш в комментарий и именно при подаче через квик не выставляется Id.

Такой комментарий вставляется только в S# (S#+случайная строка), вряд ли кто-то будет вставлять такое вручную


и, кстати, если щёлкнуть в квике уже по посланной заявке, та что в 11:00 была подана, то автоматом добавится код клиента с вашим S# + строкой.
Меняем объём и цену и отправляем приказ через квик - вуаля, получаем в квике S# + строку + слэш и TransactionId = 0

Как-то уточнить всё же можно у того кто это запускал - как подавалась заявка с 76 лотами? И если это было сегодня - то, как я понимаю, вывод Id после RegisterOrder уже есть?
Спасибо:

Roman0

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


Alexander Mukhanchikov Перейти
Roman0 Перейти
Alexander Mukhanchikov Перейти
А как заявка подана? Именно через S#?
Есть сомнения, т.к. именно квик добавляет слэш в комментарий и именно при подаче через квик не выставляется Id.

Такой комментарий вставляется только в S# (S#+случайная строка), вряд ли кто-то будет вставлять такое вручную ) и, как можно заметить, другие заявки, разделенные по времени ~2 минутами отработались нормально, в программе они добавляются в таблицу похожую на таблицу в квике и идентифицируются как раз по TransactionId. На самом деле там еще несколько заявок, с которыми так же все нормально и они точно из S#.


Только что без проблем создал заявку в квике - в коде клиента указал тоже что у вас - в квике добавился комментарий со слэшом.
И да, для заявки, поданной из квика TransactionId пустой (= 0), как и у вас на скриншоте.

Создал такую же заявку с этим комментарием, но средствами S# (10 раз пробовал) - везде комментарий без слэша, везде есть Id.

Это все пробовалось уже сотни раз ) и только иногда это проявляется.
Цитата:

Собственно ваши слова
Цитата:
в той версии, в которой идет вывод TransactionId сразу после RegisterOrder пока такого не был

подтверждают опасения - что заявка с 76 контрактами была подана именно из квика.

Дело в том, что в коде вот этой конкретной версии просто нет вывода в лог TransactionId после RegisterOrder в принципе. Я уже заменил то, что у них было на версию с выводом этой информации.
Цитата:

Как повторится (если вдруг) для версии с выводом transactionId после register - пишите.

Ок
Автор топика
Спасибо:

Alexander

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


И кстати - это Register или ReRegister?
Спасибо:

Roman0

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


Alexander Mukhanchikov Перейти
Roman0 Перейти
Alexander Mukhanchikov Перейти
А как заявка подана? Именно через S#?
Есть сомнения, т.к. именно квик добавляет слэш в комментарий и именно при подаче через квик не выставляется Id.

Такой комментарий вставляется только в S# (S#+случайная строка), вряд ли кто-то будет вставлять такое вручную


и, кстати, если щёлкнуть в квике уже по посланной заявке, та что в 11:00 была подана, то автоматом добавится код клиента с вашим S# + строкой.
Меняем объём и цену и отправляем приказ через квик - вуаля, получаем в квике S# + строку + слэш и TransactionId = 0

Как-то уточнить всё же можно у того кто это запускал - как подавалась заявка с 76 лотами?


Прояснил этот вопрос, по какой-то причине одна заявка из 14 в этот период действительно была из квика ) Извиняюсь за беспокойство. Эта проблема точно была (в таблице заявок в программе был 0 в поле TransactionId), но не в этот раз )

Цитата:

И если это было сегодня - то, как я понимаю, вывод Id после RegisterOrder уже есть?

Нет, к сожалению - другая версия.

Цитата:
И кстати - это Register или ReRegister?

Register
Автор топика
Спасибо:

Alexander

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


Roman0 Перейти
Прояснил этот вопрос, по какой-то причине одна заявка из 14 в этот период действительно была из квика ) Извиняюсь за беспокойство. Эта проблема точно была (в таблице заявок в программе был 0 в поле TransactionId), но не в этот раз )


В программу могут экспортироваться все заявки из квика.
Если подаём руками - тогда действительно TransactionId = 0.

В общем пока помечу что не воспроизводится.
Если повторится - пишите.
Спасибо:

Roman0

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


Alexander Mukhanchikov Перейти
Roman0 Перейти
Прояснил этот вопрос, по какой-то причине одна заявка из 14 в этот период действительно была из квика ) Извиняюсь за беспокойство. Эта проблема точно была (в таблице заявок в программе был 0 в поле TransactionId), но не в этот раз )


В программу могут экспортироваться все заявки из квика.
Если подаём руками - тогда действительно TransactionId = 0.

Да, я знаю, в логе часто бывают такие заявки.
Цитата:

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

Хорошо.
Автор топика
Спасибо:

skuvv

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


Alexander Mukhanchikov Перейти
В общем от всех у кого проблемы нужны ответы на следующие вопросы:
1) Версия S#
2) Что выдаёт Verifier
3) На каком инструменте и на каком рынке
4) Посылаются заявки синхронно или асинхронно
5) Какая транзакция - добавление новой заявки или перерегистрация старой
6) Квик с общими счетами или нет
7) Чему равно TransactionId после RegisterOrder


1) 4.0.4
2) в таблицах которые используются ошибок нет
3) RIZ1
4) асинхронный режим
5) новая заявка
6) общий счет
7) после RegisterOrder TransactionId всегда имеет значение

ps количество нулевых ордеров в день 1-5 из 800 ордеров
Спасибо:

Alexander

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


skuvv Перейти
Alexander Mukhanchikov Перейти
В общем от всех у кого проблемы нужны ответы на следующие вопросы:
1) Версия S#
2) Что выдаёт Verifier
3) На каком инструменте и на каком рынке
4) Посылаются заявки синхронно или асинхронно
5) Какая транзакция - добавление новой заявки или перерегистрация старой
6) Квик с общими счетами или нет
7) Чему равно TransactionId после RegisterOrder


1) 4.0.4
2) в таблицах которые используются ошибок нет
3) RIZ1
4) асинхронный режим
5) новая заявка
6) общий счет
7) после RegisterOrder TransactionId всегда имеет значение

ps количество нулевых ордеров в день 1-5 из 800 ордеров


Т.е. после RegisterOrder TransactionId есть, а в событии NewOrder - нет?
Покажите, как эта заявка выглядит в квике.
И предоставьте лог - цена \ время \ id \ любой комментарий после RegisterOrder и тоже самое в NewOrder + скрин как раз из квика.
Спасибо:

skuvv

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


Alexander Mukhanchikov Перейти
skuvv Перейти
Alexander Mukhanchikov Перейти
В общем от всех у кого проблемы нужны ответы на следующие вопросы:
1) Версия S#
2) Что выдаёт Verifier
3) На каком инструменте и на каком рынке
4) Посылаются заявки синхронно или асинхронно
5) Какая транзакция - добавление новой заявки или перерегистрация старой
6) Квик с общими счетами или нет
7) Чему равно TransactionId после RegisterOrder


1) 4.0.4
2) в таблицах которые используются ошибок нет
3) RIZ1
4) асинхронный режим
5) новая заявка
6) общий счет
7) после RegisterOrder TransactionId всегда имеет значение

ps количество нулевых ордеров в день 1-5 из 800 ордеров


Т.е. после RegisterOrder TransactionId есть, а в событии NewOrder - нет?
Покажите, как эта заявка выглядит в квике.
И предоставьте лог - цена \ время \ id \ любой комментарий после RegisterOrder и тоже самое в NewOrder + скрин как раз из квика.

Пока таких логов нет, как появятся - отпишусь.
upd - только заметил что в квике поля коментариев пустые, заполнял раньше через
_order.ExtensionInfo.Add(DdeOrderColumns.ClientCode, Text);
добавил заполнение через _order.Comment = Text;
коменты в квике появились, посмотрим насчет нулевых заявок
Спасибо:

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

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,9KB (0)
Спасибо:

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 91KB (0) Snap3.jpg 105KB (0)
Автор топика
Спасибо:

skuvv

Фотография
Дата: 11.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 проверять заявки с нулевой транзакцией, есть ли они в этой коллекции? Нужно точно понять, те ли самые это заявки, которые вы отправляете или копии.
Спасибо:
< 1 2 3  >

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

loading
clippy