Здравствуйте!
Подскажите, в чем может быть проблема, при обновлении стакана. Стакан обновляется очень медленно. Пока в программе обновиться стакан, в Квике обновления произойдут несколько раз. Настройки в quik установлены вот так: [excel] timeout=10
Вот код:
stakanContent.DataContext = Quotes;
trader.RegisterQuotes(Security); stakan.QuotesChanged += StakanQuotesChanged; void StakanQuotesChanged(OrderDirections arg1, IDictionary<int, Quote> arg2) { .......
this.GuiAsync(()=> { Quotes.Clear(); Quotes.AddRange(quote.Select(q => new SampleQuote(q.Price,q.Bid,q.Ask,q.Stop)).OrderByDescending(p=> p.Price)); });
}
Comentarios (7)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Чтобы локализовать проблему, на Вашем месте я бы сделал вывод в лог события QuotesChanged (с отключенным ГУИ)
Подозреваю что это пример Sample. Там обновление идет по таймеру, а не по факту.
Нет. В Sample в нет поля Stop. Это просто похожий участок кода. В моем коде нет таймера.
Еще раз привожу код:
// Привязка данных к GUI stakanContent.DataContext = Quotes;
// Регистрация котировок trader.RegisterQuotes(Security); stakan.QuotesChanged += StakanQuotesChanged;
void StakanQuotesChanged(OrderDirections arg1, IDictionary<int, Quote> arg2) { // Здесь идет простая обработка стакана
}
Так в чем может быть проблема?
Друг оставь покурить, а в ответ ТИШИНА :(
А вот этот ответ чем не устроил http://stocksharp.com/posts/m/5077/
В принципе - идея здравая. Только не совсем понятно что писать в лог? Выводить туда стакан? Тогда с чем его сравнивать. Михаил, скажите а Ваши библиотеки будут работать если приложение будет написано на WinForms?
Выводить дельту времени. Да будут.