AlexanderVolkovTCS / TinkTest

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Торговый бот на Tinkoff Invest API

Торговый бот реализующий торговлю инструментами (на данном этапе фондами и акциями), основывающий решения о покупке/продаже на основе RSI. Есть возможность добавлять/удалять инструменты, которыми ведется торговля, ограничивать количество средств, доступных боту для торговли одним инструментом. Управление ботов ведется через ввод команд в консоль. Подробнее о доступных командах ниже.

Структура проекта

Торговый бот реализован в качестве интерактивного консольного приложения, есть возможность быстрого расширения функционала в виде подключения к базе данных и графического пользовательского интерфейса. Логически приложение разделено на четыре части:

  1. Взаимодействие с пользователем Получение команд, обработка запросов и исключительных ситуаций
  2. Вычислительная По полученным данным вычисляются коэффициенты (RSI, NVI, PVI; в данной программе реализован только RSI), по ним принимаются решения о купле и продаже
  3. Соединительная Создание потоков и унарных запросов к API для получения и отправки данных, на основе принятых решений и вычисленных индексов
  4. Хранение данных Хранение истории всех сделок, компании с доступными компаниями для торговли и индексами

Установка и запуск

Установите java 11 и выше Далее откройте командную строку (в Windows от имени администратора) и перейдите в директорию с jar файлом Введите java -jar НазваниеФайла.jar (jar файл для скачивания лежит сразу над readme)

Начало работы

При запуске бота будет выведен запрос на введение токена. Токен можно сгенерировать на сайте Тинькофф инвестиции в разделе токен. Далее нужно выбрать номер аккаунта, по которому будет вестись торговля. Затем включается интерактивный режим с возможностью ввода команд. Первой введите команду help для ознакомления со всеми возможностями бота.

Доступные команды

  • help - список всех команд
  • add - Добавление инструмента. Нужно ввести FIGI инструмента, деньги, предоставляемые боту для торговли инструментом, максимальный процент просадки, после которого происходит продажа, процент прибыли, после которого бот начинает продавать инструмент
  • changeCompany - Изменение параметров для торговли (stop loss, take-profit, free money, etc...)
  • startTrade - Начать торговать инструментом. Команда add лишь добавляет инструмент в программу, для торговли используйте эту команду
  • stopTrade - Перестать торговать инструментом
  • delete - Удалить инструмент из программы
  • printSchedule - Вывести расписание бирж
  • exit - Выход из программы. Вся торговля останавливается. На данном этапе при следующем запуске программа не будет помнить торги с предыдущей сессии

    При вводе команд {figi} означает, что рядом с командой через пробел надо ввести figi интересующего вас инструмента. Рекомендуем начинать работу с фонда TMOS от Тинькофф. Торговля бумагами этого фонда осуществляется без комиссии, а лот стоит около 4 рублей. FIGI фонда BBG333333333

About


Languages

Language:Java 100.0%