MarketQuotingStrategy - объем не может быть нулевым
Atom Ответить
15.08.2012


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

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

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

Код

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


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

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

Код
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..

Теги:


Спасибо:




5 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 15.08.2012
Ответить


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

Marco

Фотография
Программист
Дата: 16.08.2012
Ответить


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

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

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


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


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

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

Marco

Фотография
Программист
Дата: 16.08.2012
Ответить


Проблему решил, еще раз спасибо. :)
Автор топика
Спасибо:

dvoris

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


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

каким образом решили?
Спасибо:

Marco

Фотография
Программист
Дата: 12.11.2012
Ответить


Код

                    Security.Exchange.IsSupportAtomicReRegister = false;
Автор топика
Спасибо: kahuna


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

loading
clippy