MarketQuotingStrategy - объем не может быть нулевым

MarketQuotingStrategy - объем не может быть нулевым
Atom
8/15/2012
Marco


День добрый, коллеги.

При использовании MarketQuotingStrategy получаю ошибку "Объем не может быть нулевым" при перестановке заявки. Версия StockSharp 4.1.3, торговля через SmartCom.

Код C# (При вызове параметр Volume равен 1):

Code

            var strategy = new MarketQuotingStrategy(direction, Volume);
            ChildStrategies.Add(strategy);


Помогите пожалуйста решить проблему.

Журнал операций:

Code
2012.08.15 11:16:58.524|       |MQS_RIU2@RTS_BP11451-RF-01|Стратегия запущена.
2012.08.15 11:16:58.524|       |MQS_RIU2@RTS_BP11451-RF-01|Котирование на Sell объема 1.
2012.08.15 11:16:58.524|       |MQS_RIU2@RTS_BP11451-RF-01|Приостановка правил. _rulesSuspendCount 1.
2012.08.15 11:16:58.524|       |MQS_RIU2@RTS_BP11451-RF-01|Возобновление правил. _rulesSuspendCount 0.
2012.08.15 11:16:58.524|       |MQS_RIU2@RTS_BP11451-RF-01|Цена текущей NULL и лучшей 143235.
2012.08.15 11:16:58.524|       |MQS_RIU2@RTS_BP11451-RF-01|Лучший бид 143230 и лучший аск 143235.
2012.08.15 11:16:58.524|       |MQS_RIU2@RTS_BP11451-RF-01|Регистрация новой заявки на Sell с ценой 143235 и объемом 1.
2012.08.15 11:16:58.524|       |MQS_RIU2@RTS_BP11451-RF-01|Заявка 40152622 на Sell отправлена с ценой 143235 объемом 1.
2012.08.15 11:16:58.544|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Изменение стакана инструмента RIU2@RTS (9801873)' активировано.
2012.08.15 11:16:58.544|Warning|MQS_RIU2@RTS_BP11451-RF-01|Заявка 40152622 в процессе регистрации.
2012.08.15 11:16:58.619|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Изменение стакана инструмента RIU2@RTS (9801873)' активировано.
2012.08.15 11:16:58.619|Warning|MQS_RIU2@RTS_BP11451-RF-01|Заявка 40152622 в процессе регистрации.
2012.08.15 11:16:58.672|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Регистрация заявки 0 (6747440)' активировано.
2012.08.15 11:16:58.672|       |MQS_RIU2@RTS_BP11451-RF-01|Заявка 40152622 принята биржей.
2012.08.15 11:16:58.672|       |MQS_RIU2@RTS_BP11451-RF-01|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.08.15 11:16:58.672|       |MQS_RIU2@RTS_BP11451-RF-01|Цена текущей 143235 и лучшей 143230.
2012.08.15 11:16:58.672|       |MQS_RIU2@RTS_BP11451-RF-01|Лучший бид 143225 и лучший аск 143230.
2012.08.15 11:16:58.672|       |MQS_RIU2@RTS_BP11451-RF-01|Котирование заявки 40152622 на Sell с ценой 143235 объемом 1.
2012.08.15 11:16:58.760|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Изменение стакана инструмента RIU2@RTS (9801873)' активировано.
2012.08.15 11:16:58.861|Warning|MQS_RIU2@RTS_BP11451-RF-01|Заявка 40152622 в процессе перерегистрации на заявку 0.
2012.08.15 11:16:58.862|Error  |MQS_RIU2@RTS_BP11451-RF-01|System.ArgumentException: Объем заявки не может быть нулевым.
Имя параметра: order
   в #=qif3LSYdNIOjcKIX2lJbBW5qPn20dBtJ55zOcSHu1xbA=.#=q7eYqCNug7H8MN3e29MAu9CjdZekYU$G2oEosmdBmQTs=(Order #=qCJ8NyKC6i$W2Jy5dKjjqjQ==, Boolean #=qgXIW$h2X7qa8P58ZX0Ryww==)
   в #=qif3LSYdNIOjcKIX2lJbBW5qPn20dBtJ55zOcSHu1xbA=.#=q2CFuUBAhtCj$Wz2bSoymkA==(Order #=qm5lz5WVqlloZ$wO5Bw075w==, Boolean #=qTQnXfyJ030$6tPbfMSBbyA==)
   в StockSharp.Algo.BaseTrader.RegisterOrder(Order order)
   в StockSharp.Algo.BaseTrader.OnReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Smart.SmartTrader.OnReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.Strategies.QuotingStrategy.ProcessQuoting()
   в StockSharp.Algo.Strategies.QuotingStrategy.#=qrgj7mfsifMExfFfJRIekzoNzl0BfNjp62juvbKTHmkg=(Order #=quz8$l56l7Z5sMIMdAbaqoQ==)
   в StockSharp.Algo.MarketRule`2.#=qNvRzgzB6em7JDGjsbTFqXxbqeYm4_dxOCnhENHYLkDY=()
   в StockSharp.Algo.MarketRuleHelper.#=qT2TJX7Q4a_7MzEJwb4JZVA==(IMarketRuleContainer #=q3Bx0jRHnSGWyW2NARSa2bQ==, IMarketRule #=qNwrOeGKzx4dDfI1P0G1FlA==, Func`1 #=qcQGieqgBTngV7lIdWpneZQ==)
   в StockSharp.Algo.Strategies.Strategy.#=qZN_cuD5wldlf$19zm9HEHOu53gC9q$o3p0BaigJO5Uifnf5Ca1F2zuE82jYB0neTnptvAtr2nPz5H5J$XHX2Ug==(IMarketRule #=qAhGKN8uVo_OSrIVPofUuRg==, Func`1 #=qUBOGk205A97cP6cLpZ0cpA==)
