← Назад

S# 4.0.5 order.TransactionId = 0 в NewOrders

Сегодня возникла такая ситуация и дальше 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)

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

Alexander
Alexander

Заявка отправляется синхронно или асинхронно?

Roman0
Roman0 Автор

Alexander Mukhanchikov: Заявка отправляется синхронно или асинхронно? Trader.IsAsyncMode = false;

Alexander
Alexander

Приведите участок кода с созданием и отправкой заявки.

Roman0
Roman0 Автор

Alexander Mukhanchikov: Приведите участок кода с созданием и отправкой заявки.


                        order = new Order()
                        {
                            Portfolio = Portfolio, //получено из NewPortfolios
                            Security = CurSec, //получено из NewSecurities
                            Volume = orderVolume,
                            Direction = bSignal ? OrderDirections.Buy : OrderDirections.Sell,
                            Comment = MyOrdersId,
                            ExtensionInfo = new Dictionary<object, object>()
                        };

                        order.ExtensionInfo.Add("Time", DateTime.Now);
                        order.ExtensionInfo.Add("Timeout", false);

	       //тип заявки
                        foreach (Control control in gbxOrderTypes.Controls)
                        {
                            if (control is RadioButton && ((RadioButton)control).Checked)
                            {
                                order.ExtensionInfo.Add("Type", (MyOrderTypes)control.Tag);
                                break;
                            }
                        }
	
	//в этом конкретном случае было
	order.Price = CurSec.ShrinkPrice(bSignal ? CurSec.BestBid.Price + nudSLO.Value : CurSec.BestAsk.Price - nudSLO.Value);

	Trader.RegisterOrder(order);

Опущены try\catch и т.п. Все работало в течение месяцев без изменений в коде, касающихся регистрации заявок.

Alexander
Alexander

Ерунда какая-то. Быть не может такого =)

Trader - это QuikTrader? Что выдают события OrdersFailed, ProcessDataError?

Roman0
Roman0 Автор

Alexander Mukhanchikov: Ерунда какая-то. Быть не может такого =)

Trader - это QuikTrader? Что выдают события OrdersFailed, ProcessDataError? Я тоже так подумал, но факт есть факт ) У меня по TransactionId, который получен в NewOrders, в таблице обновляется информация по заявкам, иначе я бы может быть и не заметил, а так поле с TransactionId было 0. Да, QuikTrader и OrdersFailed с ProcessDataError не выдавали ничего, заявка нормально исполнилась. Может быть это как-то связано с тем, что используется не совсем обычный квик (типа брокерского с объедененными счетами клиентов), но вроде бы здесь это не должно никак влиять.

Alexander
Alexander

Roman0:

Alexander Mukhanchikov: Ерунда какая-то. Быть не может такого =)

Trader - это QuikTrader? Что выдают события OrdersFailed, ProcessDataError? Я тоже так подумал, но факт есть факт ) У меня по TransactionId, который получен в NewOrders, в таблице обновляется информация по заявкам, иначе я бы может быть и не заметил, а так поле с TransactionId было 0. Да, QuikTrader и OrdersFailed с ProcessDataError не выдавали ничего, заявка нормально исполнилась. Может быть это как-то связано с тем, что используется не совсем обычный квик (типа брокерского с объедененными счетами клиентов), но вроде бы здесь это не должно никак влиять.

так вроде там многое что другое и как раз может быть из-за этого. посмотрите на transactionid после вызова register order verifier молчит на проверках?

Roman0
Roman0 Автор

Alexander Mukhanchikov:

Roman0:

Alexander Mukhanchikov: Ерунда какая-то. Быть не может такого =)

Trader - это QuikTrader? Что выдают события OrdersFailed, ProcessDataError? Я тоже так подумал, но факт есть факт ) У меня по TransactionId, который получен в NewOrders, в таблице обновляется информация по заявкам, иначе я бы может быть и не заметил, а так поле с TransactionId было 0. Да, QuikTrader и OrdersFailed с ProcessDataError не выдавали ничего, заявка нормально исполнилась. Может быть это как-то связано с тем, что используется не совсем обычный квик (типа брокерского с объедененными счетами клиентов), но вроде бы здесь это не должно никак влиять.

так вроде там многое что другое и как раз может быть из-за этого. посмотрите на transactionid после вызова register order verifier молчит на проверках?

Да, verifier говорит, что все нормально. А transactionid разве не генерируется в RegisterOrder? Вроде бы раньше было что-то вроде InitOrder, который создавал уже инициализированную заявку.

посмотрите на transactionid после вызова register order попробую, только завтра, наверное

Alexander
Alexander

Roman0:

Alexander Mukhanchikov:

Roman0:

Alexander Mukhanchikov: Ерунда какая-то. Быть не может такого =)

Trader - это QuikTrader? Что выдают события OrdersFailed, ProcessDataError? Я тоже так подумал, но факт есть факт ) У меня по TransactionId, который получен в NewOrders, в таблице обновляется информация по заявкам, иначе я бы может быть и не заметил, а так поле с TransactionId было 0. Да, QuikTrader и OrdersFailed с ProcessDataError не выдавали ничего, заявка нормально исполнилась. Может быть это как-то связано с тем, что используется не совсем обычный квик (типа брокерского с объедененными счетами клиентов), но вроде бы здесь это не должно никак влиять.

так вроде там многое что другое и как раз может быть из-за этого. посмотрите на transactionid после вызова register order verifier молчит на проверках?

Да, verifier говорит, что все нормально. А transactionid разве не генерируется в RegisterOrder? Вроде бы раньше было что-то вроде InitOrder, который создавал уже инициализированную заявку.

посмотрите на transactionid после вызова register order попробую, только завтра, наверное

Сейчас также. Но если у вас в терминале в этом столбце 0 - при обновлении тоже запишется 0. Да, приведите скриншот терминала с заявками.

Roman0
Roman0 Автор

Alexander Mukhanchikov:

Roman0:

Alexander Mukhanchikov:

Roman0:

Alexander Mukhanchikov: Ерунда какая-то. Быть не может такого =)

Trader - это QuikTrader? Что выдают события OrdersFailed, ProcessDataError? Я тоже так подумал, но факт есть факт ) У меня по TransactionId, который получен в NewOrders, в таблице обновляется информация по заявкам, иначе я бы может быть и не заметил, а так поле с TransactionId было 0. Да, QuikTrader и OrdersFailed с ProcessDataError не выдавали ничего, заявка нормально исполнилась. Может быть это как-то связано с тем, что используется не совсем обычный квик (типа брокерского с объедененными счетами клиентов), но вроде бы здесь это не должно никак влиять.

так вроде там многое что другое и как раз может быть из-за этого. посмотрите на transactionid после вызова register order verifier молчит на проверках?

Да, verifier говорит, что все нормально. А transactionid разве не генерируется в RegisterOrder? Вроде бы раньше было что-то вроде InitOrder, который создавал уже инициализированную заявку.

посмотрите на transactionid после вызова register order попробую, только завтра, наверное

Сейчас также. Но если у вас в терминале в этом столбце 0 - при обновлении тоже запишется 0. Да, приведите скриншот терминала с заявками. В терминале все нормально, но что там было в момент выставления заявки, конечно, непонятно.

Alexander
Alexander

а кода клиента нету? В общем, ждём TransactionId после вызова RegisterOrder :)

Roman0
Roman0 Автор

Alexander Mukhanchikov: а кода клиента нету? Код клиента присутствует, совпадает со счетом, просто не попал в кадр ) Alexander Mukhanchikov: В общем, ждём TransactionId после вызова RegisterOrder :) Да все же остальные заявки без этих чудес были ) Добавил в код вывод в лог TransactionId после RegisterOrder, завтра посмотрю.

Roman0
Roman0 Автор

Как и ожидалось TransactionId есть сразу и что это было - непонятно. Только если в квике почему-то значение не изменилось и оставалось 0 (или изменилось на 0)? Еще есть отличие в значении Status, здесь оно сразу Accepted, а там было не определено какое-то время.

16:04:01.2493341 RegisterOrder Order: TransactionId=57039553 Direction=Buy Time=01.01.0001 0:00:00 Price=148865 Volume=2 State=Active Status=Accepted Balance=2 Comm=S#PJ23GVK2 Portfolio=SPBFUT00XXX Id=5868886383 Type=Limit 16:04:01.2493341 NewOrders Order: TransactionId=57039553 Direction=Buy Time=01.01.0001 0:00:00 Price=148865 Volume=2 State=Active Status=Accepted Balance=2 Comm=S#PJ23GVK2 Portfolio=SPBFUT00XXX Id=5868886383 Type=Limit 16:04:01.4192451 OrdersChanged Order: TransactionId=57039553 Direction=Buy Time=15.11.2011 16:04:01 Price=148865 Volume=2 State=Done Status=Accepted Balance=0 Comm=S#PJ23GVK2 Portfolio=SPBFUT00XXX Id=5868886383 Type=Limit 16:04:01.4202216 NewMyTrades Order: TransactionId=57039553 Direction=Buy Time=15.11.2011 16:04:01 Price=148865 Volume=2 State=Done Status=Accepted Balance=0 Comm=S#PJ23GVK2 Portfolio=SPBFUT00XXX Id=5868886383 Type=Limit Trade: Time=15.11.2011 16:04:01 Direction=Buy Price=148850 Volume=2 Id=450515242 16:04:01.4211981 OrdersChanged Order: TransactionId=57039553 Direction=Buy Time=15.11.2011 16:04:01 Price=148865 Volume=2 State=Done Status=Accepted Balance=0 Comm=S#PJ23GVK2 Portfolio=SPBFUT00XXX Id=5868886383 Type=Limit 16:04:01.4319396 OrdersChanged Order: TransactionId=57039553 Direction=Buy Time=15.11.2011 16:04:01 Price=148865 Volume=2 State=Done Status=Accepted Balance=0 Comm=S#PJ23GVK2 Portfolio=SPBFUT00XXX Id=5868886383 Type=Limit

Alexander
Alexander

Что изменилось по сравнению с самым первым логом? Тут всё нормально идёт. Проблема ушла?

Roman0
Roman0 Автор

Alexander Mukhanchikov: Что изменилось по сравнению с самым первым логом? Тут всё нормально идёт. Проблема ушла? В программе ничего не менялось, проблема возникла один раз, все последующие заявки были с правильными Id и вчера тоже. Сегодня, как и во все передыдущие месяцы, всё нормально )

Alexander
Alexander

Roman0:

Alexander Mukhanchikov: Что изменилось по сравнению с самым первым логом? Тут всё нормально идёт. Проблема ушла? В программе ничего не менялось, проблема возникла один раз, все последующие заявки были с правильными Id и вчера тоже. Сегодня, как и во все передыдущие месяцы, всё нормально )

Воспроизведётся ещё раз - пишите. И посмотрите при этом чему равно Id транзакции в квике.

skuvv
skuvv

эта проблема существует очень давно. вот сейчас отловил заявку <mark>16:06:33.461 [_trader_NewOrders] TransactionId: 0 unknown new order Thread: EventDispatcher thread #заявки 16:06:33.466 [_trader_NewOrders] OrderList id: 57884196 Thread: EventDispatcher thread #заявки</mark> в квике у неё id = 57884196

Alexander
Alexander

skuvv: эта проблема существует очень давно.

Начиная с какой версии?

Что показывает Verifier на квике? Какая версия S#? Привидите скриншот квика Как отправляется эта заявка и как выводится Id в NewOrder? Квик с общими счетами или нет? Это при Move?

sergun
sergun

Бугага :-)

У меня тоже самое.

И в 4.0.5 и оно же в 4.0.3 было.

Суть в том, что недры СТокШарпа выводят в лог сообщение о NewOrder с TransactionId0 (!!!) 20:50:18.515 | | QuikTrader | New order: TransactionId=0, Id5913817775, Price=1726,5, Balance=4, Security=GDZ1@RTS, State=Active

и после этого, как я понимаю, этот ордер не попадает в Strategy.Orders

Причем спрашивал тут Михаила: http://stocksharp.com/posts/m/13340/

и был проигнорирован.

Ну ё-моё, потерял кучу времени в коммерческом проекте на поиск причин.. Хорошо, что Заказчик не взял лося :-) Даешь исходники в свободный доступ!!!

Mikhail Sukhov
Mikhail Sukhov

sergun: Ну ё-моё, потерял кучу времени в коммерческом проекте на поиск причин.. Хорошо, что Заказчик не взял лося :-) Даешь исходники в свободный доступ!!!

Даешь помощь проекту чтобы баги фиксились быстрее. А Гидра и Плаза так вообще пол года как в исходниках.🤨

sergun
sergun

Mikhail Sukhov:

sergun: Ну ё-моё, потерял кучу времени в коммерческом проекте на поиск причин.. Хорошо, что Заказчик не взял лося :-) Даешь исходники в свободный доступ!!!

Даешь помощь проекту чтобы баги фиксились быстрее. А Гидра и Плаза так вообще пол года как в исходниках.🤨

Не знаю-не знаю, open source должен быть полным :-) Тогда помощь проекту естественным образом повалит, причем и в виде фикса багов и по рефакторингу и по архитектуре.. Гора ж буржуйских успешных проектов так живет. Причем когда code contributor'ами могут быть все. А ядро команды заведует мерджами в транк :-)

Так что, таки даешь open-source :-)

Mikhail Sukhov
Mikhail Sukhov

sergun: Не знаю-не знаю

Окей, раз все устраивает, тогда тему с опен сорсом закрываем. Только в следующий раз не нужно писать, что баги долго фиксяться, и фичи нужные не появляются.

sergun
sergun

Mikhail Sukhov:

sergun: Не знаю-не знаю

Окей, раз все устраивает, тогда тему с опен сорсом закрываем. Только в следующий раз не нужно писать, что баги долго фиксяться, и фичи нужные не появляются.

Если бы все устраивало, я бы не ворчал :-)

Alexander
Alexander

sergun:

Mikhail Sukhov:

sergun: Ну ё-моё, потерял кучу времени в коммерческом проекте на поиск причин.. Хорошо, что Заказчик не взял лося :-) Даешь исходники в свободный доступ!!!

Даешь помощь проекту чтобы баги фиксились быстрее. А Гидра и Плаза так вообще пол года как в исходниках.🤨

Не знаю-не знаю, open source должен быть полным :-) Тогда помощь проекту естественным образом повалит, причем и в виде фикса багов и по рефакторингу и по архитектуре.. Гора ж буржуйских успешных проектов так живет. Причем когда code contributor'ами могут быть все. А ядро команды заведует мерджами в транк :-)

Так что, таки даешь open-source :-)

Сейчас есть таски по открытому коду? Есть, навалом. Кто-нибудь помогает? Да, 1-2 человека порой что-то делают если им в очередной раз намекнуть.

Смысл открывать всё, если, по тому что сейчас открыто, пользы почти 0?

Alexander
Alexander

sergun: Бугага :-)

У меня тоже самое.

И в 4.0.5 и оно же в 4.0.3 было.

Суть в том, что недры СТокШарпа выводят в лог сообщение о NewOrder с TransactionId0 (!!!) 20:50:18.515 | | QuikTrader | New order: TransactionId=0, Id5913817775, Price=1726,5, Balance=4, Security=GDZ1@RTS, State=Active

