Добрый день!
Требования к кандидату:
1. Знаешь что такое Spring Boot и работал с ним
2. Готов разобраться в документации биржи bybit :)
3. Если ты вообще не писал на java, но есть желание разобраться, то тоже можем обсудить (сроки выполнения можно будет увеличить)
Требования к проекту:
1. Java не ниже 17, можешь использовать хоть самую последнюю версию
2. Реализовать функционал используя Spring Boot
3. Сборщик Maven
4. Открытый исходный код, билдить jar не придется, на сервере ничего раскатывать тоже :)
5. Можешь оставлять комментарии в коде, можно на русском, но обязательно над каждой ручкой с запросом оставь комментарий с ссылкой на доку по которой сделана ручка
6. Если будешь использовать GPT, то смотри за чистотой кода, если нужно, то могу посоветовать бесплатную нейронку прям в IntelliJ IDEA
Если будут вопросы технического характера, то можешь писать мне, попробуем разобраться вместе или придумаем другое решение.
Описание задачи:
Документация
Сервисы и методы которые нужно реализовать
Текстовое описание интеграции с ФЬЮЧЕРСАМИ bybit:
1. Получение режима позиции (бывает односторонняя и хеджирование)
2. Установка режима позиции
3. Получение кредитного плеча
4. Изменение кредитного плеча
5. Получение баланса фьючерсного счета
6. Получение книги заказов (размещенные другими участниками рынка ордера на покупку и продажу).
Эту ручку тебе нужно будет немного доработать добавив следующую настройку:
1. Необязательный параметр.
Установка шага цены, к примеру 0.1, 1, 10 и т.д. Это означает что надо собрать полученные объемы
ордеров по этому шагу цены, пример:
2. Посмотри есть ли уже такой функционал в api bybit, возможно можно будет обойтись им
7. Создание лимитного, маркетного и условного ордера + одновременное выставление тейк профита и / или стоп лосса (оба параметра не обязательны)
8. Изменение у открытого ордера значений стоп лосс и тейк профита
9. Пакетное размещение ордеров (передача нескольких ордеров одним запросом)
10. Отмена ранее созданного ордера
11. Пакетная отмена ранее созданных ордеров
12. Получение всех открытых ордеров
13. Отмена всех открытых ордеров
14. Получение информации по открытой позиции
Получение данных по сокету:
1. Обязательно поддержание коннекта по сокету
2. Получение рыночных данных по паре (текущая цена и т.д.)
3. Получение информации об изменение позиции (текущий pnl и т.д.)
4. Отписка от получения данных
Для каждого сервиса напиши свой main в котором будут рабочие примеры работы с каждой ручкой из сервисов чтобы можно было проверить работает ли функционал.
Обязательно ознакомься с ОГРАНИЧЕНИЯМИ СКОРОСТИ:
Бизнес логики тут почти нет, в документации имеются примеры на java, также на GitHub в официальной библиотеке тоже есть примеры в тестовой папке, тебе остается только правильно все собрать и настроить интеграцию.