← Voltar

[BLOCKER] [3.0] котирование не срабатывает

Случается часто, что котирование не срабатывает. Использую SmartTrader и котирование вида BestByPriceQuotingStrategy(_Order, 4.Pips(_Order.Security)).

Два примера.

  1. Ордер был выставлен, но цена ушла далеко против него. Ордер должен был переставиться. Но этого не произошло. Реально ордер выставился, затем был отменен, а новый не поставился. Соответственно сделка не прошла.

22.02.2011 0:22:59 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__18] RTS-3.11 +1*187110 Limit
22.02.2011 0:23:55 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии Name: BBPQS errorStates: Error str: System.InvalidOperationException: В процессе снятия заявки '0' случился тайм-аут.
   в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order)
   в Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Func`1 getNewPrice, Func`1 getNewVolume, Boolean isForts)
   в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()
   в Ecng.Trading.Algo.Strategies.Strategy.#=q3UdZn4RtstjLq$DRetpesrMPkbpqY9D7UhsAwBvksoY=.#=qYw$3xI3MUzQpTQq5ga9LOw==()

  1. Ордер был выставлен, цена резко пошла в сторону ордера. Ордер выполнился. Но стратегия котирования выдала ошибку.

22.02.2011 16:14:38 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__18] RTS-3.11 +1*183565 Limit
22.02.2011 16:14:39 [OpenWealth.StockSharp.SmartCOM.<Smart_NewMyTrades>b__16] 275103030 RTS-3.11 +1*183515
22.02.2011 16:14:39 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии Name: BBPQS errorStates: Warning str: Заявка 57996368 не имеет состояния.
22.02.2011 16:15:01 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии Name: BBPQS errorStates: Error str: System.InvalidOperationException: В процессе снятия заявки '0' случился тайм-аут.
   в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order)
   в Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Func`1 getNewPrice, Func`1 getNewVolume, Boolean isForts)
   в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()
   в Ecng.Trading.Algo.Strategies.Strategy.#=q3UdZn4RtstjLq$DRetpesrMPkbpqY9D7UhsAwBvksoY=.#=qYw$3xI3MUzQpTQq5ga9LOw==()

Este tópico foi útil?

Compartilhar tópico

Comentários (33)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: Случается часто, что котирование не срабатывает.

Подпишитесь на событие Strategy.Log и напечатайте то, что там приходит.

Greene-nsk
Greene-nsk Autor

Mikhail Sukhov:

Greene-nsk: Случается часто, что котирование не срабатывает.

Подпишитесь на событие Strategy.Log и напечатайте то, что там приходит.

Я уже переделал метод на свою собственную стратегию. Аналог котирования. Использую _Order.GuarantyCancelOrder() перед тем как выставить ордер с новой ценой. Получаю ту же ошибку:


22.02.2011 21:54:55 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__18] RTS-3.11 +1*184315 Limit
22.02.2011 21:54:58 [OpenWealth.StockSharp.SmartCOM.<Smart_NewMyTrades>b__16] 275439087 RTS-3.11 +1*184315
22.02.2011 21:55:30 [OpenWealth.StockSharp.SmartCOM.<Init>b__3] ERROR: Ошибка обработки данных System.InvalidOperationException: В процессе снятия заявки '0' случился тайм-аут.
в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order)

Strategy.Log сейчас сделаю.

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: 22.02.2011 21:55:30 [OpenWealth.StockSharp.SmartCOM.b__3] ERROR: Ошибка обработки данных System.InvalidOperationException: В процессе снятия заявки '0' случился тайм-аут. в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order)

По всей видимости что-то не так с заявкой. Почему у нее нулевой идентификатор?

Greene-nsk
Greene-nsk Autor

Mikhail Sukhov: По всей видимости что-то не так с заявкой. Почему у нее нулевой идентификатор?

Идентификатор? Это какое поле? Я стандартно вроде создаю все.


Order _Order = new Order
            {
                Type = OrderTypes.Limit,
                Portfolio = Const.SmartInstance.Portfolio(Const.Params.PortfolioName),
                Volume = this.Shares,
                Price = this.Price,
                Security = Const.SmartInstance.Security(this.Symbol),
                Direction = OrderDirections.Buy,
            };

Лог:


22.02.2011 22:37:47 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Стратегия запущена.
22.02.2011 22:37:47 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Регистрация новой заявки на Buy с ценой 185370 и объемом 1.
22.02.2011 22:37:47 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Заявка 80556819 на Buy отправлена с ценой 185370 объемом 1.
22.02.2011 22:37:49 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 80556819 не имеет состояния.
22.02.2011 22:37:52 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 80556819 не имеет состояния.
22.02.2011 22:37:53 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 80556819 не имеет состояния.
22.02.2011 22:37:54 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 80556819 не имеет состояния.
22.02.2011 22:37:55 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 80556819 не имеет состояния.
22.02.2011 22:37:57 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 80556819 не имеет состояния.
22.02.2011 22:37:57 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__18] RTS-3.11 +1*185370 Limit
22.02.2011 22:37:57 [OpenWealth.StockSharp.SmartCOM.<Smart_NewMyTrades>b__16] 275511872 RTS-3.11 +1*185305
22.02.2011 22:37:58 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Цена текущей 185370 и лучшей 185300.
22.02.2011 22:37:58 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Котирование заявки 80556819 на Buy с ценой 185370 объемом 1.
22.02.2011 22:38:18 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Error str: System.InvalidOperationException: В процессе снятия заявки '0' случился тайм-аут.
   в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order)
   в Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Func`1 getNewPrice, Func`1 getNewVolume, Boolean isForts)
   в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()
   в Ecng.Trading.Algo.Strategies.Strategy.#=q3UdZn4RtstjLq$DRetpesrMPkbpqY9D7UhsAwBvksoY=.#=qYw$3xI3MUzQpTQq5ga9LOw==()

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk:

Mikhail Sukhov: По всей видимости что-то не так с заявкой. Почему у нее нулевой идентификатор?

Идентификатор? Это какое поле? Я стандартно вроде создаю все.

Это Order.Id, что приходит от смарта. И судя по логу, заявка вообще не обновляется. Надо смотреть причину в событие о заявках. NewOrders. OrdersChanged. Лучше сразу у SmartTrader.

Greene-nsk
Greene-nsk Autor

Mikhail Sukhov:

Greene-nsk:

Mikhail Sukhov: По всей видимости что-то не так с заявкой. Почему у нее нулевой идентификатор?

Идентификатор? Это какое поле? Я стандартно вроде создаю все.

Это Order.Id, что приходит от смарта. И судя по логу, заявка вообще не обновляется. Надо смотреть причину в событие о заявках. NewOrders. OrdersChanged. Лучше сразу у SmartTrader.


            this.Trader.Wrapper.NewOrder += ((i, s) =>
            {
                Log.Out("Wrapper new order: " + i + " " + s);
            });

            this.Trader.Wrapper.OrderChanged += ((s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14) =>
            {
                Log.Out("Wrapper order changed: " + s1 + " " + s2 + " " + s3 + " " + s4 + " " + s5 + " " + s6);
            });


