3.1.6 MarketQuotingStrategy баг?
Atom
01.05.2011


Михаил, добрый день! Перешел на 3.1.6 c 3.1.1 Перестала работать MarketQuotingStrategy. После того как один раз заявка снимается, стратегия подвисает, после ее принудительной остановки пытается убить несуществующую заявку. Вот лог:

MQS 01.05.2011 13:58:35 Регистрация новой заявки на Buy с ценой 99.64 и объемом 3.
MQS 01.05.2011 13:58:36 Заявка 50272367 на Buy отправлена с ценой 99.64 объемом 3.
MQS 01.05.2011 13:58:40 Котирование заявки 50272367 на Buy с ценой 99.64 объемом 3.
MQS 01.05.2011 13:58:40 Цена текущей 99.64 и лучшей 99.69.
MQS 01.05.2011 13:58:40 Отмена заявки 50272367.

Заявка отменяется, MQS виснет. Далее принудительно ее останавливаю, пытается убить уже несущесвующую заявку:

MQS 01.05.2011 13:59:46 Стратегия останавливается.
MQS 01.05.2011 13:59:47 Котирование отменяет заявку 50272367.
MQS 01.05.2011 13:59:47 Ошибка System.ArgumentException: Транзакции 'CLASSCODE=QJSIM; SECCODE=SBER03; TRANS_ID=50272369; ACTION=KILL_ORDER; ORDER_KEY=1199915739;' не была зарегистрирована. Причина 'Вы не можете снять данную заявку'.
Имя параметра: transactionTxt
в #=qhKG8RtfGVww7eZIAkvFBI1xL6leMRLhWXlYuldG3xi4=.#=q1$n3X3R95hfBt0lXIw0gd592zQL49Pvwv24pjPqutAg=(String #=qRoY7Nt6B5m0Fj1yxkFndyw==, OrderStatus& #=qEzpm3nWQplQT7CavV9Ps6w==, UInt32& #=qzQ4byfcQSvO073OhhbBKPw==, Int64& #=qnF0705Wdr_qmOlb6D7WoAg==, String& #=qp3R$jGQXUdd2tFIwstrbNQ==)
в Ecng.Trading.Quik.QuikTrader.#=q9Yz4CZGz_k3rckOM8XLlQQj8rL5Xum0$PH2gpcFuL7s=(Order #=qJq4Hn1w49mesxa$RyMn$6Q==, TransactionBuilder #=qa3L7aES2N4f1oP4U9oXn2A==)
в Ecng.Trading.Quik.QuikTrader.OnCancelOrder(Order order)
в Ecng.Trading.Algo.BaseTrader.CancelOrder(Order order)
в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()
в Ecng.Trading.Algo.Strategies.Strategy.#=qpQ272Xx_dvOaKhhInTHFf9Sq3vtdJ0cSymO74LcXaS8=.#=qHJ8E8Lriu9rmZEdxpxEkmQ==()
MQS 01.05.2011 13:59:48 Котирование отменяет заявку 50272367.
MQS 01.05.2011 13:59:48 Ошибка System.ArgumentException: Транзакции 'CLASSCODE=QJSIM; SECCODE=SBER03; TRANS_ID=50272370; ACTION=KILL_ORDER; ORDER_KEY=1199915739;' не была зарегистрирована. Причина 'Вы не можете снять данную заявку'.
Имя параметра: transactionTxt
в #=qhKG8RtfGVww7eZIAkvFBI1xL6leMRLhWXlYuldG3xi4=.#=q1$n3X3R95hfBt0lXIw0gd592zQL49Pvwv24pjPqutAg=(String #=qRoY7Nt6B5m0Fj1yxkFndyw==, OrderStatus& #=qEzpm3nWQplQT7CavV9Ps6w==, UInt32& #=qzQ4byfcQSvO073OhhbBKPw==, Int64& #=qnF0705Wdr_qmOlb6D7WoAg==, String& #=qp3R$jGQXUdd2tFIwstrbNQ==)
в Ecng.Trading.Quik.QuikTrader.#=q9Yz4CZGz_k3rckOM8XLlQQj8rL5Xum0$PH2gpcFuL7s=(Order #=qJq4Hn1w49mesxa$RyMn$6Q==, TransactionBuilder #=qa3L7aES2N4f1oP4U9oXn2A==)
в Ecng.Trading.Quik.QuikTrader.OnCancelOrder(Order order)
в Ecng.Trading.Algo.BaseTrader.CancelOrder(Order order)
в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()
в Ecng.Trading.Algo.Strategies.Strategy.#=qpQ272Xx_dvOaKhhInTHFf9Sq3vtdJ0cSymO74LcXaS8=.#=qHJ8E8Lriu9rmZEdxpxEkmQ==()
MQS 01.05.2011 13:59:49 Котирование отменяет заявку 50272367.
MQS 01.05.2011 13:59:49 Ошибка System.ArgumentException: Транзакции 'CLASSCODE=QJSIM; SECCODE=SBER03; TRANS_ID=50272371; ACTION=KILL_ORDER; ORDER_KEY=1199915739;' не была зарегистрирована. Причина 'Вы не можете снять данную заявку'.
Имя параметра: transactionTxt
в #=qhKG8RtfGVww7eZIAkvFBI1xL6leMRLhWXlYuldG3xi4=.#=q1$n3X3R95hfBt0lXIw0gd592zQL49Pvwv24pjPqutAg=(String #=qRoY7Nt6B5m0Fj1yxkFndyw==, OrderStatus& #=qEzpm3nWQplQT7CavV9Ps6w==, UInt32& #=qzQ4byfcQSvO073OhhbBKPw==, Int64& #=qnF0705Wdr_qmOlb6D7WoAg==, String& #=qp3R$jGQXUdd2tFIwstrbNQ==)
в Ecng.Trading.Quik.QuikTrader.#=q9Yz4CZGz_k3rckOM8XLlQQj8rL5Xum0$PH2gpcFuL7s=(Order #=qJq4Hn1w49mesxa$RyMn$6Q==, TransactionBuilder #=qa3L7aES2N4f1oP4U9oXn2A==)
в Ecng.Trading.Quik.QuikTrader.OnCancelOrder(Order order)
в Ecng.Trading.Algo.BaseTrader.CancelOrder(Order order)
в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()
в Ecng.Trading.Algo.Strategies.Strategy.#=qpQ272Xx_dvOaKhhInTHFf9Sq3vtdJ0cSymO74LcXaS8=.#=qHJ8E8Lriu9rmZEdxpxEkmQ==()

