Оптимизация Бота для Арбитража на OKX need Software Development
Contact person: Оптимизация Бота для Арбитража на OKX
Phone:Show
Email:Show
Location: Odesa, Ukraine
Budget: Recommended by industry experts
Time to start: As soon as possible
Project description:
"Техническое задание: Модернизация бота для OKX спот-фьючерс арбитража
1. Название проекта: Разработка и модернизация асинхронного бота для мониторинга и исполнения кэрри-трейда (спот-фьючерс арбитража) на бирже OKX.
2. Исходные материалы:
* Предоставленный код (см. выше) является рабочей основой. Он реализует мониторинг спреда между спот- и фьючерсными ценами в реальном времени с помощью [login to view URL] и отображает информацию через интерфейс rich.
3. Цель задачи: Не просто исправить код, а значительно улучшить его, превратив из инструмента для тестирования идей в полноценного торгового бота с расширенной функциональностью, улучшенной надежностью и управлением рисками.
4. Основные задачи:
Задача 1: Рефакторинг и улучшение архитектуры (Обязательно)
* Разделить монолитный код на логические модули (например:
arbitrage_bot
│── [login to view URL] # точка входа
│── [login to view URL] # работа с API биржи OKX
│── [login to view URL] # логика поиска арбитража
│── [login to view URL] # открытие/закрытие сделок
│── [login to view URL] # вспомогательные функции (цвета, форматирование и т.д.)
│── [login to view URL] # ключи, настройки
│── [login to view URL] # красивый вывод интерфейса
* Вынести все константы OKX_FEE, ENTRY_SPREAD_THRESHOLD и т.д.) в отдельный файл конфигурации [login to view URL]).
* Добавить подробное логирование всех критических действий (подключение, отключение, ошибки, вход в сделку, выход из сделки) в файл и в консоль с разными уровнями DEBUG, INFO, ERROR).
Задача 2: Реализация механизма исполнения сделок (Обязательно)
* Текущий код только симулирует PnL. Необходимо интегрировать реальные вызовы API OKX для создания ордеров.
* Добавить модуль [login to view URL] с функциями:
* create_order(symbol, market, side, amount: Размещение рыночного ордерa.
* get_balance(currency): Получение актуального баланса по валюте.
* get_open_orders(symbol): Проверка активных ордеров.
* cancel_order(symbol, order_id): Отмена ордера.
* Логика входа в сделку: При достижении ENTRY_SPREAD_THRESHOLD бот должен выставлять пару ордеров:
1. Лимитный ордер на покупку спота BTC/USDT).
2. Лимитный ордер на продажу фьючерса BTC-USDT-SWAP).
* Логика выхода из сделки: При достижении EXIT_SPREAD_THRESHOLD бот должен выставить ордера на закрытие позиции (продать спот, купить фьючерс).
Задача 3: Внедрение системы управления рисками (Обязательно)
Реализовать механизм "проверки связи" (heartbeat) для WebSocket. При длительном отсутствии обновлений перезапускать подключение и перепроверять актуальность всех открытых позиций.
Проверка наличия ордеров на бирже при запуске, "подтягивание" уже существующих ордеров на бирже
При закрытии бота автоматическое закрытие всех ордеров / ожидание закрытия сделок и закрытие после этого
Задача 4: Улучшение пользовательского интерфейса и отчетности
* Реализовать вывод итоговой статистики за сессию: количество сделок, Win Rate, общий PnL, макс. просадка.
* Добавить интерактивные элементы управления (например, "Пауза", "Экстренная остановка и закрытие всех позиций" с помощью горячих клавиш, "Подождать закрытия сделок и после этого закрыть бота").
Задача 5: Дополнительные улучшения (Опционально, по согласованию)
* Бэктестинг: Создать скрипт для тестирования стратегии на исторических данных.
* Уведомления: Интеграция с Telegram Bot API для отправки оповещений о входе/выходе из сделок и критических ошибках.
* Динамическое управление размером позиции: Размер позиции должен вычисляться от текущего общего баланса, а не от начального.
* Мультибиржевой арбитраж: Добавить поддержку других бирж (например, Binance, Bybit) для межбиржевого арбитража.
5. Требования к технологии:
* Язык: Python 3.10+
* Библиотеки: [login to view URL], rich, aiohttp, asyncio, pydantic (для валидации конфигурации).
* Стиль кода: Код должен соответствовать PEP8. Использовать аннотации типов (type hints). Настроить black и isort для автоматического форматирования.
6. Критерии приемки:
1. Работоспособность: Бот запускается без ошибок, успешно подключается к OKX и подписывается на тикеры, и выполнять описанный в ТЗ алгоритм.
2. Исполнение ордеров: Бот может размещать и отменять реальные ордера на тестовой сети OKX (Demo Trading), а также уметь переключаться на реальное API и работать "в боевом режиме" с реальными деньгами на реальной среде).
3. Управление рисками: Oбработка ошибок/задержек API.
4. Логирование: Все ключевые события записываются в файл лога.
5. Кодкачество: Код хорошо структурирован, прокомментирован и готов к дальнейшему развитию.
7. Что предоставить по завершению:
1. Исходный код в репозитории Git (GitHub/GitLab).
2. [login to view URL] с инструкцией по установке зависимостей, настройке и запуску.
3. [login to view URL] или [login to view URL] со всеми зависимостями.
4. Пример файла конфигурации .[login to view URL] или [login to view URL]).
5. Краткий отчет о проведенной работе и тестировании.
---
Примечание для фрилансера: Пожалуйста, ознакомьтесь с исходным кодом и предоставьте оценку по времени и стоимости выполнения как обязательных, так и опциональных задач. Ваше предложение по архитектурным решениям приветствуется." (client-provided description)
Matched companies (7)

eShop Genius

Crystal Infoway

SYNERGIC SOFTEK SOLUTIONS PVT LTD

Appsdiary Technologies

Omninos Technologies International pvt ltd

El Codamics