22.02.2011 23:16:21 [OpenWealth.StockSharp.ProcessOrderStrategy.SecuritiesChanged] Условие стоп-заявки Sell исполнилось. Начинаем котирование.
22.02.2011 23:16:21 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Стратегия запущена.
22.02.2011 23:16:28 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Регистрация новой заявки на Sell с ценой 184405 и объемом 1.
22.02.2011 23:16:29 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Заявка 83663803 на Sell отправлена с ценой 184405 объемом 1.
22.02.2011 23:16:30 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГстратегии BBPQS errorStates: Warning str: Заявка 83663803 не имеет состояния.
22.02.2011 23:16:33 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГстратегии BBPQS errorStates: Warning str: Заявка 83663803 не имеет состояния.
22.02.2011 23:16:37 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГстратегии BBPQS errorStates: Warning str: Заявка 83663803 не имеет состояния.
22.02.2011 23:16:38 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГстратегии BBPQS errorStates: Warning str: Заявка 83663803 не имеет состояния.
22.02.2011 23:16:39 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГстратегии BBPQS errorStates: Warning str: Заявка 83663803 не имеет состояния.
22.02.2011 23:16:41 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГстратегии BBPQS errorStates: Warning str: Заявка 83663803 не имеет состояния.
22.02.2011 23:16:41 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BP5758-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_Limit True
22.02.2011 23:16:41 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BP5758-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Sell StOrder_Type_Limit True
22.02.2011 23:16:42 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__1c] RTS-3.11 -1*184405 Limit
22.02.2011 23:16:42 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BP5758-RF-01 RTS-3.11_FT StOrder_State_Filled StOrder_Action_Sell StOrder_Type_Limit True
22.02.2011 23:16:42 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГстратегии BBPQS errorStates: Warning str: Заявка 83663803 не имеет состояния.
22.02.2011 23:16:46 [OpenWealth.StockSharp.SmartCOM.Smart_OrdersChanged] Состояние: Done статус: Done время снятия:  RTS-3.11 Sell Limit 184405
22.02.2011 23:16:46 [OpenWealth.StockSharp.SmartCOM.<Smart_NewMyTrades>b__1a] 275534238 RTS-3.11 -1*184405
22.02.2011 23:16:46 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BP5758-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_Limit True
22.02.2011 23:16:46 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BP5758-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Sell StOrder_Type_Limit True
22.02.2011 23:16:46 [OpenWealth.StockSharp.SmartCOM.Smart_OrdersChanged] Состояние: Active статус: Done время снятия: 22.02.2011 19:16:35 RTS-3.11 Sell Limit 184405
22.02.2011 23:16:46 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BP5758-RF-01 RTS-3.11_FT StOrder_State_Filled StOrder_Action_Sell StOrder_Type_Limit True
22.02.2011 23:16:46 [OpenWealth.StockSharp.SmartCOM.Smart_OrdersChanged] Состояние: Done статус: Done время снятия: 22.02.2011 19:16:35 RTS-3.11 Sell Limit 184405
22.02.2011 23:16:46 [OpenWealth.StockSharp.SmartCOM.<Init>b__0] Wrapper new order: 83663803 558154858
22.02.2011 23:16:47 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Цена текущей 184405 и лучшей 184380.
22.02.2011 23:16:47 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Котирование заявки 83663803 на Sell с ценой 184405 объемом 1.
22.02.2011 23:17:09 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ERROR: ЛОГстратегии BBPQS errorStates: Error str: System.InvalidOperationException: В процессе снятия заявки '0' случился тайм-аут.
   в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order)
   в Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Func`1 getNewPrice, Func`1 getNewVolume, Boolean isForts)
   в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()
   в Ecng.Trading.Algo.Strategies.Strategy.#=q3UdZn4RtstjLq$DRetpesrMPkbpqY9D7UhsAwBvksoY=.#=qYw$3xI3MUzQpTQq5ga9LOw==()
22.02.2011 23:17:09 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Стратегия останавливается.
22.02.2011 23:17:10 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Котирование отменяет заявку 83663803.
22.02.2011 23:17:10 [OpenWealth.StockSharp.ProcessOrderStrategy.OnLog] ЛОГ стратегии BBPQS str: Стратегия остановлена.

Mikhail Sukhov
Mikhail Sukhov

Мда, демо сервер не работает. Что это за демо такой, который работает только в рабочие часы.👎

По логу. Не выводите самого главного - идентификатора заявок (смарт который приходит в SmartComWrapper.NewOrder, Order.TransactionId и order.Id). Плюс не совсем понял, где в логе вывод SmartTrader.NewOrders SmartTrader.OrdersChanged. То, что к врапперу подключились - очень хорошо. Но еще и сам SmartTrader нужен.

И еще вопрос. Вы после этого обновлялись?

Greene-nsk
Greene-nsk Autor

Mikhail Sukhov: Мда, демо сервер не работает. Что это за демо такой, который работает только в рабочие часы.👎

По логу. Не выводите самого главного - идентификатора заявок (смарт который приходит в SmartComWrapper.NewOrder, Order.TransactionId и order.Id). Плюс не совсем понял, где в логе вывод SmartTrader.NewOrders SmartTrader.OrdersChanged. То, что к врапперу подключились - очень хорошо. Но еще и сам SmartTrader нужен.

И еще вопрос. Вы после этого обновлялись?

Вот я и не помню, вроде обновлялся. Но вот в этом случае трейд под стратегией не зарегистрировался. Поэтому тоже засомневался, что обновлялся. Проапдейтился до 3.0.5b, но проверить смогу только завтра.

Greene-nsk
Greene-nsk Autor

S# 3.0.9 В общем, на демо почему-то работает стабильно. Больше 100 трейдов с котированием отработали на ура. В реале из 4х котирований поломались 2. В обоих случаях ни ордер, ни трейд под стратегией не зарегистрировались.

Лог неудачного котирования:


04.03.2011 20:30:29 [OpenWealth.StockSharp.StrategyProcessOrder.StartQuoting] Условие заявки Buy исполнилось. Начинаем котирование. (26511)
04.03.2011 20:30:29 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Стратегия запущена. (16)
04.03.2011 20:30:29 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Стратегия запущена. (0)
04.03.2011 20:30:30 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Регистрация новой заявки на Buy с ценой 200280 и объемом 1. (627)
04.03.2011 20:30:30 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Заявка 69038791 на Buy отправлена с ценой 200280 объемом 1. (16)
04.03.2011 20:30:30 [OpenWealth.StockSharp.TraderInitializator.<Init>b__0] Wrapper new order: 69038791 569068510 (235)
04.03.2011 20:30:30 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BPxxxx-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Buy StOrder_Type_Limit True 200280 1 0 1 04.03.2011 16:30:32 569068510 0 2714280 (0)
04.03.2011 20:30:31 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Котируемая заявка 69038791 снята. (721)
04.03.2011 20:30:31 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Стратегия останавливается. (16)
04.03.2011 20:30:31 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Стратегия останавливается. (0)
04.03.2011 20:30:32 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Котирование отменяет заявку 69038791. (1003)
04.03.2011 20:30:32 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Стратегия остановлена. (0)
04.03.2011 20:30:33 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BPxxxx-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Buy StOrder_Type_Limit True 200280 1 0 1 04.03.2011 16:30:32 569068510 3317030444 2714280 (564)
04.03.2011 20:30:33 [OpenWealth.StockSharp.TraderInitializator.<Trader_NewOrders>b__19] RTS-3.11 +1*200280 Limit (0)
04.03.2011 20:30:33 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BPxxxx-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Buy StOrder_Type_Limit True 200280 1 0 1 04.03.2011 16:30:34 569068510 3317030444 2714280 (282)
04.03.2011 20:30:33 [OpenWealth.StockSharp.TraderInitializator.<Trader_OrdersChanged>b__1d] RTS-3.11 +1*200280 Limit BP5758-RF-01 Active Done остаток: 1 ID: 3317030444 transactionID: 69038791 время снятия: 04.03.2011 16:30:32 (0)
04.03.2011 20:30:48 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BPxxxx-RF-01 RTS-3.11_FT StOrder_State_Filled StOrder_Action_Buy StOrder_Type_Limit True 200280 1 0 0 04.03.2011 16:30:49 569068510 3317030444 2714280 (15167)
04.03.2011 20:30:48 [OpenWealth.StockSharp.TraderInitializator.<Trader_OrdersChanged>b__1d] RTS-3.11 +1*200280 Limit BP5758-RF-01 Done Done остаток: 0 ID: 3317030444 transactionID: 69038791 время снятия: 04.03.2011 16:30:32 (0)
04.03.2011 20:30:48 [OpenWealth.StockSharp.TraderInitializator.<Trader_NewMyTrades>b__17] 280850408 RTS-3.11 +1*200280 (0)

Лог для успешной операции котирования:


04.03.2011 19:46:14 [OpenWealth.StockSharp.StrategyProcessOrder.StartQuoting] Условие заявки Sell исполнилось. Начинаем котирование. (369714)
04.03.2011 19:46:14 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Стратегия запущена. (0)
04.03.2011 19:46:14 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Регистрация новой заявки на Sell с ценой 199460 и объемом 1. (360)
04.03.2011 19:46:14 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Заявка 69038790 на Sell отправлена с ценой 199460 объемом 1. (63)
04.03.2011 19:46:15 [OpenWealth.StockSharp.TraderInitializator.<Init>b__0] Wrapper new order: 69038790 568980775 (580)
04.03.2011 19:46:15 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BPxxxx-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_Limit True 199460 1 0 1 04.03.2011 15:46:16 568980775 0 2714280 (0)
04.03.2011 19:46:15 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BPxxxx-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Sell StOrder_Type_Limit True 199460 1 0 1 04.03.2011 15:46:16 568980775 3316311862 2714280 (16)
04.03.2011 19:46:15 [OpenWealth.StockSharp.TraderInitializator.<Trader_NewOrders>b__19] RTS-3.11 -1*199460 Limit (0)
04.03.2011 19:46:15 [OpenWealth.StockSharp.StrategyProcessOrder.OnNewOrder] Strategy.NewOrder: RTS-3.11 -1*199460 Limit BP5758-RF-01 Active Done остаток: 1 ID: 3316311862 transactionID: 69038790 время снятия: 04.03.2011 15:46:16 (110)
04.03.2011 19:46:15 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BPxxxx-RF-01 RTS-3.11_FT StOrder_State_Filled StOrder_Action_Sell StOrder_Type_Limit True 199460 1 0 0 04.03.2011 15:46:16 568980775 3316311862 2714280 (63)
04.03.2011 19:46:15 [OpenWealth.StockSharp.TraderInitializator.<Trader_OrdersChanged>b__1d] RTS-3.11 -1*199460 Limit BP5758-RF-01 Done Done остаток: 0 ID: 3316311862 transactionID: 69038790 время снятия: 04.03.2011 15:46:16 (16)
04.03.2011 19:46:15 [OpenWealth.StockSharp.TraderInitializator.<Trader_NewMyTrades>b__17] 280807730 RTS-3.11 -1*199460 (0)
04.03.2011 19:46:15 [OpenWealth.StockSharp.StrategyProcessOrder.OnNewMyTrades] Strategy.NewMyTrades: 280807730 RTS-3.11 -1*199460 (0)
04.03.2011 19:46:15 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Стратегия останавливается. (0)
04.03.2011 19:46:15 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Котирование отменяет заявку 69038790. (31)
04.03.2011 19:46:15 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии BBPQS str: Стратегия остановлена. (16)

Формат вывода вреппера как обычно:

                    (this.Trader as SmartTrader).Wrapper.NewOrder += ((i, s) =>
                    {
                        Log.Out("Wrapper new order: " + i + " " + s, LogLevel.debug);
                    });

                    (this.Trader as SmartTrader).Wrapper.OrderChanged += ((s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14) =>
                    {
                        Log.Out("Wrapper order changed: " + s1 + " " + s2 + " " + s3 + " " + s4 + " " + s5 + " " + s6 + " " + s7 + " " + s8 + " " + s9 + " " + s10 + " " + s11 + " " + s12 + " " + s13 + " " + s14, LogLevel.debug);
                    });
Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: S# 3.0.9

В 3.0.10 были изменения насчет Order.CancelTime.

Greene-nsk
Greene-nsk Autor

S# 3.0.12b

BestByPriceQuotingStrategy(_Order, 5.Pips(_Order.Security));

Из webUI itinvest известно: в результате котирования (лог ниже) выставлена и отменена одна заявка "Продать фьючерсы RTS-3.11 1 лот по цене 201,605 приказ LIMIT". Больше заявок нет.


09.03.2011 13:47:08 [OpenWealth.StockSharp.StrategyProcessOrder.StartQuoting] Условие заявки Sell исполнилось. Начинаем котирование. (36244)
09.03.2011 13:47:08 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Стратегия запущена. (62)
09.03.2011 13:47:10 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Регистрация новой заявки на Sell с ценой 201605 и объемом 1. (2484)
09.03.2011 13:47:11 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Заявка 45502843 на Sell отправлена с ценой 201605 объемом 1. (108)
09.03.2011 13:47:13 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (2060)
09.03.2011 13:47:14 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (962)
09.03.2011 13:47:15 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1177)
09.03.2011 13:47:17 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1748)
09.03.2011 13:47:18 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1363)
09.03.2011 13:47:20 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1722)
09.03.2011 13:47:21 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1205)
09.03.2011 13:47:23 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1812)
09.03.2011 13:47:24 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1090)
09.03.2011 13:47:26 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1721)
09.03.2011 13:47:27 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1284)
09.03.2011 13:47:29 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1763)
09.03.2011 13:47:30 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1174)
09.03.2011 13:47:32 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1931)
09.03.2011 13:47:34 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1115)
09.03.2011 13:47:35 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1840)
09.03.2011 13:47:37 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1241)
09.03.2011 13:47:38 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1710)
09.03.2011 13:47:40 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1350)
09.03.2011 13:47:42 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1638)
09.03.2011 13:47:43 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1442)
09.03.2011 13:47:45 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1559)
09.03.2011 13:47:46 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1459)
09.03.2011 13:47:48 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1731)
09.03.2011 13:47:49 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1385)
09.03.2011 13:47:51 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1695)
09.03.2011 13:47:53 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1352)
09.03.2011 13:47:54 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BP-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_Limit True 201605 1 0 1 09.03.2011 13:47:38 570493480 0 2386600 (1655)
09.03.2011 13:47:54 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (1850)
09.03.2011 13:47:55 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BP-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Sell StOrder_Type_Limit True 201605 1 0 1 09.03.2011 13:47:38 570493480 3327683403 2386600 (0)
09.03.2011 13:47:57 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (2080)
09.03.2011 13:47:58 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 45502843 не имеет состояния. (8)
09.03.2011 13:47:59 [OpenWealth.StockSharp.TraderInitializator.<Init>b__0] Wrapper new order: 45502843 570493480 (1185)
09.03.2011 13:47:59 [OpenWealth.StockSharp.TraderInitializator.<Trader_NewOrders>b__19] RTS-3.11 -1*201605 Limit (3)
09.03.2011 13:48:00 [OpenWealth.StockSharp.StrategyProcessOrder.OnNewOrder] Strategy.NewOrder: RTS-3.11 -1*201605 Limit BP5758-RF-01 Active Accepted остаток: 1 ID: 3327683403 transactionID: 45502843 время снятия:  (745)
09.03.2011 13:48:00 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Цена текущей 201605 и лучшей 201470. (932)
09.03.2011 13:48:04 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Котирование заявки 45502843 на Sell с ценой 201605 объемом 1. (5)
09.03.2011 13:48:24 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Error str: System.InvalidOperationException: В процессе снятия заявки '3327683403' случился тайм-аут.
   в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order)
   в Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Func`1 getNewPrice, Func`1 getNewVolume, Boolean isForts)
   в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()
   в Ecng.Trading.Algo.Strategies.Strategy.#=qOdlOKYT7COgmqPX1tHXuEAECbFarHk$mR7teNIEmAAg=.#=qf6gWZmse$H2Zx1_kgVHwYw==() (20642)