и после этого, как я понимаю, этот ордер не попадает в Strategy.Orders

Причем спрашивал тут Михаила: http://stocksharp.com/posts/m/13340/

и был проигнорирован.

Ну ё-моё, потерял кучу времени в коммерческом проекте на поиск причин.. Хорошо, что Заказчик не взял лося :-) Даешь исходники в свободный доступ!!!

Это при Move?

Alexander
Alexander

В общем от всех у кого проблемы нужны ответы на следующие вопросы:

  1. Версия S#
  2. Что выдаёт Verifier
  3. На каком инструменте и на каком рынке
  4. Посылаются заявки синхронно или асинхронно
  5. Какая транзакция - добавление новой заявки или перерегистрация старой
  6. Квик с общими счетами или нет
  7. Чему равно TransactionId после RegisterOrder
skuvv
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 ордеров

Alexander
Alexander

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
skuvv

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; коменты в квике появились, посмотрим насчет нулевых заявок

Alexander
Alexander

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

Roman0
Roman0 Автор

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

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

Alexander
Alexander

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

Roman0
Roman0 Автор

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

Alexander
Alexander

Roman0:

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

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

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

Собственно ваши слова

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

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

Alexander
Alexander

Roman0:

Alexander Mukhanchikov: А как заявка подана? Именно через S#? Есть сомнения, т.к. именно квик добавляет слэш в комментарий и именно при подаче через квик не выставляется Id. Такой комментарий вставляется только в S# (S#+случайная строка), вряд ли кто-то будет вставлять такое вручную

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

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

Roman0
Roman0 Автор

Alexander Mukhanchikov:

Roman0:

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

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

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

в той версии, в которой идет вывод TransactionId сразу после RegisterOrder пока такого не был подтверждают опасения - что заявка с 76 контрактами была подана именно из квика. Дело в том, что в коде вот этой конкретной версии просто нет вывода в лог TransactionId после RegisterOrder в принципе. Я уже заменил то, что у них было на версию с выводом этой информации. Как повторится (если вдруг) для версии с выводом transactionId после register - пишите. Ок

Roman0
Roman0 Автор

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
Alexander

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

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

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

Roman0
Roman0 Автор

Alexander Mukhanchikov:

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

В программу могут экспортироваться все заявки из квика. Если подаём руками - тогда действительно TransactionId = 0. Да, я знаю, в логе часто бывают такие заявки. В общем пока помечу что не воспроизводится. Если повторится - пишите. Хорошо.

Alexander
Alexander

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

l-way
l-way

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

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. Это видно на скриншотах во вложении.

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

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

Alexander Mukhanchikov:

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

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

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

Alexander
Alexander

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

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

l-way
l-way

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

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

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

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

Roman0
Roman0 Автор

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


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

skuvv
skuvv

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

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
Alexander

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

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

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

Roman0
Roman0 Автор

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
Mikhail Sukhov

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

  1. В курсе что он сейчас by default?
  2. Можете свои заявки, которые отправляете на регистрацию, складывать в коллекцию? И в NewOrders проверять заявки с нулевой транзакцией, есть ли они в этой коллекции? Нужно точно понять, те ли самые это заявки, которые вы отправляете или копии.
Roman0
Roman0 Автор

Mikhail Sukhov:

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

  1. В курсе что он сейчас by default? Да, у меня везде IsAsyncMode = false
  2. Можете свои заявки, которые отправляете на регистрацию, складывать в коллекцию? И в NewOrders проверять заявки с нулевой транзакцией, есть ли они в этой коллекции? Нужно точно понять, те ли самые это заявки, которые вы отправляете или копии. Не обещаю, но попробую. Кстати, вроде бы что-то такое было, что в заявках с нулевым TransactionId не сохранялись значения в ExtensionInfo, но это не точно.