Код такой:
Security item = (Security)Securities.SelectedItem;
_trader.RegisterMarketDepth(item);
System.Threading.Thread.Sleep(10000);
MarketDepth itt = _trader.GetMarketDepth(item);
if (itt != null)
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("itt.BestAsk.Price=" + itt.BestAsk.Price);
}
}
Почему itt.BestAsk принимает значение null при входе в цикл.(стакан выбранного инструмента открывается в Quik) item задается через combobox как в примере.
Комментарии (5)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Нужно подписаться на событие обновления стакана. P.S. Пользуясь случаем, не могу не спросить, глубина стакана может быть разная в каждую сторону, та, которая передается это минимальная или средняя??
что бы получать данные из стаканов в WPF нужно
Подключиться к квику.
Начать получать данные по DDE
прописать грамотное отсоединение от DEE при выходе
вот примерная реализация
Для лучшей читабельности вынес регистрацию инструментов в отдельное место
Только после этого данные начнут приходить для выбранных инструментов! Ну и как пример обработка изменений стакана.
Вставил такой код для вывода в текстбокс tb1 стакана:
В релультате получаю стакан, но форматированный не по моему шаблону, а типа Бид 11 = Бид 152270 75 Как всё-таки выудить отдельно цену и отдельно объём?
А по оферам в методе GetQuote задан неправильный аргумент, т.е. 0 работает, а единичка нет. Там тип Int должен быть, как правильно задать?
Разбор данных в стакане (например запись в файл) можно осуществить по разному. вот пару решений.
Вариант 1. Совсем просто.
Можно написать отдельно процедуру разбора строки d.ToString(), если кому надо :) в файл записывется ... Бид 150120 3445 Бид 150130 283 Бид 150140 1328 Бид 150150 614 Оффер 150160 307 Оффер 150170 406 Оффер 150180 3021 ...
Вариант 2. более сложный, но в нам можно весь стакан сохранить в том виде в каком нужно тут получается достаточно компактно.
в файл записывется (1-я строчка Биды, 2-я оффера) ... 19:40:49.705;143530/139;143540/131;143550/85;143560/70;143570/25;143580/43;143590/18;143600/55;143610/38;143620/17; 19:40:49.705;143640/35;143650/62;143660/39;143670/37;143680/152;143690/139;143700/197;143710/99;143720/125;143730/568; 19:40:50.125;143530/139;143540/131;143550/85;143560/70;143570/25;143580/43;143590/18;143600/50;143610/40;143620/20; 19:40:50.125;143640/35;143650/62;143660/39;143670/34;143680/152;143690/142;143700/197;143710/99;143720/125;143730/568; ...
Спустя полгода сделал свой первый стакан 😀 Как-то так: