← Zurück

Вывод стакана

Всем привет. Подскажите плиз как правильно выводить стакан и регистрироваться на событие его изменение(котировок стакана)? Делаю все примерно так:

  1. При подключении к квику стартую вывод таблицы текущих параметров quik.Connected += () => { quik.StartDde(quik.SecuritiesTable); ToLog("conneced..."); _isConnected = true; };
  2. При появлении новой секурити quik.NewSecurities += securities => { if (sber == null) sber = securities.FirstOrDefault(sec => sec.Code == secCode); if (sber != null) { ToLog("Инструмент появился."); stak = new MarketDepth(sber); stak.QuotesChanged += new Action<OrderDirections, System.Collections.Generic.IDictionary<int, Quote>>(stak_QuotesChanged); quik.StartDde(sber); // здесь квик начинает вывод стакана по дде } };
  3. И пытаюсь текст боксе увидеть результат обновления стакана

War dieses Thema hilfreich?

Thema teilen

Kommentare (3)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Serg
Serg Autor

пардон .... не дописал) пункт 3. void stak_QuotesChanged(OrderDirections arg1, System.Collections.Generic.IDictionary<int, Quote> arg2) { foreach (var qoute in quik.GetMarketDepth(sber)) { ToLog("Направление " + qoute.OrderDirection + " Объем "+ qoute.Volume +" Цена "+ qoute.Price); } }

Результат моей работы: в текст боксе ничего не появляется при отладке приложения и просмотре внутренних полей stak было замечено что все поля нулевые кроме конечно Security

MCTuTeJ|19951995
MCTuTeJ|19951995

Возможно я что-то путаю, но по-моему чтобы отслеживать изменения котировок нужно вызвать либо trader.RegisterQuotes(security), либо GetMarketDepth(security).

Serg
Serg Autor

ооо эврика))) долго же я размышлял над этой темой)) спасибо