09.03.2011 13:48:24 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Стратегия останавливается. (0)
09.03.2011 13:48:26 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Котирование отменяет заявку 45502843. (2039)
09.03.2011 13:48:27 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Стратегия остановлена. (105)
09.03.2011 13:48:46 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BP-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Sell StOrder_Type_Limit True 201605 1 0 1 09.03.2011 13:47:38 570493480 3327683403 2386600 (19822)
09.03.2011 13:48:46 [OpenWealth.StockSharp.TraderInitializator.<Trader_OrdersChanged>b__1d] RTS-3.11 -1*201605 Limit BP5758-RF-01 Active Accepted остаток: 1 ID: 3327683403 transactionID: 45502843 время снятия:  (4)
09.03.2011 13:48:47 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BP-RF-01 RTS-3.11_FT StOrder_State_Cancel StOrder_Action_Sell StOrder_Type_Limit True 201605 1 0 1 09.03.2011 13:47:38 570493480 3327683403 2386600 (126)
09.03.2011 13:48:50 [OpenWealth.StockSharp.TraderInitializator.<Trader_OrdersChanged>b__1d] RTS-3.11 -1*201605 Limit BP5758-RF-01 Done Accepted остаток: 1 ID: 3327683403 transactionID: 45502843 время снятия: 09.03.2011 13:47:38 (2)
09.03.2011 13:48:50 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BP-RF-01 RTS-3.11_FT StOrder_State_Cancel StOrder_Action_Sell StOrder_Type_Limit True 201605 1 0 1 09.03.2011 13:48:18 570493480 3327683403 2386600 (0)
09.03.2011 13:48:50 [OpenWealth.StockSharp.TraderInitializator.<Trader_OrdersChanged>b__1d] RTS-3.11 -1*201605 Limit BP5758-RF-01 Done Accepted остаток: 1 ID: 3327683403 transactionID: 45502843 время снятия: 09.03.2011 13:48:18 (1)

Формат вывода как обычно:


                        (this.Trader as SmartTrader).Wrapper.NewOrder += ((i, s) =>
                        {
                            Log.Out("Wrapper new order: " + i + " " + s, LogLevel.debug);
                        });
                        (this.Trader as SmartTrader).Wrapper.OrderChanged += ((s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14) =>
                        {
                            Log.Out("Wrapper order changed: " + s1.Remove(2, 4) + " " + s2 + " " + s3 + " " + s4 + " " + s5 + " " + s6 + " " + s7 + " " + s8 + " " + s9 + " " + s10 + " " + s11 + " " + s12 + " " + s13 + " " + s14, LogLevel.debug);
                        });

        private void Trader_OrdersChanged(IEnumerable<Order> orders)
        {
            orders.ForEach(o => Log.Out(o.ToStringLong()));
        }

        static public string ToStringLong(this Order o)
        {
            string sign = (o.Direction == OrderDirections.Buy) ? "+" : "-";
            return o.Security.Name + " " + sign + o.Volume + "*" + o.Price + " " + o.Type + " " +
                o.Portfolio.Name + " " + o.State + " " + o.Status + " остаток: " + o.Balance + " ID: " + o.Id + " transactionID: " + o.TransactionId + " время снятия: " + o.CancelTime;
        }

Mikhail Sukhov
Mikhail Sukhov

Лог нормальный. А в чем вопрос?

Greene-nsk
Greene-nsk Autor

Mikhail Sukhov: Лог нормальный. А в чем вопрос?

Сделки нет. Только один отмененный ордер. Ни одного исполненного.

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk:

Mikhail Sukhov: Лог нормальный. А в чем вопрос?

Сделки нет. Только один отмененный ордер. Ни одного исполненного.

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

Greene-nsk
Greene-nsk Autor

Mikhail Sukhov:

Greene-nsk:

Mikhail Sukhov: Лог нормальный. А в чем вопрос?

Сделки нет. Только один отмененный ордер. Ни одного исполненного.

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

Всмысле? Еще ра. Котирование вида BestByPriceQuotingStrategy(_Order, 5.Pips(_Order.Security)). Оно должно передвигать заявку на край стакана при привышении 5и пунктов и в любом случае исполниться рано или поздно. Разве нет??

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk:

Mikhail Sukhov:

Greene-nsk:

Mikhail Sukhov: Лог нормальный. А в чем вопрос?

Сделки нет. Только один отмененный ордер. Ни одного исполненного.

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

Всмысле? Еще ра. Котирование вида BestByPriceQuotingStrategy(_Order, 5.Pips(_Order.Security)). Оно должно передвигать заявку на край стакана при привышении 5и пунктов и в любом случае исполниться рано или поздно. Разве нет??

Что такое процесс движения. Это когда снимается заявка и регистрируется новая. Если в этот механизме происходит исключение, оно не срабатывает. В вашем случае было ошибка на снятии заявки. Слишком долго Смарт слал инфу о том, что заявка снята. И в этом возможно виноват S#.😊 Sleep с COM объектами не дружит. Если это то, о чем я думаю, то поведение в 3.0.14 будет лучше. Если нет, значит все таки СмартКом.

Greene-nsk
Greene-nsk Autor

Mikhail Sukhov: Что такое процесс движения. Это когда снимается заявка и регистрируется новая. Если в этот механизме происходит исключение, оно не срабатывает. В вашем случае было ошибка на снятии заявки. Слишком долго Смарт слал инфу о том, что заявка снята. И в этом возможно виноват S#.😊 Sleep с COM объектами не дружит. Если это то, о чем я думаю, то поведение в 3.0.14 будет лучше. Если нет, значит все таки СмартКом.

И что теперь делать? Когда я посылаю запрос на котирование, мне необходима 100% гарантия, что запрос исполнится если нет обрыва связи или креша системы / биржи. Иначе вся логика ломается. Из 7 трейдов сегодня, эта ошибка вылезла 3и раза. Т.е. метод АБСОЛЮТНО нерабочий.

На мой взгляд:

  1. Должна быть запрещена остановка котирования до выполнения сделки. Иначе надеяться на такой метод нельзя.
  2. Надо разобраться, почему сообщение об отмене ордера приходит так долго. Возможно надо увеличить таймаут (возможно в разы) или, если это проблема смарта как-то ее обходить.
Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: На мой взгляд:

  1. Должна быть запрещена остановка котирования до выполнения сделки. Иначе надеяться на такой метод нельзя.
  2. Надо разобраться, почему сообщение об отмене ордера приходит так долго. Возможно надо увеличить таймаут (возможно в разы) или, если это проблема смарта как-то ее обходить.

Все верно. Я постараюсь проблему устранить ту, которую сам нашел в метод GuarantyCancelOrder. Если она поможет, гуд. Иначе, как-то по другому решать задачу.

vvt
vvt

Подтверждаю, с котированием есть проблемы, вот лог [Quik Junior] [3.0.13]:

Регистрация новой заявки на Sell с ценой 198570 и объемом 1. Заявка 47028103 на Sell отправлена с ценой 198570 объемом 1. Цена текущей 198570 и лучшей 198565. Котирование заявки 47028103 на Sell с ценой 198570 объемом 1. Перекотирование зарегистрировано для заявки 47028105 на Sell с ценой 198565 объемом 1. Цена текущей 198565 и лучшей 198560. Котирование заявки 47028105 на Sell с ценой 198565 объемом 1. Перекотирование зарегистрировано для заявки 47028107 на Sell с ценой 198560 объемом 1. Цена текущей 198560 и лучшей 198570. Котирование заявки 47028107 на Sell с ценой 198560 объемом 1. Перекотирование зарегистрировано для заявки 47028109 на Sell с ценой 198570 объемом 1. Цена текущей 198570 и лучшей 198565. Котирование заявки 47028109 на Sell с ценой 198570 объемом 1. Перекотирование зарегистрировано для заявки 47028111 на Sell с ценой 198565 объемом 1. Цена текущей 198565 и лучшей 198545. Котирование заявки 47028111 на Sell с ценой 198565 объемом 1. Перекотирование зарегистрировано для заявки 47028113 на Sell с ценой 198545 объемом 1. Цена текущей 198545 и лучшей 198570. <mark>Котирование заявки 47028113 на Sell с ценой 198545 объемом 1. Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение Вы не можете снять данную заявку Котируемая заявка 47028113 исполнилась.</mark> Регистрация новой заявки на Sell с ценой 198620 и объемом 1. Заявка 47028115 на Sell отправлена с ценой 198620 объемом 1. Цена текущей 198620 и лучшей 198615. Котирование заявки 47028115 на Sell с ценой 198620 объемом 1. Перекотирование зарегистрировано для заявки 47028117 на Sell с ценой 198615 объемом 1. Цена текущей 198615 и лучшей 198560. Котирование заявки 47028117 на Sell с ценой 198615 объемом 1. Перекотирование зарегистрировано для заявки 47028119 на Sell с ценой 198560 объемом 1. Цена текущей 198560 и лучшей 198580. Котирование заявки 47028119 на Sell с ценой 198560 объемом 1. Перекотирование зарегистрировано для заявки 47028121 на Sell с ценой 198580 объемом 1. Цена текущей 198580 и лучшей 198565. Котирование заявки 47028121 на Sell с ценой 198580 объемом 1. Перекотирование зарегистрировано для заявки 47028123 на Sell с ценой 198565 объемом 1. Цена текущей 198565 и лучшей 198620. Котирование заявки 47028123 на Sell с ценой 198565 объемом 1. <mark>Ecng.Trading.Quik.ApiException</mark>: Код ошибки Failed Сообщение [FORTS] В операции о тказано: Превышен лимит операций от указанного клиента.. Снятое количество: 9193848 System.InvalidOperationException: В процессе снятия заявки '376660815' случился тайм-аут. в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order) в Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Func 1 getNewPrice, Func1 getNewVolume, Boolean isForts) в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess() в Ecng.Trading.Algo.Strategies.Strategy.#=q_7aAU8b_zEypCQ8s7GI9rpJ4uiSQ4jqTKo 3$1bhmZoo=.#=q1xDZDIblA8UZbmo72Ys1aA==() Стратегия останавливается. Котирование отменяет заявку 47028123. Стратегия остановлена. <mark>Ecng.Trading.Quik.ApiException</mark>: Код ошибки Failed Сообщение [FORTS] В операции о тказано: Превышен лимит операций от указанного клиента.. Снятое количество: 9193848

			var order = base.CreateOrder(OrderDirections.Sell, base.Security.GetMarketPrice(OrderDirections.Sell), base.Volume);
			var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit(5));
			base.ChildStrategies.Add(strategy);

В первом случае заявка исполнилась, а стратегия пытается ее снять. А дальше возникает ошибка из-за ограничения не более 30 транзакций в секунду на ФОРТС через Quik Junior (у меня от Finam), причем оно дается на всех клиентов. Кроме того, в Quik Junior есть еще похоже ограничение на не более 10 перестановок заявки, возникает стабильно, 11 перестановку отвергает. Выложу лог, как только возникнет еще раз. Хотелось бы, чтобы эти ограничения тоже как-то учитывались при котировании.

Mikhail Sukhov
Mikhail Sukhov

vvt: В первом случае заявка исполнилась, а стратегия пытается ее снять. А дальше возникает ошибка из-за ограничения не более 30 транзакций в секунду на ФОРТС через Quik Junior (у меня от Finam), причем оно дается на всех клиентов. Кроме того, в Quik Junior есть еще похоже ограничение на не более 10 перестановок заявки, возникает стабильно, 11 перестановку отвергает. Выложу лог, как только возникнет еще раз. Хотелось бы, чтобы эти ограничения тоже как-то учитывались при котировании.

По Смарту совсем другая картина - там обновление не приходит о заявке. А тут типичное ограничение объема, что как раз является правильным поведением (не можете вы продать, потому что к лимиту подошли)... С кол-вом транзакций все просто - Strategy.Interval.

vvt
vvt

Mikhail Sukhov:

vvt: В первом случае заявка исполнилась, а стратегия пытается ее снять. А дальше возникает ошибка из-за ограничения не более 30 транзакций в секунду на ФОРТС через Quik Junior (у меня от Finam), причем оно дается на всех клиентов. Кроме того, в Quik Junior есть еще похоже ограничение на не более 10 перестановок заявки, возникает стабильно, 11 перестановку отвергает. Выложу лог, как только возникнет еще раз. Хотелось бы, чтобы эти ограничения тоже как-то учитывались при котировании.

По Смарту совсем другая картина - там обновление не приходит о заявке. А тут типичное ограничение объема, что как раз является правильным поведением (не можете вы продать, потому что к лимиту подошли)... С кол-вом транзакций все просто - Strategy.Interval.

  1. На счете средств было достаточно на 11 лотов, продать котированием я хочу 1 лот, т.е. по моему счету лимит не исчерпан. А сообщение "Превышен лимит операций от указанного клиента.. Снятое количество: 9193848" судя по снятому количеству наводит на мысль, что под этим клиентом торгует еще какое-то количество пользователей Quik Junior. Эта ситуация описана, например, здесь
  2. _strategy.Interval = TimeSpan.FromSeconds(1); Котирование запускается в OnRunning(). По приведенному скриншоту окна заявок видно, что они переставляются раз в 1-2 секунды. И стабильно после 10 перестановок котирование прерывается.
  3. Как быть с сообщением в логе > Котирование заявки 47028113 на Sell с ценой 198545 объемом 1.

Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение Вы не можете снять данную заявку Котируемая заявка 47028113 исполнилась. Опять же по скриншоту видно, что заявка исполнилась в 13:05:34 и котирование должно остановиться, а оно продолжается дальше.

vvt
vvt

В догонку еще лог:

Регистрация новой заявки на Sell с ценой 198750 и объемом 1. Заявка 47859650 на Sell отправлена с ценой 198750 объемом 1. Цена текущей 198750 и лучшей 198740. Котирование заявки 47859650 на Sell с ценой 198750 объемом 1. Перекотирование зарегистрировано для заявки 47859652 на Sell с ценой 198740 объемом 1. Цена текущей 198740 и лучшей 198735. Котирование заявки 47859652 на Sell с ценой 198740 объемом 1. Перекотирование зарегистрировано для заявки 47859654 на Sell с ценой 198735 объемом 1. Цена текущей 198735 и лучшей 198725. Котирование заявки 47859654 на Sell с ценой 198735 объемом 1. Перекотирование зарегистрировано для заявки 47859656 на Sell с ценой 198725 объемом 1. Цена текущей 198725 и лучшей 198720. Котирование заявки 47859656 на Sell с ценой 198725 объемом 1. Перекотирование зарегистрировано для заявки 47859658 на Sell с ценой 198720 объемом 1. Цена текущей 198720 и лучшей 198715. Котирование заявки 47859658 на Sell с ценой 198720 объемом 1. Перекотирование зарегистрировано для заявки 47859660 на Sell с ценой 198715 объемом 1. Цена текущей 198715 и лучшей 198710. Котирование заявки 47859660 на Sell с ценой 198715 объемом 1. Перекотирование зарегистрировано для заявки 47859662 на Sell с ценой 198710 объемом 1. Цена текущей 198710 и лучшей 198715. Котирование заявки 47859662 на Sell с ценой 198710 объемом 1. <mark>Ecng.Trading.Quik.ApiException</mark>: Код ошибки Failed Сообщение Вы не можете снять данную заявку Котируемая заявка 47859662 исполнилась. Регистрация новой заявки на Sell с ценой 198715 и объемом 1. Заявка 47859664 на Sell отправлена с ценой 198715 объемом 1. Цена текущей 198715 и лучшей 198695. Котирование заявки 47859664 на Sell с ценой 198715 объемом <mark>1</mark>. <mark>Ecng.Trading.Quik.ApiException</mark>: Код ошибки Failed Сообщение Вы не можете снять данную заявку Котируемая заявка 47859664 исполнилась. Регистрация новой заявки на Sell с ценой 198750 и объемом <mark>2</mark>. Заявка 47859666 на Sell отправлена с ценой 198750 объемом 2. Цена текущей 198750 и лучшей 198745. Котирование заявки 47859666 на Sell с ценой 198750 объемом 2. Перекотирование зарегистрировано для заявки 47859668 на Sell с ценой 198745 объемом 2. Цена текущей 198745 и лучшей 198750. Котирование заявки 47859668 на Sell с ценой 198745 объемом 2. Перекотирование зарегистрировано для заявки 47859670 на Sell с ценой 198750 объемом 2. Заявка 47859670 не имеет состояния. Цена текущей 198750 и лучшей 198735. Котирование заявки 47859670 на Sell с ценой 198750 объемом 2. Перекотирование зарегистрировано для заявки 47859672 на Sell с ценой 198735 объемом 2. <mark>Заявка 47859672 не имеет состояния</mark>. Котируемая заявка 47859672 не принята биржей. Стратегия останавливается. Котирование отменяет заявку 47859672. Стратегия остановлена.

Объем заявки почему-то увеличивается с одного до двух (и может увеличиваться дальше), хотя задано продать один фьючерс через котирование.

_strategy = new TestStrategy { Volume = 1 };
Mikhail Sukhov
Mikhail Sukhov

vvt: В догонку еще лог:

Две стратегии на котирование не были зарегистрированы?

vvt
vvt

Mikhail Sukhov:

vvt: В догонку еще лог:

Две стратегии на котирование не были зарегистрированы?

Вот часть кода:

		private static void TryCreateStrategy()
		{
			if (_ri != null && _portfolio != null)
			{
				_strategy = new TestStrategy { Volume = 1 };
				_strategy.Log += OnLog;
				_strategy.NewOrder += OnNewOrder;
				_strategy.PropertyChanged += OnStrategyPropertyChanged;
				_strategy.Interval = TimeSpan.FromSeconds(1);
				_manager.Register(_strategy, _portfolio, _ri);
				_strategy.Start();
				var logger = new FileStrategyLogger("mylog.txt");
				logger.Strategies.Add(_strategy);
			}
		}

	internal class TestStrategy : ActionStrategy
	{
		protected override void OnRunning()
		{
			const OrderDirections direction = OrderDirections.Sell;
			const int priceDelta = 5;

			var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume);
			var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit(priceDelta));
			base.ChildStrategies.Add(strategy);

			base.OnRunning();
		}
		protected override StrategyProcessResults OnProcess()
		{
			// если наша стратегия в процессе остановки
			if (base.ProcessState == StrategyProcessStates.Stopping)
			{
				// отменяем активные заявки
				base.CancelActiveOrders();

				// так как все активные заявки гарантированно были отменены, то возвращаем StrategyProcessResults.Stop
				return StrategyProcessResults.Stop;
			}

			base.OnProcess();
			return StrategyProcessResults.Continue;
		}
	}

Mikhail Sukhov
Mikhail Sukhov

vvt: ...

Выведите в лог момент создания MarketQuotingStrategy

Greene-nsk
Greene-nsk Autor

SmartTrader, S# 3.0.14

Проблема так и не исправлена.


11.03.2011 16:18:08 [OpenWealth.StockSharp.StrategyProcessOrder.StartQuoting] Условие заявки Buy исполнилось. Начинаем котирование. (Si-6.11#10min#CB_rev9_1_1#120_25_0.4) (408)
11.03.2011 16:18:08 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Стратегия запущена. (23)
11.03.2011 16:18:13 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Регистрация новой заявки на Buy с ценой 28940 и объемом 14. (4777)
11.03.2011 16:18:13 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Заявка 51830828 на Buy отправлена с ценой 28940 объемом 14. (140)
11.03.2011 16:18:23 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 51830828 не имеет состояния. (10468)
11.03.2011 16:18:31 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 51830828 не имеет состояния. (4880)
11.03.2011 16:18:42 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 51830828 не имеет состояния. (10494)
11.03.2011 16:18:49 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Warning str: Заявка 51830828 не имеет состояния. (7632)
11.03.2011 16:18:54 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BP-RF-01 Si-6.11_FT StOrder_State_Pending StOrder_Action_Buy StOrder_Type_Limit True 28940 14 0 14 11.03.2011 16:18:43 574306753 0 1403560 (4348)
11.03.2011 16:18:57 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BP-RF-01 Si-6.11_FT StOrder_State_Open StOrder_Action_Buy StOrder_Type_Limit True 28940 14 0 14 11.03.2011 16:18:43 574306753 3353871864 1403560 (1)
11.03.2011 16:18:57 [OpenWealth.StockSharp.TraderInitializator.<Init>b__0] Wrapper new order: 51830828 574306753 (14)
11.03.2011 16:18:57 [OpenWealth.StockSharp.TraderInitializator.<Trader_NewOrders>b__18] Si-6.11 +14*28940 Limit (7)
11.03.2011 16:18:58 [OpenWealth.StockSharp.StrategyProcessOrder.OnNewOrder] Strategy.NewOrder: Si-6.11 +14*28940 Limit BP5758-RF-01 Active Accepted остаток: 14 ID: 3353871864 transactionID: 51830828 время снятия:  (Si-6.11#10min#ChannelBreakout_rev9_1_1#120_25_0.4) (6)
11.03.2011 16:20:21 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Цена текущей 28940 и лучшей 28947. (3067)
11.03.2011 16:20:21 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Котирование заявки 51830828 на Buy с ценой 28940 объемом 14. (1)
11.03.2011 16:20:41 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии BBPQS errorStates: Error str: System.InvalidOperationException: В процессе снятия заявки '3353871864' случился тайм-аут.
   в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order, TimeSpan timeOut)
   в Ecng.Trading.Algo.TraderHelper.GuarantyCancelOrder(Order order)
   в Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Func`1 getNewPrice, Func`1 getNewVolume, Boolean isForts)
   в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess()
   в Ecng.Trading.Algo.Strategies.Strategy.#=quXXKfimi4hGCUUA2EBieBUD8xcTAoa4cOW_frizm_u0=.#=qTKu$QtVDqw5ebfplRPB3ww==() (14329)
11.03.2011 16:20:41 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Стратегия останавливается. (1)
11.03.2011 16:20:41 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Котирование отменяет заявку 51830828. (7)
11.03.2011 16:20:41 [OpenWealth.HeadRealTrade.OnLog] ЛОГ стратегии BBPQS str: Стратегия остановлена. (53)
11.03.2011 16:20:54 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BP-RF-01 Si-6.11_FT StOrder_State_Open StOrder_Action_Buy StOrder_Type_Limit True 28940 14 0 14 11.03.2011 16:18:43 574306753 3353871864 1403560 (8674)
11.03.2011 16:20:54 [OpenWealth.StockSharp.TraderInitializator.<Trader_OrdersChanged>b__1c] Si-6.11 +14*28940 Limit BP5758-RF-01 Active Accepted остаток: 14 ID: 3353871864 transactionID: 51830828 время снятия:  (1)
11.03.2011 16:20:54 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BP-RF-01 Si-6.11_FT StOrder_State_Cancel StOrder_Action_Buy StOrder_Type_Limit True 28940 14 0 14 11.03.2011 16:18:43 574306753 3353871864 1403560 (121)
11.03.2011 16:20:54 [OpenWealth.StockSharp.TraderInitializator.<Trader_OrdersChanged>b__1c] Si-6.11 +14*28940 Limit BP5758-RF-01 Done Accepted остаток: 14 ID: 3353871864 transactionID: 51830828 время снятия: 11.03.2011 16:18:43 (23)
11.03.2011 16:20:54 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: BP-RF-01 Si-6.11_FT StOrder_State_Cancel StOrder_Action_Buy StOrder_Type_Limit True 28940 14 0 14 11.03.2011 16:20:40 574306753 3353871864 1403560 (7)
11.03.2011 16:20:54 [OpenWealth.StockSharp.TraderInitializator.<Trader_OrdersChanged>b__1c] Si-6.11 +14*28940 Limit BP5758-RF-01 Done Accepted остаток: 14 ID: 3353871864 transactionID: 51830828 время снятия: 11.03.2011 16:20:40 (1)

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: SmartTrader, S# 3.0.14

