Скорость вывода данных
Atom
28.05.2010
ddd888


Добрый день, Михаил!
Сколько не бился над проблемой, но при эскпорте "все сделки" все время
начинается замедление поступления данных из квика. Причем чем больше
времени проходит - тем больше оставание - сегодня за 3 часа отставание
достигло аж 30 минут! Перепробовал разные способы. И в S#1.8 и в
S#2.0 ситуация одинковая. В конце концов до предела отфильтровал
данные всех сделок в квике - стал получать только даныне по фьючерсам.
Только тогда скорость вроде бы нормализовалась. А до этого во "всех
сделках" были действиетльно "все сделки".
Заметил также, что во время вечерней сессии скорость обработки и
отрисовки нормальная - т.е. фактически после завершения торговли
акциями = уменьшения постуающей информации.
Получается, что для системы есть какой-то предел количества
поступающей информации?

Теги:


Спасибо:


< 1 2 
Mikhail Sukhov

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


Я кое-что подкрутил. Сохраните проект. Когда выпушу новый билд 2.0 -
проверьте еще раз. Ок?

Спасибо:

ddd888

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


Да, конечно! :) Когда ожидается новый билд?

Спасибо:

ddd888

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


Пытаюсь теперь проверить все на последней версии 2.0.1. В моей версии
с GUI все вроде пошло очень шустро и в самый разгар наплыва информации
о торгах - после обеда. Теперь пытаюсь в консоле отследить время
появления сделок. Но начали появляться новые доселе неизвестные
ошибки:
- при запуске _trader.StartDde("инструменты") - появляется ошибка: "в
экземпляре объекта нет ссылки на объект", а просто _trader.StartDde()
- "Нет информации о главном окне Quik. Возможно, было неуспешное
подключение." Хотя окна, как я понимаю ведь не менялись? Функция
StartDde("инструменты") как-то изменилась?
Вручную, экспорт запускается нормально и все идет, но зачем так, если
есть программные методы? :)

"

Спасибо:

ddd888

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


И еще вопрос. Для теста скорости вывода данных я добавил такой код для
экспорта стакана:

this.somesec = this._trader.Securities.Where(q => q.Code ==
"RIM0").LastOrDefault();
this._trader.RegisterQuotes(this.somesec);
var _marketDepth1 = this._trader.GetMarketDepth(this.somesec);
this.Quotes.AddRange(_marketDepth1.OrderByDescending(e =>
e.Price).Select( e => new SampleQuote
{
Price = e.Price,
Ask = e.OrderDirection ==
OrderDirections.Buy ? e.Volume.ToString() : "",
Bid = e.OrderDirection ==
OrderDirections.Sell ? e.Volume.ToString() : "",
}));
this._trader.GetMarketDepth(this.somesec).Changed += new
Action(TestSpeed_Changed);

Аналогичный код в другой программе на 1.8 у меня работал нормально, а
сейчас почему-то нет. Из квика экспорт стакана идет, а в прогрмму
ничего не приходит. Что тут может быть неправильно?

Спасибо:

Mikhail Sukhov

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


Запускать экспорт теперь нужно только после событие Connected
(например, в его обработчике). Я в SampleConsole показал это.

Спасибо:

ddd888

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


Спасибо, попробую с Connected.

Запустил тест 2.0.1 после 18:00. Скорость хорошая, впрочем после 18
часов и на 1.8 была нормальная. Среднее время задержки 400-500 мс.
Общее количество загруженных сделок - больше 1 млн. Самое интересное
посмотрю завтра - как на максимальной загрузке себя поведет.

Спасибо:

ddd888

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


Наблюдается очень хорошая скорость! Вы молодец, Михаил! :) Задержка
при максимуме информации в среднем не более 1-2 с. По-моему, это очень
хороший результат. В связи с этими тестами, заметил, что часто сам
Квик тормозит - оставание вывода информации может доходить до 5-10 с.
Но S#2.0.1 справляется вполне адекватно. Хочу еще проверить как
зависит производительность программы от количества одновременно
получаемой информации - потому что это явно влияет на скорость вывода:
во время вечерних торгов после 18 часов как я писал - запаздывание
0.4-0.5 с, в разгар сессии - 1-2 с. Пока только не придумал, как это
измерить.

Спасибо:

ddd888

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


Что еще радует - в моем варианте со всевозможными GUI скорость
остается такой же высокой. Значит,раньше все-таки дело было не совсем
в отрисовке. =)

Спасибо:
< 1 2 

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

loading
clippy