Библиотека-обертка, которая позволяет получить доступ к функционалу QUIK из Python на основе Документации по языку LUA в QUIK и примеры - Интерпретатор языка LUA. В качестве коннектора используются скрипты LUA проекта QUIK#.
Что такое библиотека-обертка?
Компактная библиотека, содержащая только самый необходимый код для работы с API брокера из Python:
- Подключение к API. Отслеживание корректности подключения (обновление токенов, переподключение)
- Выполнение запросов и получение ответов от API
- Механизмы подписок, отмены подписок. Получение и разбор данных подписок
- Конвертация типов данных брокера в типы данных Python и обратно. Например, цена, лоты/штуки, дата/время
- Конвертация типов данных брокера в универсальные типы и обратно. Например, название тикера, режимы торгов, временнОй интервал
- Ведение лога отправляемых и получаемых данных от API
Назначение
- Создание автоматических торговых систем любой сложности
- Написание дополнений к системам Технического Анализа
- Тестирование торговых систем и автоматическая торговля в BackTrader через систему "Финансовая Лаборатория".
Установка
Установите библиотеку через командную строку:
pip install git+https://github.com/cia76/QuikPy.git
Начало работы
Скопируйте папку со скриптами LUA QUIK\lua в папку установки QUIK. Эти скрипты также можно получить из проекта QUIK# здесь >>>
Скопируйте папку QUIK\socket в папку установки QUIK. Библиотека core.dll для LUA версии 5.4.1 также выложена в проекте QUIK# здесь >>>
Запустите QUIK. Из меню Сервисы выберите LUA скрипты. Нажмите кнопку Добавить. Выберете скрипт QuikSharp.lua Нажмите кнопку OK. Выделите скрипт из списка. Нажмите кнопку Запустить.
Если в окне сообщений QUIK выдаст QUIK# is waiting for client connection..., то скрипт запущен успешно.
В папке Examples находится хорошо документированный код примеров. С них лучше начать разбираться с библиотекой.
- Connect.py - Проверка работоспособности запросов/ответов и подписок
- Accounts.py - Получение позиций, свободных средств, активных заявок (лимитные и стоп) для каждого счета
- Ticker.py - Спецификация тикеров с лотом, шагом цены, кол-вом десятичных знаков
- Bars.py - Получение дневных свечек с начала истории
- Stream.py - Подписка на котировки, стакан, последние сделки
- Transactions.py - Получение последней цены. Выставление/исполнение рыночных заявок на покупку и продажу. Выставление/отмена лимитной заявки. Выставление/отмена стоп заявки.
Авторство, право использования, развитие
Автор данной библиотеки Чечет Игорь Александрович.
Библиотека написана в рамках проекта Финансовая Лаборатория и предоставляется бесплатно. При распространении ссылка на автора и проект обязательны.
Исправление ошибок, доработка и развитие библиотеки осуществляется автором и сообществом проекта Финансовая Лаборатория.
Что дальше
-
Бесплатный курс Автоторговля по идеям, концепциям и процессам алгоритмической/автоматической торговли смотрите здесь >>>
-
Бесплатный курс BackTrader: Быстрый старт ждет вас здесь >>>
-
Подписывайтесь на канал "Финансовой Лаборатории здесь >>>", чтобы быть в курсе всех новинок алгоритмической и автоматической торговли.