Всем привет! Нужна ваша помощь. Никак не справлюсь. Делаю по аналогии, но не получается. Задача состоит в том, чтобы получить стакан по инструменту. Код ниже (проблем с получением инструмента нет). Подскажите, пж-ста, в чем ошибка. Заранее благодарю
using (var trader = new SmartTrader { Login = login, Password = password, Address = SmartComAddresses.Matrix })
{
trader.Connected += () =>
{
Console.WriteLine(LocalizedStrings.Str2169);
waitHandle.Set();
};
Console.WriteLine(LocalizedStrings.Str2170);
trader.Connect();
waitHandle.WaitOne();
trader.NewSecurities += securities =>
{
if (_sec == null)
{
_sec = securities.FirstOrDefault(sec => sec.Code == secCode && sec.Type == SecurityTypes.Future);
if (_sec != null)
{
Console.WriteLine(_sec.Code + " инструмент нашелся");
waitHandle.Set();
}
}
};
waitHandle.WaitOne();
trader.NewMarketDepths += depths =>
{
if (_depth == null)
{
_depth = depths.FirstOrDefault(d => d.Security == _sec);
if (_depth != null)
{
Console.WriteLine(_sec.Code + " стакан нашелся");
waitHandle.Set();
}
}
};
waitHandle.WaitOne();
}
Comments (4)
Login or Create account, Log in or register to leave a comment
Наверное забыл подписаться
if (_sec != null) { Debug.WriteLine(_sec.Code + " инструмент нашелся"); trader.RegisterMarketDepth(_sec); }
Хороший вопрос, стакан в нем все равно не приходит )
В старинных версиях S# был метод StartExport, после которого получалось получить стакан через NewMarketDepths. В этой версии логика изменилась.