Проблема так и не исправлена.

Пишите в саппорт Смарта. Это не нормально, когда по пол минуте от заявки не приходят уведомления.

Greene-nsk
Greene-nsk Autor

Mikhail Sukhov:

Greene-nsk: SmartTrader, S# 3.0.14

Проблема так и не исправлена.

Пишите в саппорт Смарта. Это не нормально, когда по пол минуте от заявки не приходят уведомления.

Это расшифровывается как "бросайте этот глючный смарт, переходите на квик"? )

vvt
vvt

Вывел в лог.


	internal class TestStrategy : ActionStrategy
	{
		protected override void OnRunning()
		{
			const OrderDirections direction = OrderDirections.Sell;
			const int priceDelta = 5;

			// создаем заявку
			var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume);
            Console.WriteLine("Заявка на продажу создана.");

			// регистрируем заявку (через котирование)
			var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit(priceDelta));
            Console.WriteLine("Заявка зарегистрирована.");
			base.ChildStrategies.Add(strategy);
			Console.WriteLine("Котирование закончено.");

			base.OnRunning();
		}

Лог:

Производим подключение... Подключение было произведено успешно. Инструмент RIH1 появился. Портфель SPBFUT00835 появился. Экспорт по DDE запущен. <mark>Заявка на продажу создана. Заявка зарегистрирована. Котирование закончено. Стратегия запущена. Стратегия запущена.</mark> Чтобы закончить, нажмите любую клавишу... Регистрация новой заявки на Sell с ценой 194100 и объемом 1. Заявка 59195205 на Sell отправлена с ценой 194100 объемом 1. Цена текущей 194100 и лучшей 194095. Котирование заявки 59195205 на Sell с ценой 194100 объемом 1. Перекотирование зарегистрировано для заявки 59195207 на Sell с ценой 194095 объемом 1. Цена текущей 194095 и лучшей 194070. Котирование заявки 59195207 на Sell с ценой 194095 объемом 1. Перекотирование зарегистрировано для заявки 59195209 на Sell с ценой 194070 объемом 1. Цена текущей 194070 и лучшей 194065. Котирование заявки 59195209 на Sell с ценой 194070 объемом 1. Перекотирование зарегистрировано для заявки 59195211 на Sell с ценой 194065 объемом 1. Цена текущей 194065 и лучшей 194060. Котирование заявки 59195211 на Sell с ценой 194065 объемом 1. <mark>Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение [FORTS] Не найдена заявка для удаления Котируемая заявка 59195211 исполнилась.</mark> Регистрация новой заявки на Sell с ценой 194085 и объемом 1. Заявка 59195213 на Sell отправлена с ценой 194085 объемом 1. Цена текущей 194085 и лучшей 194080. Котирование заявки 59195213 на Sell с ценой 194085 объемом 1. Перекотирование зарегистрировано для заявки 59195215 на Sell с ценой 194080 объемом 1. Цена текущей 194080 и лучшей 194075. Котирование заявки 59195215 на Sell с ценой 194080 объемом 1. Перекотирование зарегистрировано для заявки 59195217 на Sell с ценой 194075 объемом 1. Цена текущей 194075 и лучшей 194070. Котирование заявки 59195217 на Sell с ценой 194075 объемом 1. Перекотирование зарегистрировано для заявки 59195219 на Sell с ценой 194070 объемом 1. Цена текущей 194070 и лучшей 194060. Котирование заявки 59195219 на Sell с ценой 194070 объемом 1. Перекотирование зарегистрировано для заявки 59195221 на Sell с ценой 194060 объемом 1. Цена текущей 194060 и лучшей 194065. Котирование заявки 59195221 на Sell с ценой 194060 объемом 1. Перекотирование зарегистрировано для заявки 59195223 на Sell с ценой 194065 объемом 1. Цена текущей 194065 и лучшей 194080. Котирование заявки 59195223 на Sell с ценой 194065 объемом 1. Перекотирование зарегистрировано для заявки 59195225 на Sell с ценой 194080 объемом 1. <mark>Заявка 59195225 не имеет состояния. Котируемая заявка 59195225 не принята биржей.</mark> Стратегия останавливается. Котирование отменяет заявку 59195225. Стратегия остановлена. Судя по логу, котирование запускается один раз. Прошу обратить внимание на > Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение [FORTS] Не найдена заявка для удаления Котируемая заявка 59195211 исполнилась. Заявка исполнилась, а котирование пытается ее удалить и после этого продолжает выставлять заявки. И опять <mark>после десяти перестановок биржа одиннадцатую не принимает</mark>.

Запустил еще раз и еще лог:

Производим подключение... Подключение было произведено успешно. Инструмент RIH1 появился. Портфель SPBFUT00835 появился. Экспорт по DDE запущен. Заявка на продажу создана. Заявка зарегистрирована. Котирование закончено. Стратегия запущена. Стратегия запущена. Чтобы закончить, нажмите любую клавишу... Регистрация новой заявки на Sell с ценой 195030 и объемом 1. Заявка 60704195 на Sell отправлена с ценой 195030 объемом 1. Цена текущей 195030 и лучшей 195025. Котирование заявки 60704195 на Sell с ценой 195030 объемом 1. Перекотирование зарегистрировано для заявки 60704197 на Sell с ценой 195025 объемом 1. Цена текущей 195025 и лучшей 195010. Котирование заявки 60704197 на Sell с ценой 195025 объемом 1. Перекотирование зарегистрировано для заявки 60704199 на Sell с ценой 195010 объемом 1. Цена текущей 195010 и лучшей 195020. Котирование заявки 60704199 на Sell с ценой 195010 объемом 1. <mark>Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение [FORTS] Не найдена заявка для удаления Котируемая заявка 60704199 исполнилась.</mark> Регистрация новой заявки на Sell с ценой 195040 и объемом 1. Заявка 60704201 на Sell отправлена с ценой 195040 объемом 1. Цена текущей 195040 и лучшей 195035. Котирование заявки 60704201 на Sell с ценой 195040 объемом 1. Перекотирование зарегистрировано для заявки 60704203 на Sell с ценой 195035 объемом 1. Цена текущей 195035 и лучшей 195030. Котирование заявки 60704203 на Sell с ценой 195035 объемом 1. Перекотирование зарегистрировано для заявки 60704205 на Sell с ценой 195030 объемом 1. Цена текущей 195030 и лучшей 195000. Котирование заявки 60704205 на Sell с ценой 195030 объемом 1. Перекотирование зарегистрировано для заявки 60704207 на Sell с ценой 195000 объемом 1. Цена текущей 195000 и лучшей 194990. Котирование заявки 60704207 на Sell с ценой 195000 объемом 1. Перекотирование зарегистрировано для заявки 60704209 на Sell с ценой 194990 объемом 1. Цена текущей 194990 и лучшей 195015. Котирование заявки 60704209 на Sell с ценой 194990 объемом <mark>1</mark>. <mark>Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение [FORTS] Не найдена заявка для удаления Котируемая заявка 60704209 исполнилась</mark>. Регистрация новой заявки на Sell с ценой 195030 и объемом <mark>2</mark>. Заявка 60704211 на Sell отправлена с ценой 195030 объемом 2. Цена текущей 195030 и лучшей 195045. Котирование заявки 60704211 на Sell с ценой 195030 объемом 2. Перекотирование зарегистрировано для заявки 60704213 на Sell с ценой 195045 объемом 2. Цена текущей 195045 и лучшей 195025. Котирование заявки 60704213 на Sell с ценой 195045 объемом 2. Перекотирование зарегистрировано для заявки 60704215 на Sell с ценой 195025 объемом 2. <mark>Котируемая заявка 60704215 не принята биржей.</mark> Стратегия останавливается. Котирование отменяет заявку 60704215. Стратегия остановлена.

