Медленное обновление стакана


Медленное обновление стакана
Atom Reply
12/17/2010


Здравствуйте!

Подскажите, в чем может быть проблема, при обновлении стакана. Стакан обновляется очень медленно. Пока в программе обновиться стакан, в Квике обновления произойдут несколько раз.
Настройки в 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));
});

}

Tags:


Thanks:




7 Answers
artemox

Avatar
Date: 12/17/2010
Reply


Чтобы локализовать проблему, на Вашем месте я бы сделал вывод в лог события QuotesChanged (с отключенным ГУИ)
Thanks:

Mikhail Sukhov

Avatar
Date: 12/17/2010
Reply


Dimarik
Здравствуйте!

Подскажите, в чем может быть проблема, при обновлении стакана. Стакан обновляется очень медленно. Пока в программе обновиться стакан, в Квике обновления произойдут несколько раз.


this.GuiAsync(()=>
{
Quotes.Clear();
Quotes.AddRange(quote.Select(q => new SampleQuote(q.Price,q.Bid,q.Ask,q.Stop)).OrderByDescending(p=> p.Price));
});

}


Подозреваю что это пример Sample. Там обновление идет по таймеру, а не по факту.
Thanks:

Dimarik

Avatar
Date: 12/17/2010
Reply


Нет. В Sample в нет поля Stop. Это просто похожий участок кода. В моем коде нет таймера.

Еще раз привожу код:

// Привязка данных к GUI
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));
});

}

Так в чем может быть проблема?
Topic starter
Thanks:

Dimarik

Avatar
Date: 12/21/2010
Reply


Друг оставь покурить, а в ответ ТИШИНА :(
Topic starter
Thanks:

Mikhail Sukhov

Avatar
Date: 12/21/2010
Reply


Dimarik
Друг оставь покурить, а в ответ ТИШИНА :(


А вот этот ответ чем не устроил https://stocksharp.com/posts/m/5077/
Thanks:

Dimarik

Avatar
Date: 12/21/2010
Reply


В принципе - идея здравая. Только не совсем понятно что писать в лог?
Выводить туда стакан? Тогда с чем его сравнивать.
Михаил, скажите а Ваши библиотеки будут работать если приложение будет написано на WinForms?


Topic starter
Thanks:

Mikhail Sukhov

Avatar
Date: 12/21/2010
Reply


Dimarik
В принципе - идея здравая. Только не совсем понятно что писать в лог?
Выводить туда стакан? Тогда с чем его сравнивать.
Михаил, скажите а Ваши библиотеки будут работать если приложение будет написано на WinForms?




Выводить дельту времени. Да будут.
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy