Добрый день, в методе подписки на свечки
trader.SubscribeCandles(candleSeries, DateTime, DateTime)есть нюанс: он нормально работает только если первый параметр даты (с какой даты получать) находится в промежутке времени с 5:00 до, примерно, 16:10 (в разные дни по разному +/- 10мин). Если время дня этого параметра не попадает в промежуток, то не приходят свечки текущей сессии, только свечки до конца предыдущей. Время указал по Киеву, для Москвы, соответственно +2
Так же пока не ясно как реализовать возможность риалтайм обновления последней свечки и получения новых, исторические свечки загружаются, но последняя остаётся статичной, и не обновляется, ну и новые не появляются, т.е. метод загружает только историю, новых данных не получает.
Trader.NewRealTimeCandle - рефлизации такого события в текущем API нет.
Неужели надо самому реализовавать формирование свечек на основании NewTrades?
Теперь по событию:
trader.SecuritiesChangedВ пришедших с событием объектах Security информация есть только в том случае, если
ExchangeBoard.Code этого объекта с к-вом символов >= 4. Т.е. если
security.ExchangeBoard.Code == "NYSE" || "NASDAQ", то тогда есть все остальные данные в этом объекте, если
ExchangeBoard.Code с тремя символами, то все остальные свойства пустые.
security.ExchangeBoard.Code с четырмя и более символами приходит только в первых 1-2-ух событиях
SecuritiesChanged, только тогда и можно увидеть инфу, дальше это событие приходит всегда только с тремя символами
ExchangeBoard.Code, и соответственно, пустое.
"NYSE" || "NASDAQ" в инструментах зависит от биржи размещения инструмента, например Майкрософт(MSFT) -
NASDAQ, а вот Банк оф Америка (BAC) -
NYSE. Дальше идут события с другими площадками, включая даркпулы (ADF), но всё пустое.
Вот
СкринВсё то же самое касается и события trader.NewTrades.
СкринСоответственно, из всех возможных данных в любой момент времени я могу получить только события:
- NewTrades, в которых есть цена сделки и объём, но объект Security содержит только тикер акции и площадку где прошла сделка, никаких ценовых параметров этот объект не содержит (BestAsk, BestBid, BestPair, Asks/BidsCount, Asks/BidsVolume ...).
- NewSecurities, содержит только ExchangeBoard, все остальные поля либо 0 либо null.
- SecuritiesChanged содержит только ExchangeBoard, все остальные поля либо 0 либо null. Только первое событие пришедшее после StartExport несёт данные.
- PortfoliosChanged содержит только RealizedPnL и UnrealizedPnL. Как узнать сколько у меня денег или BuyingPower непонятно.
События связанные со стаканами вообще не приходят, для регистрации стакана использовал инструменты полученные непосредственно через BlackWood, а так-же через IQFeed(реализовывал одновременно два подключения, но стакан пытался зарегить через BlackWood). Кстати, а вот через коннектор IQFeed стакан есть, и события с ним связанные приходят, хотя для регистрации стакана использовал "самодельный" объект Security:
Code
var security = new Security
{
Code = "MSFT",
ExchangeBoard = new ExchangeBoard
{
Exchange = new Exchange()
},
};
т.е. полностью пустой объект, указан только тикер, и стакан по всем площадкам начинал обновляться.
Для регистрации получения данных в
BlackWood использовал методы:
Code
_trader.SubscribeMarketData(security,MarketDataTypes.LastTrade);
_trader.SubscribeMarketData(security,MarketDataTypes.Trades);
_trader.SubscribeMarketData(security,MarketDataTypes.BestQuotes);
_trader.SubscribeMarketData(security,MarketDataTypes.Candles);
_trader.SubscribeMarketData(security,MarketDataTypes.Level1);
_trader.SubscribeMarketData(security,MarketDataTypes.MarketDepth);
_trader.SubscribeMarketData(security,MarketDataTypes.OrderLog);
а так же аналогичные им _trader.Register...Всё что я регистрирую и субскрайблю данными методами, невозможно потом отрегить или отсубскрайбить
соответствующими методами
_trader.UnRegister... или
_trader.UnSubscribe... (UnSubscribeMarketData, UnSubscribeCandles),
хотя применяю весь набор инструментов одного тикера, но всех возможных площадок, полученных с обеих коннекторов.
Одним словом, поток данных в программу продолжается и всё время увеличивается с регистрацией на всё новые тикеры.
Заключение: не могу получить хоть какой-нибудь риалтайм минимум данных в программу для принятия торговых решений, прошу помощи.