Блог им. SaOLin

QUIK. Реальные шаги для ускорения работы терминала.

    • 07 марта 2020, 16:22
    • |
    • SaOLin
  • Еще

Последние две недели на всех мировых рынках резко повысилась активность, количество биржевых данных выросло в 2-3 раза. Из-за этого у многих пользователей терминал QUIK начал безбожно тормозить и виснуть. Сервера брокеров также с трудом переваривают повышение нагрузки и наплыв клиентов, желающих что-либо купить-продать (по слухам кто-то из брокеров висел аж целую неделю))) ).

На Смарт-Лабе появилось несколько постов с советами как избавиться от тормозов. И меня сильно поразила неадекватность предлагаемых действий. Люди готовы покупать новое железо за бешеные деньги, создавать какие-то командные файлы и заниматься прочей ерундой. А нужно всего лишь включить голову и разобраться в причинах тормозов. Когда программисты разрабатывают какую-либо программу, они всегда оптимизируют ее для работы на определенном «средне статистическом» компьютере, закладывая при этом кратный запас по производительности. Если вдруг эта программа (QUIK) начинает неадекватно тормозить и виснуть на обычном современном компьютере — значит дело почти наверняка не в железе, и даже не в самой программе, а в ее конфигурации (настройках). Т.е. нам нужно правильно настроить терминал QUIK , а уже потом апгрейдить железо, менять туда-обратно версии и бухтеть на Смарт-лабе.

Обращаемся к Яндексу и находим два топика на сайте разработчика QUIK-a с официальными рекомендациями по повышению производительности.

https://forum.quik.ru/forum1/topic1539/

https://forum.quik.ru/forum1/topic1540/

Там написано много интересных нюансов, кому действительно нужно — прочитайте в первоисточнике. Постараюсь выделить главное на основе моего личного опыта.

1) Файл info.log

Чтобы этот файл не разрастался до неприлично больших размеров, заходим в настройки и выбираем «Только данные, отражающие текущее состояние».

QUIK. Реальные шаги для ускорения работы терминала.

2) Отключаем получение лишних данных.

В настройках выбираем пункт «Исходя из настроек открытых пользователем таблиц».
Опционально можно включить галочку «Запрашивать данные раз в 1 сек.», но по моему опыту эта опция не столь критична.

QUIK. Реальные шаги для ускорения работы терминала.

3) Таблицы «Клиентский портфель» и «Состояние счета».

В настройках включаем пункт «Обновлять через 1 секунд».
Отключаем галочку «Пересчитывать при изменении позиций».

Лично для меня именно эти два пункта стали критически важными. До их настройки мой терминал мог висеть по несколько минут не реагируя ни на какие команды и грузя ядро процессора на 100%. После — QUIK стал летать несмотря на 150 открытых окон (графики, стаканы и куча других окошек), загрузка ЦП стала 1-3%. Причина — на моем счете ведет торговлю HFT-робот (на стороннем сервере), который ежесекундно выставляет/снимает десятки заявок. При каждом(!) изменении в заявках QUIK полностью пересчитывал весь портфель, тратил на это уйму процессорного времени, уходя при этом в состояние зависания.

QUIK. Реальные шаги для ускорения работы терминала.

4) Таблицы «Обезличенных сделок», тиковые графики, файл alltrade.dat

Если нет критической необходимости, лучше полностью отключить получение тиковых данных (они же «обезличенные сделки»). Закрыть все тиковые графики и таблицы «Обезличенных сделок». Также открываем меню «Система» — «Заказ данных» — «Поток обезличенных сделок» и нажимаем кнопку «Очистить». Далее «Сохранить» и покидаем данное меню.
В QUIK-е есть особенность, что даже при заказе тиков по одному инструменту, терминал получает тики абсолютно по всем(!) инструментам, независимо от выбранных фильтров.

5) Таблица «Купить/Продать».

Однозначно закрываем эту таблицу, даже если она нам нужна. В ней отображаются ставки риска по всем маржинальным бумагам (по-русски «доступное плечо»). Например у брокера БКС в ней числится около 700 бумаг, и при каждом изменении цены любой из этих бумаг происходит пересчет таблицы. QUIK из-за этого уходит в полное зависание. Для меня таблица полезная, но смотреть ее я могу только до начала торгов, увы.

6) Возможно есть еще какие-то таблицы, оказывающие сильное влияние на производительность.

Сохраняем текущую конфигурацию («Система» — «Сохранить настройки в файл»). Начинаем по одной закрывать окна и вкладки. Смотрим результат. Возможно после закрытия определенных окон скорость работы терминала резко вырастет — значит мы нашли виновника. Радуемся и думаем что с этим делать.

 

Если после выполнения данных настроек ваш QUIK продолжает тормозить и глючить — вот тогда стоит начать играться с версиями терминала.

6-я версия однозначно самая шустрая. Но объективно морально устарела.