Ну и еще раз запустил:

Производим подключение... Подключение было произведено успешно. Инструмент RIH1 появился. Портфель SPBFUT00835 появился. Экспорт по DDE запущен. Заявка на продажу создана. Заявка зарегистрирована. Котирование закончено. Стратегия запущена. Стратегия запущена. Чтобы закончить, нажмите любую клавишу... Регистрация новой заявки на Sell с ценой 194685 и объемом 1. Заявка 63251931 на Sell отправлена с ценой 194685 объемом 1. Цена текущей 194685 и лучшей 194675. Котирование заявки 63251931 на Sell с ценой 194685 объемом 1. Перекотирование зарегистрировано для заявки 63251933 на Sell с ценой 194675 объемом 1. Цена текущей 194675 и лучшей 194665. Котирование заявки 63251933 на Sell с ценой 194675 объемом 1. Перекотирование зарегистрировано для заявки 63251935 на Sell с ценой 194665 объемом 1. Цена текущей 194665 и лучшей 194670. Котирование заявки 63251935 на Sell с ценой 194665 объемом 1. Перекотирование зарегистрировано для заявки 63251937 на Sell с ценой 194670 объемом 1. <mark>Заявка 63251937 не имеет состояния.</mark> Цена текущей 194670 и лучшей 194690. Котирование заявки 63251937 на Sell с ценой 194670 объемом 1. <mark>Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение Вы не можете снять данную заявку Котируемая заявка 63251937 исполнилась.</mark> Регистрация новой заявки на Sell с ценой 194715 и объемом 1. Заявка 63251939 на Sell отправлена с ценой 194715 объемом 1. Цена текущей 194715 и лучшей 194645. Котирование заявки 63251939 на Sell с ценой 194715 объемом 1. Перекотирование зарегистрировано для заявки 63251941 на Sell с ценой 194645 объемом 1. Цена текущей 194645 и лучшей 194635. Котирование заявки 63251941 на Sell с ценой 194645 объемом 1. Перекотирование зарегистрировано для заявки 63251943 на Sell с ценой 194635 объемом 1. Цена текущей 194635 и лучшей 194645. Котирование заявки 63251943 на Sell с ценой 194635 объемом 1. Перекотирование зарегистрировано для заявки 63251945 на Sell с ценой 194645 объемом 1. Цена текущей 194645 и лучшей 194635. Котирование заявки 63251945 на Sell с ценой 194645 объемом 1. Перекотирование зарегистрировано для заявки 63251947 на Sell с ценой 194635 объемом 1. Цена текущей 194635 и лучшей 194625. Котирование заявки 63251947 на Sell с ценой 194635 объемом <mark>1</mark>. <mark>Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение [FORTS] Не найдена заявка для удаления Котируемая заявка 63251947 исполнилась.</mark> Регистрация новой заявки на Sell с ценой 194650 и объемом <mark>3</mark>. Заявка 63251949 на Sell отправлена с ценой 194650 объемом 3. <mark>Заявка 63251949 не имеет состояния.</mark> Котируемая заявка 63251949 исполнилась. Стратегия останавливается. Котирование отменяет заявку 63251949. Стратегия остановлена.

Mikhail Sukhov
Mikhail Sukhov

Ошибку подтверждаю. Выпущу еще один фикс.

vvt
vvt

[3.0.17]

Производим подключение... Подключение было произведено успешно. Инструмент RIM1 появился. Портфель SPBFUT00835 появился. Экспорт по DDE запущен. Заявка на продажу создана. Заявка зарегистрирована. Котирование закончено. Стратегия запущена. Стратегия запущена. Чтобы закончить, нажмите любую клавишу... Регистрация новой заявки на Sell с ценой 187495 и объемом 1. Заявка 46277896 на Sell отправлена с ценой 187495 объемом 1. Цена текущей 187495 и лучшей 187470. Котирование заявки 46277896 на Sell с ценой 187495 объемом 1. Перекотирование зарегистрировано для заявки 46277898 на Sell с ценой 187470 объемом 1. Цена текущей 187470 и лучшей 187460. Котирование заявки 46277898 на Sell с ценой 187470 объемом 1. Перекотирование зарегистрировано для заявки 46277900 на Sell с ценой 187460 объемом 1. Цена текущей 187460 и лучшей 187485. Котирование заявки 46277900 на Sell с ценой 187460 объемом 1. Перекотирование зарегистрировано для заявки 46277902 на Sell с ценой 187485 объемом 1. <mark>Заявка 46277902 не имеет состояния.</mark> Цена текущей 187485 и лучшей 187415. Котирование заявки 46277902 на Sell с ценой 187485 объемом 1. Перекотирование зарегистрировано для заявки 46277904 на Sell с ценой 187415 объемом 1. Цена текущей 187415 и лучшей 187425. Котирование заявки 46277904 на Sell с ценой 187415 объемом 1. <mark>Перекотирование зарегистрировано для заявки 46277906 на Sell с ценой 187425 объемом 1. Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение [FORTS] Не найдена заявка для удаления</mark> Цена текущей 187425 и лучшей 187465. Котирование заявки 46277906 на Sell с ценой 187425 объемом 1. Перекотирование зарегистрировано для заявки 46277908 на Sell с ценой 187465 объемом 1. Цена текущей 187465 и лучшей 187495. Котирование заявки 46277908 на Sell с ценой 187465 объемом 1. Перекотирование зарегистрировано для заявки 46277910 на Sell с ценой 187495 объемом 1. Цена текущей 187495 и лучшей 187485. Котирование заявки 46277910 на Sell с ценой 187495 объемом 1. Перекотирование зарегистрировано для заявки 46277912 на Sell с ценой 187485 объемом 1. Цена текущей 187485 и лучшей 187475. Котирование заявки 46277912 на Sell с ценой 187485 объемом 1. Перекотирование зарегистрировано для заявки 46277914 на Sell с ценой 187475 объемом 1. Цена текущей 187475 и лучшей 187470. Котирование заявки 46277914 на Sell с ценой 187475 объемом 1. Перекотирование зарегистрировано для заявки 46277916 на Sell с ценой 187470 объемом 1. Заканчиваем котирование с неисполненным объемом равный 0 контрактов. Стратегия останавливается. Стратегия остановлена.

Заявка 46277906 исполнилась, а котирование продолжается...

vvt
vvt

Михаил, по предыдущему посту и последнему моему сообщению в теме мыслей не появилось? Хотелось бы окончательно снять проблемы с котированием.

Mikhail Sukhov
Mikhail Sukhov

vvt: Михаил, по предыдущему посту и последнему моему сообщению в теме мыслей не появилось? Хотелось бы окончательно снять проблемы с котированием.

Я упустил предыдущий пост... Строчка "Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение [FORTS] Не найдена заявка для удаления" откуда выводиться? Из Strategy.Log или ProcessDataError? QuikTrader.IsAsyncMode = ? QuotingStrategy.IsForts = ?

Насчет тестирования, пока отложу (есть мнение, что нужно кое-что переделать).