Slepoy
|
Дата: 26.01.2017
Так BestBid это не число, а объект типа класса Quote. Это котировка стакана, у неё есть цена, объём и другие свойства. Нельзя так просто сконвертировать данный объект в число типа декимал. Если нужна цена котировки, то там вообще конвертация не нужна, нужно просто доступится к свойству Price, т.е. записать: decimal X = Security.BestBid.Price;
|
|
Спасибо:
|
|
|
|
|
klim95vlad
|
Дата: 27.01.2017
Slepoy Так BestBid это не число, а объект типа класса Quote. Это котировка стакана, у неё есть цена, объём и другие свойства. Нельзя так просто сконвертировать данный объект в число типа декимал. Если нужна цена котировки, то там вообще конвертация не нужна, нужно просто доступится к свойству Price, т.е. записать: decimal X = Security.BestBid.Price; Спасибо за совет! Но попробовал сделать, как Вы сказали, а программа выдает ошибку и ругается, что у Security.BestBid.Price значение null. И в отладке значения показывает вот так вот[img][/img]
|
|
Спасибо:
|
|
|
|
|
Slepoy
|
Дата: 27.01.2017
klim95vlad Спасибо за совет! Но попробовал сделать, как Вы сказали, а программа выдает ошибку и ругается, что у Security.BestBid.Price значение null. И в отладке значения показывает вот так вот[img][/img] Ну так и должно быть, если экспорт стакана(левел2) или экспорт "таблицы текущих параметров(левел1)" - не включён ))). Ну или просто выбран не тот сбер, в демке Квика их приходит куча. Для включения экспорта пропиши: trader.RegisterSecurity(Security); - таблица текущих параметров(текущие торги) trader.RegisterMarketDepth(Security); - стакан trader.RegisterTrades(Security); - таблица обезличенных сделок
|
|
Спасибо:
|
|
|
|
|
klim95vlad
|
Дата: 27.01.2017
Slepoy Для включения экспорта пропиши: trader.RegisterSecurity(Security); - таблица текущих параметров(текущие торги) trader.RegisterMarketDepth(Security); - стакан trader.RegisterTrades(Security); - таблица обезличенных сделок
Это которые методы класса Connector? Подскажите, пожалуйста, как нужно прописать, не могу сообразить.
|
|
Спасибо:
|
|
|
|
|
klim95vlad
|
Дата: 27.01.2017
Slepoy [quote=klim95vlad;38991] trader.RegisterSecurity(Security); - таблица текущих параметров(текущие торги) trader.RegisterMarketDepth(Security); - стакан trader.RegisterTrades(Security); - таблица обезличенных сделок
Прописал вот так, все равно выдает null 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"
|
|
Спасибо:
|
|
|
|
|
Slepoy
|
Дата: 27.01.2017
У тебя заявки в Квик отправляются? Вообще робот с Квиком коннектится?
|
|
Спасибо:
|
|
|
|
|
klim95vlad
|
Дата: 27.01.2017
Slepoy У тебя заявки в Квик отправляются? Вообще робот с Квиком коннектится? Да.
|
|
Спасибо:
|
|
|
|
|
Slepoy
|
Дата: 27.01.2017
klim95vlad Slepoy У тебя заявки в Квик отправляются? Вообще робот с Квиком коннектится? Да. Ну я тогда даже и не знаю. Иногда бывает, что после регистрации стакан первым срезом присывлает нулевые биды и аски, ну типа не успевает заполнится. Короче, попробуй подписаться на событие изменения стакана, в подписываемом методе проверь пришедший стакан на наличие элементов, и далее именно в этом методе инициализируй переменную decimal Х. Кстати, там личший Бид/Аск можно вынуть прямо из пришедшего стакана. Если это не проканает, то обращайся в техподдержку, надо смотреть код. Пусть парятся )))
|
|
Спасибо:
|
|
|
|
|
klim95vlad
|
Дата: 27.01.2017
Slepoy klim95vlad Slepoy У тебя заявки в Квик отправляются? Вообще робот с Квиком коннектится? Да. Ну я тогда даже и не знаю. Иногда бывает, что после регистрации стакан первым срезом присывлает нулевые биды и аски, ну типа не успевает заполнится. КОроче, попробуй подписаться на событие изменения стакана, и именно в этой подписке инициализируй переменную decimal Х. Кстати, там личшийБид/Аск можн овынуть прямо из пришедшего стакана. Если это не проканает, то обращайся в техподдержку, надо смотреть код. Пусть парятся ))) Большое спасибо!
|
|
Спасибо:
|
|
|
|