TKSBrokerAPI: автоматизация установки сетки ордеров
Введение
Торговля на бирже требует не только аналитического мышления, но и оперативности. Представьте, что вам нужно выставить десятки или даже сотни ордеров по разным инструментам. Немногие торговые платформы позволяют сделать такие операции «из коробки». Вручную это займёт часы, а вот с помощью сценария «Установщик сетки ордеров» на базе платформы ⚙️ TKSBrokerAPI — считаные секунды.
В этом кратком обзоре разберём, как работает этот сценарий, как его настроить и запустить, и почему он может стать вашим незаменимым помощником в торговле.
Что такое «Установщик сетки ордеров»
«Установщик сетки ордеров» — это скрипт, который позволяет автоматически выставлять сетки лимитных или стоп-ордеров с заданным шагом в процентах от указанной цены первого ордера в сетке, определённой лотностью и направления. Он работает с помощью платформы TKSBrokerAPI и поддерживает параллельное выполнение, что позволяет одновременно обрабатывать множество инструментов, заданных по их тикерам.
Основные возможности
- Параллельное выполнение. Ордера выставляются одновременно для всех инструментов, указанных в конфигурации.
- Автоматическое определение цены. Первый ордер размещается на заданном расстоянии в процентах от текущей цены, а остальные формируют сетку выше или ниже, с шагом, заданном в процентах от цены первого ордера.
- Гибкая настройка
- целевую цену для первого ордера в сетке (
target
— действительное число), значение которой указывается в процентах от текущей рыночной цены инструмента — если она больше нуля, то первый ордер будет выставлен на заданный процент выше текущей цены, если меньше нуля, то ниже текущей цены, а если равна нулю, то сетка будет строиться начиная от текущей рыночной цены; - шаг сетки (
gridStep != 0
— действительное ненулевое число) в процентах от цены первого ордера (target
) в сетке — если он больше нуля, то сетка будет строиться выше целевой цены, если меньше нуля, то ниже целевой цены; - лотность (
volume >= 1
— целое число) — объём инструмента для покупки или продажи, заданный целым количеством лотов; - направление (
direction: "Buy"
илиdirection: "Sell"
) — указание скрипту: выставить ордера в сетке на покупку или на продажу. - Возможность указать тип ордера:
- лимитный (
type: "Limit")
— заявка по ордеру выставляется в стакан цен и активна только до окончания текущей торговой сессии биржи; - стоп-ордер (
type: "Stop"
) — заявка по ордеру контролируется брокером, активна до указанной даты либо бессрочно, а при достижении цены исполнения ордера будет автоматически создана лимитная заявка.
Как это работает
Основные шаги сценария следующие.
- Получение текущих цен. Скрипт запрашивает текущую цену для каждого тикера, указанного в конфигурации.
- Выставление ордеров. В зависимости от выбранного направления и шага сетки, ордера выставляются автоматически. Первый ордер размещается на заданном расстоянии от текущей цены, а остальные формируют сетку выше или ниже него.
Скорость выставления ордеров ограничена лимитами брокера, но в среднем один ордер выставляется за ~0.25 ± 0.05
секунды (без учёта таймаутов на подключения к серверу брокера). Это делает скрипт отличным инструментом для активных трейдеров, работающих с большим количеством инструментов.
Как запустить сценарий
Конфигурация
Все параметры для сетки ордеров настраиваются в двух конфигурационных файлах: config.yaml
и secrets.yaml
. Эти файлы должны находиться рядом со скриптом, в котором реализован сценарий установщика ордеров: TKSOrdersGridSetter.py
. За что отвечают параметры конфигурации и шаги самого скрипта, подробно описано в комментариях в коде.
Требования
- Python 3.9 или выше.
- Установленные зависимости из файла requirements.txt.
- API-токен от брокера Тинькофф Инвестиции (вида
t.*****
). - Идентификатор счёта (
accountId
) — его можно узнать используя команду платформы TKSBrokerAPI:tksbrokerapi --accounts
или спросив у техподдержки брокера. - Токен и идентификатор должны быть сохранены в конфигурационном файле
secrets.yaml
.
Пошаговая инструкция
git clone https://github.com/Tim55667757/TKSBrokerAPI.git cd TKSBrokerAPI
git checkout -f develop git pull
cd ./docs/examples/OrdersGridSetter
python3 -m pip install -r requirements.txt
- Запустите скрипт (если используются дефолтные файлы конфигурации, то их можно не указывать в параметрах команды):
python3 TKSOrdersGridSetter.py config.yaml secrets.yaml
Подробности о настройках конфигурации, авторизации и описание основных методов в скрипте установщика ордеров можно найти в документации (раздел «Установщик сетки ордеров»).
Пример запуска
Если скрипт правильно сконфигурирован, то при запуске с текущими настройками вы увидите примерно следующий вывод в логах:
На примере видно, что было запущено два конвейера, в каждом обрабатывалось по одной акции. Затем по каждой акции было выставлено 5 ордеров по ценам, соответствующим заданным параметрам. Цены были рассчитаны автоматически, с учётом текущей цены инструментов.
Стоит отметить, что скрипт «Установщик сетки ордеров» на базе платформы TKSBrokerAPI — это мощный инструмент для автоматизации торговли. Он позволяет быстро и точно выставлять ордера, экономя время и минимизируя ошибки. Если вы работаете с большим количеством инструментов, этот скрипт станет вашим незаменимым помощником.
Попробуйте платформу ⚙️ TKSBrokerAPI и сделайте свою торговлю более эффективной! 🚀
На этом всё, а если у вас появились вопросы по работе платформы TKSBrokerAPI, то вы можете задать их на GitHub в разделе 👉 Issues 👈 (также подписывайтесь на блог разработчиков: t.me/TKSBrokerAPI).
Успехов вам в автоматизации биржевой торговли! И профита! 🚀 😉✌️
⚙ Ссылка на проект: github.com/Tim55667757/TKSBrokerAPI
🎁 Поддержать проект: yoomoney.ru/to/410015019068268