В данном статье будем учиться подключать OsEngine к Квик. Для того, чтобы можно было торговать через Quik сотнями роботов, которые в OsEngine уже встроены.
1. Скачка и установка Quik ДЕМО.
В процессе подключения OsEngine к Квик мы рекомендуем не использовать боевую версию программы от Вашего брокера, т.к. Вы можете неправильно что-то сделать, ошибиться и потерять много денег, т.к. роботы могут сделать что-то не так.
Мы рекомендуем использовать Демо версию от официального создателя Quik. Это оградит Вас от возможных ошибок при боевом подключении.
Идём в поисковую систему:

Или можно сразу перейти по ссылке:
https://arqatech.com/ru/support/demo/
По ссылке прекрасная инструкция по тому, как правильно установить квик, поэтому подробного описания здесь не будет.
2. Заказываем для Quik данные по нужным нам инструментам.
Следующее, что нужно сделать – заказать инструменты, с которыми мы в дальнейшем будем работать:

1. «Программа».
2. «Получение данных».
3. «Котировки».
4. Ставим галочки напротив нужных инструментов, лишние убираем.
5. «Сохранить».
Повторяем то же самое и для обезличенных сделок:

Если вы хотите работать с секундным или тиковым таймфреймом, то нужно в этом окне убрать галочку напротив «Получать обезличенные сделки с момента подключения». Спустя некоторое время, после того, как будут закачены данные по этому тикеру, галочку нужно будет поставить.
Деактивируем настройку «Добавлять во все таблицы»:

1. «Получение данных».
2. «Добавлять во все таблицы». Отключаем.
3. «Сохранить». Жмём.
3. Автоконнект Quik к серверу брокера.
Настраиваем автоматическое подключение на этот временной диапазон - 9:40-23:57:

1. «Система».
2. «Соединение».
Откроется окно:

1. Выставляем временной диапазон.
2. «Сохранить».
4. Отключаем спам сообщения от Quik.
Также рекомендуется активировать настройку «Только для важных сообщений»:

1. «Сообщения».
2. «Ставим галочку».
3. «Сохранить».
5. Подключаем к Quik скрипт LUA из папки OsEngine.
Идём в шапке Квик в меню «Сервисы»:

И выбираем «Lua скрипты».
В открывшемся окошке жмем на кнопочку «Добавить»:

Идем в то место, где у вас хранится OsEngine.
Внутри проекта нужно перейти сюда:

Выбираем «QuikSharp.lua».
Появляется окошко, в котором нужно нажать «Запустить»:

Как только появится зелененькая стрелочка, окно можно закрыть, а Quik свернуть:

ВАЖНО!!! О версиях среды и скрипта.
Запускать скрипты ЛУА в Квике можно из-под разных версий компилятора. От этого могут быть ошибки. Если Вы с ними столкнулись на этом этапе, Вам нужно выбрать другую версию компилятора ЛУА для запуска скрипта. Это вот здесь:

6. Обязательно! Создаём таблицу обезличенных сделок в Quik!
Если этого не сделать, свечи потом в OsEngine строиться не будут!
Для открытия таблицы идём в шапку Quik, в меню «Создать окно»:

1. «Создать окно».
2. Выбираем «Таблица обезличенных сделок».
В открывшемся окне:

1. Отмечаем галочками то, с чем планируем работать. Нужно выбрать КАЖДЫЙ инструмент, который Вы хотите торговать.
2. Жмем «Да»
Появляется таблица:

ВАЖНО! Если вдруг лента сделок не пошла, и у Вас в этой таблице пусто, то скорее всего Ваш брокер блокирует ленту сделок для пользователей для облегчения трафика. Если у Вас такой случай, то нужно брокеру позвонить и уточнить так ли это. И если это так, то попросить их разблокировать ленту сделок для Вас.
7. Подключаем к торгам OsEngine к Quik.
Запускаем exe-файл OsEngine и выбираем «Роботы.Light»:

Для того, чтобы добавить бота жмем «Добавить бота»:

В открывшемся окне делаем следующее:

1. Даем название.
2. Выбираем робота.
3. Жмем на «Принять».
Таким образом добавляем нужное количество ботов:

1. Видим, что бот добавился.
2. Теперь идем выполнять подключение к Quik lua, жмем на «Сервера подключения».
Находим в списке нужное название и дважды щелкаем по нему ЛКМ:

Открывается окно подключения:

1. Выбираем те инструменты, которые предполагаем торговать. Всё клацать бездумно не нужно, это будет влиять на скорость запуска подключения.
2. У разных брокеров существует разный способ передачи номера ордера и номера клиента в торговую систему. Это регулируется переключением вот этого пункта в настройке сервера. Для брокеров АЛОР и Сбербанк рекомендуется ставить в этой графе True. Для остальных рекомендуется оставлять по умолчанию False.
3. Код клиента, по которому будут проходить ордера. Это для пользователей, у которых несколько счетов в Квик.
4. Данный параметр нужен для правильного отображения портфеля. Если подгружаются не все портфели, то данный параметр нужно поставить в значение True.
5. Стандартные настройки коннектора в OsEngine. Описание каждой есть в наших гайдах, + если нажать на кнопку “Подробнее”, вы увидите короткое описание.
Далее, после настроек жмём кнопку «Подключить» («Connect»).
Строчка с названием сменила цвет на зеленый, мы успешно подключились:
8. Пример подключения робота к данным.
Теперь нам нужно подключить и настроить поток биржевых данных, жмем на кнопку «Чарт»:

Откроется окно управления выбранного робота. Нужно пройти в настройки подключения данных:

1. «Управление».
2. «Настройки данных».
Выполняем настройку данных для робота:

1. Окошко выбора сервера.
2. Здесь выбираем портфель.
3. Если поставить галочку в это окошко, то роботы будут торговать в эмуляторе.
4. Выбираем класс.
5. Ставим галочку в окошко напротив инструмента, который хотим торговать.
6. Выбираем таймфрейм.
7. После того, как все настроили, жмем «Принять».
После всех настроек Вы увидите график и стакан инструмента:

Данные в робота начали поступать.
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.
На серверах часто может быть такое, что настройки параметров компьютера стоят неправильные. Например, если разделитель целой и дробной части в параметрах сервера установлены точкой, то у квика могут не проходить ордера, и в целом может быть непредвиденное поведение. Поэтому следует убедиться, что разделитель целой и дробной части установлены в виде запятой.
Для этого нужно перейти в панель управления, затем в региональные стандарты.
В региональных стандартах во вкладке Форматы перейти в Дополнительные параметры. Во вкладке Числа в строке Разделитель целой и дробной части поставить запятую.
Удачных алгоритмов!
Выражаем отдельную благодарность разработчику библиотеки QuikSharp, благодаря которому это стало возможным. Спасибо! Ссылка на репозиторий: https://github.com/finsight/QUIKSharp
P.S.
Os Engine поддержка терминала: https://t.me/osengine_official_support
Обсуждаем в телеграмме: https://t.me/o_s_a_chat
Канал проекта: https://t.me/bad_quant
Комментарии