Maxim Михаил, привет.
Видел ли ты предыдущий вопрос?
Можешь ли уточнить, получалось у тебя получать свои сделки из IB при помощи SampleIB?
Или IB не поддерживает этот функционал?
IB отдает информацию по позициям, openOrders, ordersStatus, и Execution.
Из этой инфы можно собрать сделки.
У меня свой коннектор к Ib, и у меня тоже траблы с появлением сделок примерно с 4.1.19.1
До этого, кажется, был на 4.1.16.1 и все было окей.
Беда в том, что еще и IB API обновилось.
Могут быть два источника проблемы.
IB что-то изменили, возможно, порядок отдачи execution, order status или open orders. Либо какой-то косяк с Id ордеров.
Но я проверил, все приходит, айдишники правильные, OpenOrders как и раньше приходит два раза.
Используются следующие методы, и поэтому вызывают подозрение:
StockSharp.Algo.BaseTrader.GetOrder(bool? isConditional, long transactionId)
Раньше был GetOrderByTransactionId(int id)
StockSharp.Algo.BaseTrader.GetOrder(StockSharp.BusinessEntities.Security, StockSharp.BusinessEntities.OrderTypes, long, System.Func<long,StockSharp.BusinessEntities.Order>, System.Func<StockSharp.BusinessEntities.Order,bool>) вроде бы не поменялся(по крайней мене внешне)
StockSharp.Algo.BaseTrader.GetOrder(StockSharp.BusinessEntities.Security, StockSharp.BusinessEntities.OrderTypes, long)
StockSharp.Algo.BaseTrader.AddMyTrade(StockSharp.BusinessEntities.Security, long, long, long, System.Func<long,StockSharp.BusinessEntities.Trade>, System.Action<StockSharp.BusinessEntities.MyTrade>)
Как только, так сразу попробую пересобрать своего трейдера со старым IB API, новым S# и наоборот.
Если что нить обнаружу, думаю, что это будет солюшеном для обоих коннекторов.
Беда, что проверить можно только в trading hours.