Скорость таблицы всех сделок в квике
- 23 ноября 2017, 12:00
- |
- П М
Вобщем стало немного подприпаривать, что даже 350 мсек иной раз не хватает, чтобы квик отрисовал свечку, т.е. допустим сейчас 10:01:00.350, я забираю свечку от 10:00:00 — забрал, ок, а она ещё после этого дорисовывается, т.е. в неё «добавляются» данные. Не всегда, но бывает. Т.е. у меня данные уже не правильные. А бегать туда-сюда и пересчитывать всё по новой — пффффф...
Вот думаю попробовать собирать через таблицу всех сделок, ну заказал данные, открыл таблицу — смотрю визуально в таблице все данные от «времени сервера», который показывает квик — отстают примерно не секунду-две-три.
Ну да, у меня простой интернет, 100мб, не выделенка.
Вопрос, если через lua получать данные, то с какой задержкой приходят сделки в потоке «обезличенных сделок»? Каким API лучше пользоваться? Датасорцом? В принципе, меня бы может и 350 мсек устроило, я не hft, но проскальзывание не хочется большОго, и всё-таки хочется поиметь максимум возможного из бесплатного.
Со свечками всё-таки какая-то проблема, в том что даже если есть уже на графике свечка от 10:00:01, которая меняется, при этом свечка от 10:00:00 ещё некоторое (совсем незаметное на глаз) время может изменяться тоже.
в таблице всех сделок данные по идее чётко отсортированы по времени.
Я в данном случае не запариваюсь и ставлю в 500мс задержку обработки
Со сбером проблемы (там задержка по заявке 3-5сек.)
второй способ я уже сделал, вот думаю, стоит ли тратить время на первый.
Не скажу за таблицу всех сделок,
но через CreateDataSource у меня получается обработать ~ 60-65 тысяч свечек в секунду (произвольный доступ к произвольному инструменту)
интернет тоже простой.
Задержки бывают в момент сильных новостей.
2. Лучше всего использовать Lua API и нативный язык программирования: с++ или pascal.
Доступ будет быстрее, чем просто пользоваться скриптами.
Фактически будет скорость нативного приложения и прямой доступ к данным.
3. Лучше загружать историю через CreateDataSource, а за текущую сессию строить из таблицы всех сделок.
4. В квике есть приоритет обновления таблиц:
-стаканы (хотя они реализованы так, что тормозят, но это беда квика)
-таблицы всех сделок
-графики
-все остальное
5. Таблица всех сделок приходит частями:
Например, сначала реал-тайм, потом история, потом опять реал-тайм, потом опять история. Реал-тайм надо складировать в массив, пока не придет вся история. После только использовать реал-тайм.
6. Свечки загружаются с сервера за прошедшие сессии, свечки за текущую сессию собираются исходя из таблицы всех сделок (кажись так), реал-тайм свечи точно так.
можно уточнить, по 3. — чем лучше?
по п 4. есть ещё таблица текущих параметров, она быстрее графика, кажется.
Прибавку в скорости вы можете получить, если переведете скрипт на lua api.