Последние две недели на всех мировых рынках резко повысилась активность, количество биржевых данных выросло в 2-3 раза. Из-за этого у многих пользователей терминал QUIK начал безбожно тормозить и виснуть. Сервера брокеров также с трудом переваривают повышение нагрузки и наплыв клиентов, желающих что-либо купить-продать (по слухам кто-то из брокеров висел аж целую неделю))) ).
На Смарт-Лабе появилось несколько постов с советами как избавиться от тормозов. И меня сильно поразила неадекватность предлагаемых действий. Люди готовы покупать новое железо за бешеные деньги, создавать какие-то командные файлы и заниматься прочей ерундой. А нужно всего лишь включить голову и разобраться в причинах тормозов. Когда программисты разрабатывают какую-либо программу, они всегда оптимизируют ее для работы на определенном «средне статистическом» компьютере, закладывая при этом кратный запас по производительности. Если вдруг эта программа (QUIK) начинает неадекватно тормозить и виснуть на обычном современном компьютере — значит дело почти наверняка не в железе, и даже не в самой программе, а в ее конфигурации (настройках). Т.е. нам нужно правильно настроить терминал QUIK , а уже потом апгрейдить железо, менять туда-обратно версии и бухтеть на Смарт-лабе.
Обращаемся к Яндексу и находим два топика на сайте разработчика QUIK-a с официальными рекомендациями по повышению производительности.
https://forum.quik.ru/forum1/topic1539/
https://forum.quik.ru/forum1/topic1540/
Там написано много интересных нюансов, кому действительно нужно — прочитайте в первоисточнике. Постараюсь выделить главное на основе моего личного опыта.
1) Файл info.log
Чтобы этот файл не разрастался до неприлично больших размеров, заходим в настройки и выбираем «Только данные, отражающие текущее состояние».
2) Отключаем получение лишних данных.
В настройках выбираем пункт «Исходя из настроек открытых пользователем таблиц».
Опционально можно включить галочку «Запрашивать данные раз в 1 сек.», но по моему опыту эта опция не столь критична.
3) Таблицы «Клиентский портфель» и «Состояние счета».
В настройках включаем пункт «Обновлять через 1 секунд».
Отключаем галочку «Пересчитывать при изменении позиций».
Лично для меня именно эти два пункта стали критически важными. До их настройки мой терминал мог висеть по несколько минут не реагируя ни на какие команды и грузя ядро процессора на 100%. После — QUIK стал летать несмотря на 150 открытых окон (графики, стаканы и куча других окошек), загрузка ЦП стала 1-3%. Причина — на моем счете ведет торговлю HFT-робот (на стороннем сервере), который ежесекундно выставляет/снимает десятки заявок. При каждом(!) изменении в заявках 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) я сам узнал пару дней назад и очень на себя матерился за годы тормозов и мучений).
На новом, 64-битовом Квике у меня такого не может возникнуть, т.к. на ПК стоит ОЗУ 8 Гбайт.