2012.08.15 11:16:58.865|       |MQS_RIU2@RTS_BP11451-RF-01|Стратегия останавливается.
2012.08.15 11:16:58.866|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'MQS_RIU2@RTS_BP11451-RF-01 - останавливается (28026787)' активировано.
2012.08.15 11:16:58.866|Warning|MQS_RIU2@RTS_BP11451-RF-01|Заканчиваем котирование с неисполненным объемом равный 1.
2012.08.15 11:16:58.866|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'MQS_RIU2@RTS_BP11451-RF-01 - останавливается (28026787)' удалено.
2012.08.15 11:16:58.866|       |MQS_RIU2@RTS_BP11451-RF-01|Ожидание снятия всех активных заявок.
2012.08.15 11:16:58.870|       |MQS_RIU2@RTS_BP11451-RF-01|Отмена заявки 40152622.
2012.08.15 11:16:58.870|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Изменение стакана инструмента RIU2@RTS (9801873)' удалено.
2012.08.15 11:16:58.870|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Изменение позиции (33142016)' удалено.
2012.08.15 11:16:58.870|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Регистрация заявки 0 (6747440)' удалено.
2012.08.15 11:16:58.870|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Ошибка регистрации заявки 0 (53778899)' удалено.
2012.08.15 11:16:58.871|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Полное исполнение 0 (5967558)' удалено.
2012.08.15 11:16:58.871|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Регистрация заявки 0 (463695)' удалено.
2012.08.15 11:16:58.871|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Ошибка регистрации заявки 0 (30152281)' удалено.
2012.08.15 11:16:58.871|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Полное исполнение 0 (40958450)' удалено.
2012.08.15 11:16:58.871|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Отмена заявки 0 OR Полное исполнение 0 OR Ошибка регистрации заявки 0 (52930323)' удалено.
2012.08.15 11:16:58.878|Error  |MQS_RIU2@RTS_BP11451-RF-01|Заявка 0 не была принята по причине System.ArgumentException: Объем заявки не может быть нулевым.
Имя параметра: order
   в #=qif3LSYdNIOjcKIX2lJbBW5qPn20dBtJ55zOcSHu1xbA=.#=q7eYqCNug7H8MN3e29MAu9CjdZekYU$G2oEosmdBmQTs=(Order #=qCJ8NyKC6i$W2Jy5dKjjqjQ==, Boolean #=qgXIW$h2X7qa8P58ZX0Ryww==)
   в #=qif3LSYdNIOjcKIX2lJbBW5qPn20dBtJ55zOcSHu1xbA=.#=q2CFuUBAhtCj$Wz2bSoymkA==(Order #=qm5lz5WVqlloZ$wO5Bw075w==, Boolean #=qTQnXfyJ030$6tPbfMSBbyA==)
   в StockSharp.Algo.BaseTrader.RegisterOrder(Order order)
   в StockSharp.Algo.BaseTrader.OnReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Smart.SmartTrader.OnReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder)
   в StockSharp.Algo.Strategies.QuotingStrategy.ProcessQuoting()
   в StockSharp.Algo.Strategies.QuotingStrategy.#=qrgj7mfsifMExfFfJRIekzoNzl0BfNjp62juvbKTHmkg=(Order #=quz8$l56l7Z5sMIMdAbaqoQ==)
   в StockSharp.Algo.MarketRule`2.#=qNvRzgzB6em7JDGjsbTFqXxbqeYm4_dxOCnhENHYLkDY=()
   в StockSharp.Algo.MarketRuleHelper.#=qT2TJX7Q4a_7MzEJwb4JZVA==(IMarketRuleContainer #=q3Bx0jRHnSGWyW2NARSa2bQ==, IMarketRule #=qNwrOeGKzx4dDfI1P0G1FlA==, Func`1 #=qcQGieqgBTngV7lIdWpneZQ==)
   в StockSharp.Algo.Strategies.Strategy.#=qZN_cuD5wldlf$19zm9HEHOu53gC9q$o3p0BaigJO5Uifnf5Ca1F2zuE82jYB0neTnptvAtr2nPz5H5J$XHX2Ug==(IMarketRule #=qAhGKN8uVo_OSrIVPofUuRg==, Func`1 #=qUBOGk205A97cP6cLpZ0cpA==).
2012.08.15 11:16:58.892|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Отмена заявки 0 OR Полное исполнение 0 OR Ошибка регистрации заявки 0 (52347002)' активировано.
2012.08.15 11:16:58.893|       |MQS_RIU2@RTS_BP11451-RF-01|Заявка 40152622 больше не активна.
2012.08.15 11:16:58.893|       |MQS_RIU2@RTS_BP11451-RF-01|Правило 'Отмена заявки 0 OR Полное исполнение 0 OR Ошибка регистрации заявки 0 (52347002)' удалено.
2012.08.15 11:16:58.893|       |MQS_RIU2@RTS_BP11451-RF-01|Стратегия остановлена.
2012.08.15 11:16:58.893|       |HASS_RIU2@RTS_BP11451-RF-01|Правило 'MQS_RIU2@RTS_BP11451-RF-01 - остановлена (ChildStrategyList.OnChildProcessStateChanged) (47111983)' активировано.
2012.08.15 11:16:58.893|       |HASS_RIU2@RTS_BP11451-RF-01|Правило 'MQS_RIU2@RTS_BP11451-RF-01 - остановлена (ChildStrategyList.OnChildProcessStateChanged) (47111983)' удалено.
2012.08.15 11:16:59.068|Error  |MQS_RIU2@RTS_BP11451-RF-01|Заявка 40152622 не была отменена по причине System.InvalidOperationException: Не удалось снять заявку с номером 8628766423 и транзакцией 40152622..

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 8/16/2012
Reply


Выставите SmartTrader.IsSupportAtomicReRegister в false. В смарте не до конца реализован режим перестановки (нулевой объем в том же Квике интерпретируется как сигнал на получение от сервера нужного объема).
Thanks:

Marco

Avatar
Date: 8/16/2012
Reply


Михаил, спасибо.

Пытаюсь выставить, получаю ошибку:
Code

The property or indexer 'StockSharp.Algo.BaseTrader.IsSupportAtomicReRegister' cannot be used in this context because the set accessor is inaccessible


Судя по help'у это свойство доступно только на чтение:
Code
bool IsSupportAtomicReRegister { get; }


Что я делаю не так?

Кроме того, ReRegisterOrder у меня вроде бы нормально отрабатывает, заявка передвигается.
Thanks:

Marco

Avatar
Date: 8/16/2012
Reply


Проблему решил, еще раз спасибо. :)
Thanks:

dvoris

Avatar
Date: 11/12/2012
Reply


Marco
Проблему решил, еще раз спасибо. :)

каким образом решили?
Thanks:

Marco

Avatar
Date: 11/12/2012
Reply


Code

                    Security.Exchange.IsSupportAtomicReRegister = false;
Thanks: kahuna


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

loading
clippy