7-я версия шустрее 8-й. Причем 7.11-7.14 значительно быстрее 7.27 (по моим наблюдениям).

8-я версия. По моим наблюдениям 8.3 значительно меньше грузит процессор, чем например 8.1. В связи со скорыми изменениями на срочном рынке (подробнее https://smart-lab.ru/blog/599215.php) через несколько месяцев абсолютно все перейдут на 8-ку.

Но еще раз повторю — даже тормознутая 8-я версия при правильных настройках должна абсолютно комфортно работать в том числе на старом железе.
Сейчас я использую версию 8.1.0.30 от БКС и последние дни, несмотря на биржевую активность, QUIK редко грузит более 5% процессора, и работать в нем субъективно комфортно. И это при десятке вкладок, 100 открытых графиков, 50 стаканах и прочих таблицах. При этом у меня стоит компьютер 2014 года (уже не помню какой конфигурации). А на моем счете ежедневно выставляется 100-200 тысяч заявок и совершается много тысяч сделок по всем ликвидным акциям 1-2 эшелона (HFT-роботом, работающем на стороннем сервере). Сильно сомневаюсь, что нагрузка на ваш QUIK даже близко сможет приблизиться к моим условиям.

Всем спасибо за чтение. Буду рад, если мои советы кому-то помогут. Пишите в комментариях, возможно я упустил какие-то важные опции (например про пункт 3) я сам узнал пару дней назад и очень на себя матерился за годы тормозов и мучений).

  • Ключевые слова:
  • QUIK
★353
31 комментарий
Спасибо тебе, добрый человек! Не часто здесь бывают настолько полезные записи.
avatar
у меня подвисает на 2-3 сек при снятии и исполнении заявок, вот это очень бесит
avatar
На 32-битном Квике сталкивался с несколько другой заморочкой. Постепенным, за несколько часов, исчерпанием доступной памяти ПК при открытом окне котировок фьючерса RI с очень высокой частотой изменений.
На новом, 64-битовом Квике у меня такого не может возникнуть, т.к. на ПК стоит ОЗУ 8 Гбайт.
avatar

Rostislav Kudryashov, Очень странно. У меня в феврале был открыт стакан RIH0 и вроде бы никакого заметного повышения используемой памяти не было. В понедельник попробую, хотя возможно в 8.1 эффекта не будет в принципе.

А вот из-за активных торгов последние 2-3 недели 32-битный квик 6-й версии с полным info.log ежедневно вылетал с сообщением о нехватке памяти. Обычно где-то в 20.00-23.00. Но как бы не удивительно, последние недели полный суточный info.log весит 3-5 Гб, плюс 1.5-2 Гб alltrade.dat, что в сумме значительно превышает возможности 32-бит.

avatar
Я, конечно, слабо разбираюсь во всяких настройках, у меня Quik стоит на стареньком ноуте на кухне и обычно не тормозит. Но когда на бирже аврал, заявка может ставиться-сниматься по 20 секунд. Т.е. это виновата не моя машина, а сервак брокера. ИМХО, это основная причина тормозов, а не всякие там примочки.

Кухонный трейдер, Если в такие моменты вы можете быстро открывать/закрывать окна в самом квике, легко переключаться между вкладками — то да, тормоза точно у брокера. Сейчас изредка лагают все брокеры, на то есть объективные причины. Но например у моего БКС 9 апреля 2018 всё ложилось в 10 раз сильнее чем на позапрошлой неделе. Т.е. они реально улучшили свои сервера. А вот Сбер похоже зеленый-неопытный )), судя по крикам на Смарт-Лабе.

Но бывает что тормозит именно клиентский терминал. Например я сам со своим QUIK-ом разобрался всего пару дней назад, а до этого пару лет думал что тормоза из-за 100 открытых графиков. А оказалось что все дело в двух галочках в настройках.

avatar
Дай бог здоровья, этому человеку написавшему пост !.....
 По больше бы таких «Прометеев» и  Робин-гудов", пишущих, о наших насущных   делах…
avatar

Спасибо, пост однозначно в избранное! 

А можете простым языком объяснить за что отвечает п.2? В справке написано:

  • «Только данные, отражающие текущее состояние» – сохраняются последние значения параметров,
  • «Данные, отражающие текущее состояние и всю историю изменений» – сохраняются все принятые значения параметров. Данное свойство необходимо при использовании Таблицы истории значений, Таблицы изменения параметров, построения графиков по значениям Таблицы текущих торгов, а также экспорта данных в системы технического анализа, если их источником является Таблица текущих торгов. 
… но мне что-т все равно непонятно, что это за таблицы… а хочется всё такие понимать что отключаешь.
avatar

a1pha, Есть таблица «Текущие торги» (в старых версиях называлась «Текущая таблица параметров»). В ней есть множество столбцов, типа, «Цена посл сделки», «Оборот», «Лот», «Лучшее спрос/предложение» и т.д. их там около 50. Все эти параметры постоянно обновляются, причем это происходит по каждой из тысяч бумаг, доступных в терминале. Например по бумагам типа Газпрома и Сбербанка может быть до 5 обновлений в секунду.

Если галочка включена — в файл info.log пишутся все обновления всех параметров по всем бумагам за текущий день. Это колоссальный объем данных, порядка 2-5 Гб ежедневно. Если галочка отключена — в памяти хранятся только актуальные значения (т.е. последние), они весят порядка 20-50 Мб.

У меня это пункт 1), а не 2).

avatar

a1pha, Мой пункт 2) Отключаем получение лишних данных.

Если у вас открыты таблицы только по акциям МосБиржи, то текущие параметры будут поступать только по ним. А например данные по акциям биржи СПб, или данные по опционам и фьючерсам срочной секции поступать не будут, т.к. они вам не нужны. QUIK сам выберет какие данные заказыват ьс сервера, а какие нет. Это будет сильно экономить и трафик и используемую память.

avatar
SaOLin, Да, я ошибся и имел ввиду ваш п.1
Спасибо вам большое за объяснение!
avatar
позакрывать к ху*ам все таблицы и всё.
нахер вам смотреть на 50 бумаг и 20 графиков? и не надо загружать таблицу всех сделок — это тормозит сервак у брокера и всё зависает, когда тысяча дебилов, верящих что им она поможет, качают одновременно все сделки.


avatar
Kapeks, Прикол в том, что оказывается эти 100 графиков почти не нагружают терминал. А вот какая-то мелкая таблица жрет кучу ресурсов. И далеко не всегда очевидно что именно вот эта таблица создает такую пакость.
avatar

Андрей Андреичъ, Я не в курсе, торгую только фондовую секцию. Но вроде там по ссылке все четко расписано, что будет/не будет работать и на каких именно версиях.

https://forum.quik.ru/forum1/topic5117/

avatar

5) Таблица «Купить/Продать».

Подскажите что за таблица такая? В какой версии квика она так называется?

avatar
АлексейФ, Открываете таблицу «Клиентский портфель». Щелкаете по ней правой кнопкой мыши. Там в списке будет " Открыть таблицу [Купить/Продать]". Возможно можно как-то по-другому открыть, но мне так вполне удобно.
avatar
SaOLin, тогда понятно что за таблица. Я её и не открывал никогда раньше. Спасибо за информацию
avatar
АлексейФ, Откройте менеджер окон и проверьте может что случайно
открыто:




avatar
Спасибо за пост, инфа нужная.
Скажите, а откуда такие сведения — «В QUIK-е есть особенность, что даже при заказе тиков по одному инструменту, терминал получает тики абсолютно по всем(!) инструментам, независимо от выбранных фильтров»?
avatar

Stogov, https://forum.quik.ru/forum1/topic1539/
«Заказ полного набора всех сделок происходит вне зависимости от установленных в таблице обезличенных сделок фильтров или открытого тикового графика по конкретному инструменту.»
«Если, тем не менее, Вам нужны данные потока обезличенных сделок – рекомендуем определить список классов, которые Вам действительно необходимо получать. Трансляцию потока обезличенных сделок по остальным классам Вы можете отключить — для этого достаточно обратиться к Вашему брокеру.»

Я не проверял достоверность, но сотрудник ARQA пишет именно так. Меня это тоже удивило.
Единственное, это топик 2016 года. Возможно в новых версиях что-то поменяли.

avatar
SaOLin, спасибо, я этот FAQ тоже вдоль и поперек изучил. Просто читаю эту фразу я не сделал такой вывод. Скорее всего Вы правы
avatar
Ты крутой мужик.Дай Бог тебе здоровья!!! У меня теперь летает квик
avatar
Спасибо за полезную информацию 
avatar
У меня таблица купить продать  — одна из основных. Настроена только на инструменты в портфеле.  Торможения (поскольку инструментов немного-60 всего) не наблюдаю. Заморочки (тормоза) пошли весной прошлого года.  Странно, что пользователи не читают тех поддержку на форуме квика.
avatar
А кто знает как бороться с КВИК Андроид 1.5.7? На планшете после летнего обновления стал некорректно грузиться. Брокер говорил,  что разработчики работают,  но пока так и не изменилось ничего ((( Приходится повторять загрузки по 5-10 раз, чтобы нормально подключиться.  Нахрена обновляли непонятно. 
avatar
borracho, это устаревшая версия, которая более не поддерживается. Ставьте актуальное приложение QUIK Android X.
avatar
Gh0sT555, а где её взять? 
avatar
А где найти эти настройки клиентского места
Добавил в избранное

Ребята! еще одна важная деталь! сделал все выше упомянутые настройки… в итоге выяснил что...

Тёмная тема супер тормозила, вернулся к светлой и всё полетело

avatar

теги блога SaOLin

....все тэги



UPDONW
Новый дизайн