Медленное обновление стакана
Atom Ответить
17.12.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));
});

}

Теги:


Спасибо:




7 Ответов
artemox

Фотография
Дата: 17.12.2010
Ответить


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 17.12.2010
Ответить


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. Там обновление идет по таймеру, а не по факту.
Спасибо:

Dimarik

Фотография
Дата: 17.12.2010
Ответить


Нет. В 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));
});

}

Так в чем может быть проблема?
Автор топика
Спасибо:

Dimarik

Фотография
Дата: 21.12.2010
Ответить


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 21.12.2010
Ответить


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


А вот этот ответ чем не устроил https://stocksharp.ru/posts/m/5077/
Спасибо:

Dimarik

Фотография
Дата: 21.12.2010
Ответить


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


Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 21.12.2010
Ответить


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




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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy