Поставщик данных QuikLua | Школа по созданию торговых роботов

Инструкция по работе с терминалом TSLab версии 2.1

Поставщик данных QuikLua

Краткое описание подключения TSLab через поставщик данных QuikLua

1. Подключить у брокера программу Quik 8.5 или выше.

Внимание: Нужно устанавливать Quik с авторизацией по ключам (RSA)! Желательно без двухфакторной авторизации.

У Вас будут доступны следующие данные, необходимые для подключения Quik к торговым серверам:

— имя пользователя;
— пароль;
— два файла ключей Pubring.txk, и Secring.txk.


2. Скачать и установить программу TSLab. Скачать последнюю версию программы TSLab 2.1 Вы можете перейдя по ссылке: https://www.tslab.pro/ru-RU/download/tslab

Если программа TSLab 2.1 установлена, проверьте обновление. Инструменты | Проверить наличие обновлений


3. Потребуется Номер клиента. В «шапке» программы Quik есть номер UserID (UID). Номер клиента. Именно он используется для создания ключа к программе TSLab. Используются только цифры.


4. Оформить подписку для поставщика данных. Для оформления подписки Вам необходимо зарегистрироваться на сайте компании TSLab. В Личном кабинете пользователя откройте раздел Магазин.

Обратите внимание! При оформлении контракта на поставщик данных QuikLua Вам потребуется Номер клиента. В «шапке» программы Quik есть номер UserID (UID). Именно он используется для создания ключа к программе TSLab. Используются только цифры.

Подключить TSLab можно к любому брокеру с терминалом Quik

Выбор брокера в личном кабинете TSLab для поставщика QuikLua не важен.
В личном кабинете TSLab мы выбрали несколько брокеров с высоким рейтингом.


5. Настроить поставщик данных. Для подключения Вам необходимо создать и настроить поставщик данных в программе TSLab с типом QuikLua


Установка и настройка треминала Quik

Требования к установке Quik

Рекомендуется устанавливать Quik непосредственно на жесткий диск. Например, C:\Broker_QUIK.


Quik устанавливайте стандартно, не от имени администратора! Если это требуется для брокера, то и TSLab нужно будет установить от имени администратора.

При необходимости, можно поменять права доступа ко всем файлам Quik вручную.


1. Установите терминал Quik (версии 8.0 или выше) с сайта вашего брокера, согласно инструкции брокера. Quik должен поддерживать язык программирования LUA.

2. Введите Ваши учетные данные и установите соединение с брокером.

3. После установки программы TSLab и терминала Quik, создайте папку отличную от папки установленного Quik. Например, C:\LuaScripts. В директории C:\ProgramData\TSLab\TSLab 2.1\Providers\QuikLua найдите файл lua.zip.

4. Распакуйте его в созданную папку C:\LuaScripts таким образом, чтобы получить директорию C:\LuaScripts\QuikSharp. В этой папке будут храниться скрипты Lua.

Обратите внимание! Путь C:\ProgramData\TSLab\TSLab 2.1\Providers\QuikLua содержит именно ProgramData, как правило, это скрытая папка. Просто скопируйте путь C:\ProgramData\TSLab\TSLab 2.1\Providers

Настройка терминала Quik

Внимание! При подключении к серверу снимите флаг «Запомнить имя» в окне подключения.

Обратите внимание! Рекомендуем Вам выполнить все приведенные ниже пункты по настройке терминала Quik. В случае невыполнения приведенных рекомендаций по настройке возможны ошибки на этапе подключения к серверу брокера программы TSLab


1. Чтобы избежать замедления работы терминала Quik, деактивируйте настройку «Получать пропущенные данные» (Настройки программы (F9) > Программа > Сохранение данных > Получать пропущенные данные).


 


2. Все инструменты, с которыми Вы планируете работать, должны быть заказаны заранее через настройки:

— Пункт главного меню «Система» > Заказ данных > Поток котировок.
— Пункт главного меню»Система» > Заказ данных > Поток обезличенных сделок.
— Или через настройки программы (F9).


 
Чтобы иметь возможность работать на секундном или тиковом интервале и закачивать пропущенные данные за текущую торговую сессию, нужно деактивировать настройку «Получать информацию по всем обезличенным сделкам только с текущего момента». Тогда после начала работы с новым инструментом Quik закачает обезличенные сделки по этому тикеру и через некоторое время будет возможность заполнить пропущенные данные (Система > Заказ данных > Поток обезличенных сделок > Получать информацию по всем обезличенным сделкам только с текущего момента).


 


