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


Случается часто, что котирование не срабатывает. Использую 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==()


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

Код

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==()

Теги:


Спасибо:




33 Ответов
1 2  >
Mikhail Sukhov

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


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


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

Greene-nsk

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


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

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


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


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

Greene-nsk

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


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

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


Greene-nsk Перейти
Mikhail Sukhov Перейти

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


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


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

Greene-nsk

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


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

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


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

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

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

Greene-nsk

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


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

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

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


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

Greene-nsk

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


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

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


Greene-nsk Перейти
S# 3.0.9


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

Greene-nsk

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


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

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


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

Greene-nsk

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


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


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

Mikhail Sukhov

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


Greene-nsk Перейти
Mikhail Sukhov Перейти
Лог нормальный. А в чем вопрос?


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


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

Greene-nsk

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


Mikhail Sukhov Перейти
Greene-nsk Перейти
Mikhail Sukhov Перейти
Лог нормальный. А в чем вопрос?


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


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


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

Mikhail Sukhov

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


Greene-nsk Перейти
Mikhail Sukhov Перейти
Greene-nsk Перейти
Mikhail Sukhov Перейти
Лог нормальный. А в чем вопрос?


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


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


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


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

Greene-nsk

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


Mikhail Sukhov Перейти

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


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

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

Mikhail Sukhov

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


Greene-nsk Перейти

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


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

vvt

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


Подтверждаю, с котированием есть проблемы, вот лог [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.
Котирование заявки 47028113 на Sell с ценой 198545 объемом 1.
Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение Вы не можете снять данную заявку
Котируемая заявка 47028113 исполнилась.

Регистрация новой заявки на 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.
Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение [FORTS] В операции о
тказано: Превышен лимит операций от указанного клиента.. Снятое количество: 9193848
System.InvalidOperationException: В процессе снятия заявки '376660815' случился тайм-аут.
в 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.#=q_7aAU8b_zEypCQ8s7GI9rpJ4uiSQ4jqTKo
3$1bhmZoo=.#=q1xDZDIblA8UZbmo72Ys1aA==()
Стратегия останавливается.
Котирование отменяет заявку 47028123.
Стратегия остановлена.
Ecng.Trading.Quik.ApiException: Код ошибки 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

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


vvt Перейти

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


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

vvt

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


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

Цитата:
Регистрация новой заявки на 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.
Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение Вы не можете снять данную заявку
Котируемая заявка 47859662 исполнилась.
Регистрация новой заявки на Sell с ценой 198715 и объемом 1.
Заявка 47859664 на Sell отправлена с ценой 198715 объемом 1.
Цена текущей 198715 и лучшей 198695.
Котирование заявки 47859664 на Sell с ценой 198715 объемом 1.
Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение Вы не можете снять данную заявку
Котируемая заявка 47859664 исполнилась.
Регистрация новой заявки на Sell с ценой 198750 и объемом 2.
Заявка 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.
Заявка 47859672 не имеет состояния.
Котируемая заявка 47859672 не принята биржей.
Стратегия останавливается.
Котирование отменяет заявку 47859672.
Стратегия остановлена.




Объем заявки почему-то увеличивается с одного до двух (и может увеличиваться дальше), хотя задано продать один фьючерс через котирование.
Код
_strategy = new TestStrategy { Volume = 1 };
Спасибо:

Mikhail Sukhov

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


vvt Перейти
В догонку еще лог:


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

vvt

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


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

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


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;
        }
    }
Спасибо:

Greene-nsk

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


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)
Автор топика
Спасибо:
1 2  >

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

loading
clippy