В данной статье – гайде будем учиться подключать специализированный для алготрейдинга фреймворк OsEngine к Квик. Для того, чтобы можно было торговать через Quik сотнями роботов, которые в OsEngine уже встроены.
1. Скачка и установка Quik ДЕМО.
В процессе изучения данной инструкции и экспериментов по подключению к Квик из OsEngine мы рекомендуем не использовать боевую версию программы от Вашего брокера, т.к. Вы можете неправильно что-то сделать, ошибиться и потерять много денег, т.к. роботы могут сделать что-то не так.
Мы рекомендуем использовать Демо версию от официального создателя Quik. Это оградит Вас от возможных ошибок при боевом подключении, на период пока Вы учитесь это делать.
Идём в поисковую систему:
Или можно сразу перейти по ссылке:
https://arqatech.com/ru/support/demo/
По ссылке прекрасная инструкция по тому, как правильно установить квик, поэтому подробного описания здесь не будет. Успехов Вам!
2. Заказываем для Quik данные по нужным нам инструментам.
Квик установлен и подключен к торговой системе.
Следующее что нужно сделать – заказать инструменты, с которыми мы в дальнейшем будем работать:
- «Программа».
- «Получение данных».
- «Котировки».
- Ставим галочки напротив нужных инструментов, лишние убираем.
- «Сохранить».
Повторяем то же самое и для обезличенных сделок:
Если вы хотите работать с секундным или тиковым таймфреймом, то нужно в этом окне убрать галочку напротив «Получать обезличенные сделки с момента подключения». Спустя некоторое время, после того, как будут закачены данные по этому тикеру, галочку нужно будет поставить.
Деактивируем настройку «Добавлять во все таблицы»:
- «Получение данных».
- «Добавлять во все таблицы». Отключаем.
- «Сохранить». Жмём.
3. Автоконнект Quikк серверу брокера.
Настраиваем автоматическое подключение на этот временной диапазон — 9:40-23:57:
- «Система».
- «Соединение».
Откроется окно:
- Выставляем временной диапазон.
- «Сохранить».
4. Отключаем спам сообщения от Quik.
Также рекомендуется активировать настройку «Только для важных сообщений»:
- «Сообщения».
- «Ставим галочку».
- «Сохранить».
5. Подключаем к Quik скрипт LUA из папки OsEngine.
Идём в шапке Квик в меню «Сервисы»:
И выбираем «Lua скрипты».
В открывшемся окошке жмем на кнопочку «Добавить»:
Идем в то место, где у вас хранится OsEngine.
Внутри проекта нужно перейти сюда:
Выбираем «QuikSharp.lua».
Появляется окошко, в котором нужно нажать «Запустить»:
Как только появится зелененькая стрелочка, окно можно закрыть, а Quik свернуть:
ВАЖНО!!! О версиях среды и скрипта.
Запускать скрипты ЛУА в Квике можно из-под разных версий компилятора. От этого могут быть ошибки. Если Вы с ними столкнулись на этом этапе, Вам нужно выбрать другую версию компилятора ЛУА для запуска скрипта. Это вот здесь:
6. Обязательно! Создаём таблицу обезличенных сделок в Quik!
Если этого не сделать, свечи потом в OsEngine строиться не будут!
Для открытия таблицы идём в шапку Quik, в меню «Создать окно»:
- «Создать окно».
- Выбираем «Таблица обезличенных сделок».
В открывшемся окне:
- Отмечаем галочками то, с чем планируем работать. Нужно выбрать КАЖДЫЙ инструмент, который Вы хотите торговать.
- Жмем «Да»
Появляется таблица:
ВАЖНО! Если вдруг лента сделок не пошла, и у Вас в этой таблице пусто, то скорее всего Ваш брокер блокирует ленту сделок для пользователей для облегчения трафика. Если у Вас такой случай, то нужно брокеру позвонить и уточнить так ли это. И если это так, то попросить их разблокировать ленту сделок для Вас.
7. Подключаем к торгам OsEngine к Quik.
Запускаем exe-файл OsEngine и выбираем «Bot Station Light»:
Для того, чтобы добавить бота жмем «Add bot»:
В открывшемся окне делаем следующее:
- Даем название.
- Выбираем робота.
- Жмем на «Accept».
Таким образом добавляем нужное количество ботов:
- Видим, что бот добавился.
- Теперь идем выполнять подключение к Quik lua, жмем на «Connection Servers».
Находим в списке нужное название и дважды щелкаем по нему левой кнопкой мыши:
Открывается окно подключения:
- Выбираем те инструменты, которые предполагаем торговать. Всё клацать бездумно не нужно, это будет влиять на скорость запуска подключения.
- У разных брокеров существует разный способ передачи номера ордера и номера клиента в торговую систему. Это регулируется переключением вот этого пункта в настройке сервера. Для брокеров АЛОР и Сбербанк рекомендуется ставить в этой графе True. Для остальных рекомендуется оставлять по умолчанию False.
- Код клиента, по которому будут проходить ордера. Это для пользователей, у которых несколько счетов в Квик.
- Стандартные настройки коннектора в OsEngine. Описание каждой есть в наших гайдах, + если нажать на кнопку “Info”, вы увидите короткое описание.
Далее, после настроек жмём кнопку «Подключить» («Connect»).
Строчка с названием сменила цвет на зеленый, мы успешно подключились:
8. Пример подключения робота к данным.
Теперь нам нужно подключить и настроить поток биржевых данных, жмем на кнопку «Chart»:
Откроется окно управления выбранного робота. Нужно пройти в настройки подключения данных:
- «Control».
- «Data settings».
Выполняем настройку данных для робота:
- Окошко выбора сервера.
- Здесь выбираем портфель.
- Если поставить галочку в это окошко, то роботы будут торговать в эмуляторе.
- Выбираем класс.
- Ставим галочку в окошко напротив инструмента, который хотим торговать.
- Выбираем таймфрейм.
- После того, как все настроили, жмем «Accept».
После всех настроек Вы увидите график и стакан инструмента:
Данные в робота начали поступать.
9. Ошибка «Не найден указанный модуль» и пути её решения.
На некоторых типах Виндовс наблюдается ошибка поиска DLL.
Эта ошибка возникает в момент подключения скрипта ЛУА в Квик. Из пункта 5 данной инструкции.
Вариант решения 1.
Обновить библиотеку Microsoft Visual C++ Redistributable: https://aka.ms/vs/17/release/vc_redist.x64.exe
Вариант решения 2:
Если вариант 1 не помог, Вам нужно поменять местами содержимое этих папок в проекте OsEngine:
10. Начиная с версии QUIK 11, включаем графики!!!
Чтобы всё работало нормально и не зависало, нужно включать графики с той площадки, где Вы подтягиваете инструменты, иначе терминал зависает.
Такое вот решение. Видимо оптимизировали работу и выключили какие-то функции, если графиков нет открытых, и QuikSharp не может получить данных.
11. Антивирус может блокировать коннект.
Если у Вас включен файервол и/или антивирусная программа, убедитесь в том, что файерволл и/или антивирусная программа разрешают Quik открывать соединения на этих портах, и что OsEngine имеет право на подключение к этим портам. OsEngine должен быть запущен на той же машине, на которой запущен Quik.exe.
Удачных алгоритмов!
P.S.
Выражаем отдельную благодарность разработчику библиотеки QuikSharp, благодаря которому это стало возможным. Спасибо! Ссылка на репозиторий: https://github.com/finsight/QUIKSharp
OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php