Java trading robot for https://github.com/Tinkoff/invest-robot-contest
Проект на java 11, сборка maven. Используется фреймворк quarkus и его расширения: mutiny, quarkus-hibernate-reactive-panache, quarkus-resteasy-reactive, quarkus-vertx и др. Бд postgresql, запускается в докере. ui на vuejs, взаимодействие с бекендом как по rest так и по eventbus.
В файле настроек ./main/resources/application.properties параметр robot.token.real и токен песочницы robot.token.sandbox. Выставить флаг работы в песочнице robot.sandbox.modе желаемым образом.
docker run -it --rm=true \
--name postgres-quarkus -e POSTGRES_USER=trobot \
-e POSTGRES_PASSWORD=trobot -e POSTGRES_DB=trobot \
-p 5433:5432 postgres:14.1
./mvnw package
java -jar ./target/quarkus-app/quarkus-run.jar
Открыть в браузере: http://localhost:8081/
robot.appname
- Appname InvestApi
robot.sandbox.mode
- Режим песочницы: true/false
robot.token.sandbox
- Токен песочницы. Необязательный параметр. Можно не указывать, если работаем с реальным счетом.
robot.token.real
- Токен реального счета. Необязательный параметр. Можно не указывать, если работаем со счетом песочницы.
robot.sandbox.init.balance.usd
- Начальный баланс песочницы в долларах при пересоздании аккаунта, число double.
robot.sandbox.init.balance.rub
- Начальный баланс песочницы в рублях при пересоздании аккаунта, число double.
robot.exchange.names
- Биржи с которыми работаем. Обязательный параметр.
robot.margin.allow
- Доступна ли маржинальная торговля. boolean
robot.strategy.shares.tickers.find
- Список акций которыми будем торговать. Тикеры через запятую. Необязательный параметр, если не указывать, будет поиск по всем.
robot.strategy.shares.tickers.exclude
- Акции которые исключить из поиска. Тикеры через запятую. Необязательный параметр.
robot.strategy.shares.max.count
- Количество акций которыми будем торговать.
robot.strategy.shares.spread.percent
- Минимальный величина спреда при которой выставляем заявки. В проценте от цены акции.
robot.strategy.shares.count.one.minute
- Число акций обрабатываемых в минуту при поиске по всем акциям. Чтобы избежать превышения лимитов.
robot.strategy.shares.price.max.usd
- Торгуем акциями не дороже цены, в долларах.
robot.strategy.shares.price.max.rub
- Торгуем акциями не дороже цены, в рублях.
com.byby.trobot.strategy - классы стратегии и управления
com.byby.trobot.executor - исполнители операции с песочницей или реальным счетом
com.byby.trobot.cache
- управление кешем
com.byby.trobot.common
- глобальные константы, общие классы
com.byby.trobot.config
- конфиг, инициализация
com.byby.trobot.controller
- контроллеры
com.byby.trobot.db
- работа с бд
com.byby.trobot.service
- сервисы работы с tinkoff api
to be continued…