Код такой:
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 как в примере.
Kommentare (5)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Нужно подписаться на событие обновления стакана. 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; ...
Спустя полгода сделал свой первый стакан 😀 Как-то так: