Доброго времени суток. Подскажите, по какой причине свойства BestBid, BestAsk и многие другие класса Security передают нулевое значение при выражениях типа: decimal X = Convert.ToDecimal(Security.BestBid);
При этом такое выражение заработало: string Id = Convert.ToString(Security.Id) Quik 7.7.0.89, S# последней версии. Заранее спасибо за помощь!
コメント (9)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Так BestBid это не число, а объект типа класса Quote. Это котировка стакана, у неё есть цена, объём и другие свойства. Нельзя так просто сконвертировать данный объект в число типа декимал. Если нужна цена котировки, то там вообще конвертация не нужна, нужно просто доступится к свойству Price, т.е. записать: decimal X = Security.BestBid.Price;
Спасибо за совет! Но попробовал сделать, как Вы сказали, а программа выдает ошибку и ругается, что у Security.BestBid.Price значение null. И в отладке значения показывает вот так вот![]()
Это которые методы класса Connector? Подскажите, пожалуйста, как нужно прописать, не могу сообразить.
Trader = new QuikTrader(QuikTerminal.GetDefaultPath()) ;
Trader.Connect(); trader = new Connector(); trader = Trader;
Security1= new Security(); Security1= (Security)combobox.SelectedItem;
trader.RegisterSecurity(Security1); trader.RegisterMarketDepth(Security1); trader.RegisterTrades(Security1);
decimal x= Security1.BestBid.Price;
На последней строке необработанное исключение типа "System.NullReferenceException"
У тебя заявки в Квик отправляются? Вообще робот с Квиком коннектится?
Да.
Большое спасибо!