Торговый бот реализующий торговлю инструментами (на данном этапе фондами и акциями), основывающий решения о покупке/продаже на основе RSI. Есть возможность добавлять/удалять инструменты, которыми ведется торговля, ограничивать количество средств, доступных боту для торговли одним инструментом. Управление ботов ведется через ввод команд в консоль. Подробнее о доступных командах ниже.
Торговый бот реализован в качестве интерактивного консольного приложения, есть возможность быстрого расширения функционала в виде подключения к базе данных и графического пользовательского интерфейса. Логически приложение разделено на четыре части:
- Взаимодействие с пользователем Получение команд, обработка запросов и исключительных ситуаций
- Вычислительная По полученным данным вычисляются коэффициенты (RSI, NVI, PVI; в данной программе реализован только RSI), по ним принимаются решения о купле и продаже
- Соединительная Создание потоков и унарных запросов к API для получения и отправки данных, на основе принятых решений и вычисленных индексов
- Хранение данных Хранение истории всех сделок, компании с доступными компаниями для торговли и индексами
Установите 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