Mikhail SukhovДля обновления свойств инструментов надо вызвать метод SmartTrader.RegisterSecurity.
Перед циклом, где выводятся в консоль _lkoh.BestAsk.Volume, _lkoh.BestBid.Volume
вызывается trader.RegisterSecurity(_lkoh);
Я взял пример, SampleSmartConsole и просто добавил в цикл вывод свойств бумаги:
// запускаем обновление по инструменту
trader.RegisterSecurity(_lkoh);
waitHandle.WaitOne();
// 0.1% от изменения цены
const double delta = 0.001;
// запоминаем первоначальное значение середины спреда
var firstMid = _lkoh.GetSpreadSize() / 2;
Console.WriteLine("Первоначальное значение середины спреда {0:0.##}", _lkoh.BestBid.Price + firstMid);
while (true)
{
Console.WriteLine("Бумага: {0}, {1}", _lkoh.ShortName, _lkoh.State);
Console.WriteLine("Спред: {0}",_lkoh.GetSpreadSize());
Console.WriteLine("Лучшая цена на продажу: {0}, объем: {1}", _lkoh.BestAsk.Price, _lkoh.BestAsk.Volume);
Console.WriteLine("Лучшая цена на покупку: {0}, объем: {1}", _lkoh.BestBid.Price, _lkoh.BestBid.Volume);
Console.WriteLine("Объем последней сделки: {0} {1}", _lkoh.LastTrade.Volume, _lkoh.LastTrade.OrderDirection);
Thread.Sleep(100);
Console.Clear();
}
// останавливаем экспорт
trader.StopExport();
Все свойства из этого примера (_lkoh.ShortName, _lkoh.State, _lkoh.GetSpreadSize, _lkoh.BestAsk.Price) выводятся нормально, _кроме_ _lkoh.BestAsk.Volume, _lkoh.BestBid.Volume, _lkoh.LastTrade.OrderDirection. Первые два = 0, последний null
Очень рассчитываю на помощь! Спасибо.