42 lines
5.8 KiB
Markdown
42 lines
5.8 KiB
Markdown
# QuikPy
|
||
Библиотека-обертка, которая позволяет получить доступ к функционалу QUIK на основе [Документации по языку LUA в QUIK](https://arqatech.com/ru/support/files/) из Python. В качестве коннектора используются lua-скрипты [проекта QUIKSharp](https://github.com/finsight/QUIKSharp).
|
||
|
||
### Для чего нужна
|
||
С помощью этой библиотеки можно создавать автоматические торговые системы любой сложности на Python для QUIK. Также библиотека может быть использована для написания дополнений на Python к системам Технического Анализа. Например, для тестирования и автоматической торговли в [BackTrader](https://www.backtrader.com/).
|
||
|
||
### Установка коннектора
|
||
1. Скопируйте папку **QUIK\lua** в папку установки QUIK. В ней находятся скрипты LUA.
|
||
2. Скопируйте папку **QUIK\socket** в папку установки QUIK.
|
||
3. Запустите QUIK. Из меню **Сервисы** выберите **Lua скрипты**. Нажмите кнопку **Добавить**. Выберете скрипт **QuikSharp.lua** Нажмите кнопку **OK**. Выделите скрипт из списка. Нажмите кнопку **Запустить**.
|
||
|
||
Скрипт должен запуститься без ошибок, в окне сообщений QUIK выдать **QUIK# is waiting for client connection...**
|
||
|
||
### Возможные ошибки
|
||
1. Если возникают ошибки, связанные с **core.dll**, то все варианты этой библиотеки выложены в проекте QUIKSharp [здесь >>>](https://github.com/finsight/QUIKSharp/tree/master/src/QuikSharp/lua/clibs64) Путем перебора подбираете подходящую для вас версию core.dll
|
||
2. Если возникают ошибки при исполнении LUA скриптов, то, возможно, были обновления в QUIK или LUA. Последняя версия LUA скриптов находится [здесь >>>](https://github.com/finsight/QUIKSharp/tree/master/src/QuikSharp/lua) Они не учитывают мои специфические правки, но должны работать без ошибок с последней версией QUIK.
|
||
|
||
### Начало работы
|
||
В папке **Examples** находится хорошо документированный код примеров. С них лучше начать разбираться с библиотекой.
|
||
|
||
1. **Connect.py** - Подключение к терминалу QUIK. Singleton класс коннектора. Проверка соединения. Сервисные функции. Пользовательские обработчики событий. Просмотр изменений состояния соединения терминала QUIK с сервером брокера. Просмотр изменений параметров.
|
||
[Видео разбора кода >>>](https://finlab.vip/connectpy/)
|
||
2. **Accounts.py** - Список всех торговых счетов с лимитами, позициями, заявками и стоп заявками. Аналогично для заданного торгового счета.
|
||
3. **Ticker.py** - Информация о тикере
|
||
4. **Bars.py** - Получение свечек в файл. [Видео разбора кода >>>](https://finlab.vip/barspy/) [Видеоразбор удаления дожи 4-х цен >>>](https://finlab.vip/fourpricedoji/) [Видеоразбор удаления баров первого/последнего дня >>>](https://finlab.vip/skipdates/)
|
||
5. **Stream.py** - Подписки на получение стакана, обезличенные сделки, новые свечки. [Видео разбора кода >>>](https://finlab.vip/streampy/)
|
||
6. **Transactions.py** - Выставление новой лимитной/рыночной заявки, стоп заявки, отмена заявки.
|
||
|
||
### Авторство, право использования, развитие
|
||
Автор данной библиотеки Чечет Игорь Александрович.
|
||
|
||
Библиотека написана в рамках проекта [Финансовая Лаборатория](https://finlab.vip/) и предоставляется бесплатно. При распространении ссылка на автора и проект обязательны.
|
||
|
||
Исправление ошибок, доработка и развитие библиотеки осуществляется автором и сообществом проекта [Финансовая Лаборатория](https://finlab.vip/).
|
||
### Что дальше
|
||
- Бесплатный курс "Автоторговля" по идеям, концепциям и процессам алгоритмической/автоматической торговли [смотрите здесь >>>](https://finlab.vip/wpm-category/autotrading2021/)
|
||
|
||
|
||
- Бесплатный курс "BackTrader: Быстрый старт" [ждет вас здесь >>>](https://finlab.vip/wpm-category/btquikstart/)
|
||
|
||
|
||
- [Подписывайтесь на Telegram канал "Финансовой Лаборатории",](https://t.me/finlabvip) чтобы быть в курсе всех новинок алгоритмической и автоматической торговли. |