Теги:


Спасибо:


< 1 2 
Garry

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


Mikhail Sukhov Перейти
У вас OrdersChanged так часто вызывается?


Да почему-то вот так происходит. На 3.1.1 на том же квике, с теми же настройками, все в порядке.
Спасибо:

Mikhail Sukhov

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


Garry Перейти
Mikhail Sukhov Перейти
У вас OrdersChanged так часто вызывается?


Да почему-то вот так происходит. На 3.1.1 на том же квике, с теми же настройками, все в порядке.


И такой же логирующий код присутствует?

+ попробуйте QuikTrader.CancelOrderInstantly = true.
Спасибо:

Garry

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


Mikhail Sukhov Перейти
Garry Перейти
Mikhail Sukhov Перейти
У вас OrdersChanged так часто вызывается?


Да почему-то вот так происходит. На 3.1.1 на том же квике, с теми же настройками, все в порядке.


И такой же логирующий код присутствует?

+ попробуйте QuikTrader.CancelOrderInstantly = true.


Спасибо огромное QuikTrader.CancelOrderInstantly = true помогло,а с логированием напутал конечно, не в том месте на скорую руку добавил, так часто не должно событие вызываться.
Спасибо:

Mikhail Sukhov

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


Garry Перейти
Спасибо огромное QuikTrader.CancelOrderInstantly = true помогло,а с логированием напутал конечно, не в том месте на скорую руку добавил, так часто не должно событие вызываться.


Тоесть события все же вызываются не так часто? Даже при QuikTrader.CancelOrderInstantly = false?
Спасибо:

Garry

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


Mikhail Sukhov Перейти
Garry Перейти
Спасибо огромное QuikTrader.CancelOrderInstantly = true помогло,а с логированием напутал конечно, не в том месте на скорую руку добавил, так часто не должно событие вызываться.


Тоесть события все же вызываются не так часто? Даже при QuikTrader.CancelOrderInstantly = false?


Нет вызываются нормально даже при QuikTrader.CancelOrderInstantly = false. Просто не там поставил скобку, и получилось, что весь код логирования оказался в обработчике события новых сделок из таблицы всех сделок.
Спасибо:

Mikhail Sukhov

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


Garry Перейти
Mikhail Sukhov Перейти
Garry Перейти
Спасибо огромное QuikTrader.CancelOrderInstantly = true помогло,а с логированием напутал конечно, не в том месте на скорую руку добавил, так часто не должно событие вызываться.


Тоесть события все же вызываются не так часто? Даже при QuikTrader.CancelOrderInstantly = false?


Нет вызываются нормально даже при QuikTrader.CancelOrderInstantly = false. Просто не там поставил скобку, и получилось, что весь код логирования оказался в обработчике события новых сделок из таблицы всех сделок.


Я новую версию залил с фиксом вашей ситуации. Можете ее проверить? QuikTrader.CancelOrderInstantly = false
Спасибо:

Garry

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


Mikhail Sukhov Перейти
Garry Перейти
Mikhail Sukhov Перейти
Garry Перейти
Спасибо огромное QuikTrader.CancelOrderInstantly = true помогло,а с логированием напутал конечно, не в том месте на скорую руку добавил, так часто не должно событие вызываться.


Тоесть события все же вызываются не так часто? Даже при QuikTrader.CancelOrderInstantly = false?


Нет вызываются нормально даже при QuikTrader.CancelOrderInstantly = false. Просто не там поставил скобку, и получилось, что весь код логирования оказался в обработчике события новых сделок из таблицы всех сделок.


Я новую версию залил с фиксом вашей ситуации. Можете ее проверить? QuikTrader.CancelOrderInstantly = false


Проверил, работает и при QuikTrader.CancelOrderInstantly = false, Спасибо!
Спасибо:
< 1 2 

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

loading
clippy