3. Деактивируйте настройку «При получении новой ценной бумаги добавлять её во все таблицы» (Настройки программы (F9) > Программа > Получение данных > Добавлять её во все таблицы).
 


4. Из пункта меню «Сервисы» перейдите к «Lua скрипты», добавьте в список скриптов %LUA_ROOT%\QuikSharp\QuikSharp.lua и запустите его.

 
Скрипт QuikSharp.lua перейдет в статус «Запущен», а в окне сообщений возникнет надпись «Connecting to port 34130 / callback port 34131…».

При необходимости настроить несколько экземпляров Quik повторите эту процедуру с указанием уникальной пары портов для каждого экземпляра. Данная настройка находится в файле %LUA_ROOT%\QuikSharp\port.ini. Файл должен состоять из одной строчки и содержать только номер порта для установления соединения (без кавычек и пробелов). Например, 34130. Второй используемый порт будет следующий по номеру. В данном случае 34131.

Внимание! Для подключения к серверам используются два порта. Если у Вас включен файервол и/или антивирусная программа, убедитесь в том, что файерволл и/или антивирусная программа разрешают Quik открывать соединения на этих портах, и что TSLab имеет право на подключение к этим портам.

Внимание! TSLab должен быть запущен на той же машине, на которой запущен Quik (info.exe).
 


5. Рекомендуется настроить Quik на автоматическое подключение в интервале 6:40-23:55 (Система > Соединения).


 
Скрипт QuikSharp.lua запускается автоматически при каждом запуске Quik. Таким образом, Quik будет всегда готов работать с TSLab и будет содержать максимальный объём непрерывных рыночных данных готовых к использованию.

Внимание! Автологин в Quik будет работать только при использовании однофакторной авторизации. При использовании двухфакторной авторизации необходимо вводить PIN, присылаемый брокером. Также необходимо активировать настройку «Устанавливать соединение», чтобы Quik открывал окно для ввода логина и пароля (Настройки программы (F9) > Программа > Устанавливать соединение).

Сохраняем сделанные настройки в файл конфигурации, на использование которого настроен Quik. Или применяем настройку «Сохранять настройки в файл при выходе» (Настройки программы (F9) > Программа > Файлы настроек > Сохранять настройки в файл при выходе).
 


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


 


 
7. Откройте таблицу «Текущие торги» и добавьте в неё инструменты, с которыми Вы планируете работать. Например, акции Сбербанка, индекс RVI, валюту USDRUB_TOM, фьючерс на индекс РТС, фьючерс на доллар и т.д. (пункт главного меню «Создать окно» > Текущие торги).


 
Откройте таблицу «Таблицу обезличенных сделок» (пункт главного меню «Создать окно» > Таблица обезличенных сделок).

Добавьте в таблицу инструменты, с которыми Вы планируете работать. Например, акции Сбербанка, индекс RVI, валюту USDRUB_TOM, фьючерс на индекс РТС, фьючерс на доллар и т.д.


 

Настройка TSLab

В окне «Менеджер подключений» добавьте и настройте поставщик QuikLua (при создании поставщика выберите Тип поставщика «QuikLua», без наименования брокера). Укажите путь к Quik (к файлу info.exe), имя пользователя и пароль Quik для подключения к серверу, идентификатор (UserID).
Как-купить-акции-физическому-лицу

Если Quik уже настроен и скрипт QuikSharp.lua запущен, то в настройках поставщика данных «Путь к скриптам» заполнять не обязательно.

При создании ключа поставщика используется UserID. UserID показывается в заголовке окна Quik после установления соединения. Также Вы можете узнать свой UserID с помощью «Информационного окна»: Система > О программе > Информационное окно > Добавить в отображаемые значения параметр «Код пользователя».

Внимание! При работе с данным поставщиком опционная торговля не поддерживается. Убедитесь в том, что в настройках поставщика данных активирована настройка «Игнорировать опционы».

Блокировка заявок, сек рекомендация поставить 900 сек

добавить-поставщик-данных-тслаб

 

Настройка Описание
QuikLua Путь к терминалу Папка, где установлен терминал QUIK, с указанием к файлу, например C:\Broker_QUIK\info.exe
Путь к скриптам Путь к скриптам LUA, которые обеспечивают подключение к QUIK

При первой установке папка создается автоматически, и может быть изменена.

Имя пользователя Логин пользователя в QUIK.
Пароль Пароль пользователя в QUIK
Идентификатор (ID) UserID (номер UID) при подключении он должен быть установлен, без него не будет приниматься ключ к программе.
Сетевой адрес По умолчанию localhost. Можно настроить в файле %LUA_ROOT%\QuikSharp\port.ini
Основной порт По умолчанию 34130 Должно соответствовать настройкам в файле %LUA_ROOT%\QuikSharp\port.ini
Вспомогательный порт По умолчанию 34131 Можно настроить в файле %LUA_ROOT%\QuikSharp\port.ini
Видимость сделок/заявок в оффлайне Активирует возможность видеть свои сделки и заявки в оффлайн режиме.

Изменение данного параметра требует перезапуска программы.

«Быстрое» подключение Активирует установку соединения с QUIK в ускоренном режиме для экстренных случаев. Не обеспечивает полной загрузки данных и может привести к повреждению данных накопленных ранее.
Не рекомендуется использовать при запущенных агентах. При таком подключении какое-то время будут закачиваться сделки рынка по инструментам (тики) и графики будут не полноценными.
Перезапускать QUIK Закрывает QUIK, запущенный программой TSLab, в случае отключения или потери соединения.

После восстановления соединения QUIK перезапускается автоматически.

Блокировка заявок, сек Блокирует подачу заявок на установленный временной интервал после установления соединения с поставщиком данных.
Настройки кешей Устанавливает период хранения информации о сделках и заявках Пользователя, доступны следующие параметры:
— срок хранения исполненных заявок;
— срок хранения отмененных заявок;
— срок хранения сделок.
Опционы Игнорировать опционы Для уменьшения нагрузки на систему можно сообщить TSLab, что Вы не собираетесь работать с опционами (по умолчанию опционы ВЫКЛЮЧЕНЫ).

Для Quik версий 7 и ниже необходимо установить данную настройку.

Не запрашивать тиковую историю Данная опция касается только опционов. По умолчанию настройка ВКЛЮЧЕНА. При этом провайдер не будет выкачивать тиковую историю по опционам за текущий торговый день.

Информация о работе с обезличенными сделками из Quik при подключении:

1. Если в Quik не сделана подписка на инструмент, то при подключении не запрашиваются сделки на данный инструмент.
2. Максимальное ограничение ожидания сделок инструмента, при подключении 3 минуты, после чего программа считает, что все закачено и подключается.
Побочный эффект второго пункта может быть на старте Агента, при нехватке сделок по инструменту для полноценного расчета какого-либо индикатора, рассчитывающего кластеры(эквиобъемы).


QuikLua проскальзывание в процентах

Quik может не отдать шаг цены инструмента в моменте.

Поэтому не рекомендуется использовать проскальзывание в %.

Используйте абсолютные значения.


QuikLua сообщения get_last_day_size

После первичного подключения Quik должен написать
«Both TCP listeners have been initialized!».

Затем
«[receiveRequest] Error: nil»

И потом переходить к запросам данных функцией [get_last_day_size].

Запросов может быть много (как минимум по 1 на каждый заказанный в TSLab инструмент секундного тайм-фрейма).

Если Quik долго подкачивает данные со своего сервера, про один инструмент будет много раз написано.
При этом в нормальной ситуации будет увеличиваться значение TICK vol (по мере поступления данных).

ошибка-квик-луа
 
QuikLua_message

Такие сообщения при подключении — отладочные сообщения скрипта lua.
Сообщения говорят, что Quik не завис, сделки грузятся, все в порядке.
Если Вам мешают эти сообщения, то можно отключить всплывающие уведомления в Quik
В Quik можно создать одно общее окно, где будут все уведомления.

Если сообщения приходят внутри торгового дня(не на старте Quik)
И в таких сообщениях будут нули, например size:0 , то, вероятно в Quik не запрошены: Файл — Потоки: обезличенные сделки и котировки.
При этом, если открыть таблицы в Quik «Обезличенные сделки» и «Текущие торги» часть или вся информация в них будет отсутствовать.
В этом случае сообщение следует рассматривать как «триггерное» , означающее, что прошел анализ ситуации, что TickVolume == 0, а BarVolume > 0 и при этом увеличивается.
Сделки по инструментам не идут:
Если включено единое окно сообщений, оно будет выглядеть так:

QuikLua_get_last

Официальный ответ одного из брокеров по данному вопросу:

«Добрый день!

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

На данный момент есть только один вариант решения проблемы — перезагружать терминал Quik перед торгами.»
 


Не найден указанный модуль

Сообщение в Quik
Сообщение-в-Quik

Может возникать при обновлениях

Дополнительно установите: https://support.microsoft.com/ru-ru/help/2977003/the-latest-supported-visual-c-downloads

Общее для 2.0 и для 2.1, при обновлении программы TSLab

Если Quik не запущен, то при запуске коннектора проверяются Lua файлы, если они отличаются, то они обновляются в папке с Lua скриптами автоматически.

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

Решение:

1. Проверить что в настройках поставщика данных прописан путь до скриптов точно такой же как в Quik.

2. Проверить в настройках поставщика данных, что выключена настройка «Отключить проверку файлов» .

2. Закрыть Quik, Подключиться к поставщику данных. При подключении Lua скрипты будут проверены и обновлены.
 


Не удалось создать файл

Ошибка возникает при подключении поставщика данных из TSLab

AdminQuik

Означает, что нет доступа к файлам по причине того, что Quik был установлен «Запуск от имени администратора».

Решение:
вручную поменять права доступа к файлам.

Или переустановить Quik в другую папку не от имени администратора.
 


Первая настройка QUIK Lua, не подключается, сообщения

Если QuikLua не подключается при первой настройке:

Ниже описываемые проблемы, как правило, касаются самого первого подключения и настройки QuikLua.

При нажатии кнопки «Подключить», в окно сообщений, в программе TSLab приходит сообщение вида «Неверные настройки Quik в файле C:\QUIK_\INFO.INI»
Откройте программу Quik и настройте параметры, в зависимости от сообщений в TSLab:

Проблема: Параметр ‘[data]/request-skipped’ должен быть равен ‘0’
Решение: Деактивируйте настройку «Получать пропущенные данные» (Настройки программы (F9) > Программа > Сохранение данных > Получать пропущенные данные).

Проблема: Не идут котировки
Решение: Все инструменты, с которыми Вы планируете работать, должны быть заказаны заранее через настройки Пункт главного меню «Система» > Заказ данных > Поток котировок, и «Система» > Заказ данных > Поток обезличенных сделок. Или через настройки программы Quik (F9).

Проблема: Параметр ‘[data]/add-new-secs-to-filters’ должен быть равен ‘0’
Решение: Деактивируйте настройку «При получении новой ценной бумаги добавлять её во все таблицы» (Настройки программы (F9) > Программа > Получение данных > Добавлять её во все таблицы).

Проблема: Quik недоступен.
Решение: Проверьте сетевые настройки, разрешения файервола и запустите скрипт QuikSharp.lua

Проблема: В Quik остановлен скрипт QuikSharp.lua и мы потеряли связь с ним.
Решение: Из пункта меню «Сервисы» перейдите к «Lua скрипты», добавьте в список скриптов %LUA_ROOT%\QuikSharp\QuikSharp.lua и запустите его.

Проблема: Параметр ‘[ALL_TRADES_DATA]/req-all-trades-from-curr-moment’ должен быть равен ‘0’
Решение: Система > Заказ данных > Поток обезличенных сделок > нужно деактивировать настройку «Получать информацию по всем обезличенным сделкам только с текущего момента»

Quik можно настроить непосредственно в файле его конфигурации.
В каждом из сообщений приходят наименования этих неверных настроек,
‘[data]/do-smart-request’
‘[data]/request-skipped’
‘[data]/add-new-secs-to-filters’
‘[ALL_TRADES_DATA]/req-all-trades-from-curr-moment’
И что именно необходимо сделать с настройкой, например «должен быть равен ‘0’»
 


Поставщик в постоянной загрузке, до этого все работало

Вероятно причина, в том, что Quik переподключился к серверу, но не прокачал сделки.
Нажмите кнопку.

обезличенные-сделки
 


Таблица обезличенных сделок в Quik пуста

При первом подключении к QuikLua в программе TSLab откройте график, запросите инструмент, если текущий бар не обновляется в режиме реал-тайм:

Откройте программу Quik, обратите внимание на таблицу обезличенных сделок.
Если таблица пуста, проверьте, что включен запрос на обезличенные сделки и котировки по нужному инструменту.
Если все настроено согласно инструкции, обратитесь к брокеру, вероятно обезличенные сделки необходимо включить на стороне брокера.
Если не пуста и таблица обновляется:
В программе TSLab, в свойствах графика или в свойствах скрипта проверьте, что включен флаг «Обновлять в режиме реал-тайм» и Отсутствует флаг «ДатаК».
В программе TSLab таблица обезличенных сделок доступна: Вид — Сделки по инструментам, правой кнопкой — свойства — выберите инструменты.
Из этих сделок программа строит текущие графики.

Архив записей
© 2021 Школа по созданию торговых роботов  Войти