Функциональные требования 2.0 - shoumq/bybit_scalp GitHub Wiki
1.0. Введение 1.1. Назначение документа Данный документ описывает функциональные и нефункциональные требования к проекту «Скальпинг-бот для прогнозирования цен на криптовалюты». Требования разработаны в соответствии со стандартом IEEE 830-1998.
1.2. Описание Проект представляет собой автоматизированного торгового бота, предназначенного для анализа рыночных данных, прогнозирования цен и выполнения скальпинг-сделок на криптовалютной бирже (например, Bybit). Основное назначение — быстрая реакция на краткосрочные изменения цены и извлечение прибыли с минимальными рисками.
1.3. Основные цели проекта Автоматизировать процесс скальпинга на крипторынке;
Прогнозировать краткосрочные изменения цен с использованием алгоритмов;
Обеспечить удобный интерфейс мониторинга и управления ботом;
Предоставить аналитику о работе бота и доходности;
Гарантировать безопасность и стабильность торговли.
1.4. Определения и сокращения API — программный интерфейс для взаимодействия с биржей.
WebSocket — протокол для получения потока рыночных данных в реальном времени.
TP/SL — Take Profit / Stop Loss.
UI — пользовательский интерфейс.
RSI, EMA — технические индикаторы.
2.0. Общее описание 2.1. Основной функционал системы Авторизация и настройка API-ключей;
Подключение к бирже и сбор рыночных данных;
Выбор и настройка торговой стратегии (например, EMA-кроссовер, RSI);
Прогнозирование цены на основе технических индикаторов и/или ML-модели;
Автоматическое размещение ордеров (market/limit);
Логирование всех действий и ведение отчётности;
Отображение текущих позиций, прибыли/убытка и истории сделок;
Настройка TP/SL, максимального риска, суммы позиции;
Симулятор торговли (backtest/песочница);
Уведомления об ошибках и выполненных сделках.
2.2. Пользовательские характеристики Проект рассчитан на криптотрейдеров, разработчиков, аналитиков и автоматизаторов торговли. Пользователь должен обладать базовыми знаниями о биржах, API и криптовалютах.
2.3. Ограничения Требуется стабильное подключение к интернету;
Работа возможна только с поддерживаемыми биржами (начально — Bybit);
Не является финансовым советником.
3.0. Функциональные требования 3.1. Основные элементы интерфейса Хедер:
Логотип, название проекта;
Навигация: "Мониторинг", "Стратегии", "Настройки", "Логи", "Выход".
Сайдбар:
Статус соединения с биржей;
Баланс аккаунта;
Быстрое включение/остановка бота;
Быстрые настройки риска и лимитов.
Основной блок:
График в реальном времени;
Таблица открытых ордеров;
История сделок;
Лог действий и ошибок.
Футер:
Контакты;
Ссылки на документацию, GitHub;
Версия сборки.
3.2. Авторизация и подключение к бирже Ввод API-ключа и API-секрета;
Проверка соединения и прав доступа;
Сохранение зашифрованных ключей локально;
Индикация состояния подключения (ON/OFF).
3.3. Подключение и получение данных с биржи REST-запросы: балансы, позиции, ордера;
WebSocket: поток данных по стакану, ценам, сделкам;
Обработка reconnection и heartbeat сигналов.
3.4. Настройка и запуск торговой стратегии Выбор доступной стратегии (EMA, RSI, ML-модель);
Задание параметров: окно скользящих средних, уровни RSI, объёмы;
Возможность загрузки кастомной стратегии (например, через Python или YAML);
Возможность сохранения и повторного использования конфигураций.
3.5. Исполнение ордеров Установка параметров TP, SL, трейлинг-стопов;
Выбор типа ордера (market, limit, conditional);
Проверка баланса и маржи перед размещением;
Контроль открытых позиций, управление усреднением.
3.6. Модуль логирования и аналитики Ведение логов всех действий и ошибок;
Графики: прибыль/убыток, волатильность, точность входов;
Экспорт логов в CSV;
Метрики эффективности стратегии.
3.7. Безопасность Хранение API-ключей в зашифрованном виде (например, AES);
Автоматическая блокировка торговли при ошибке подключения;
Ограничение прав в UI по ролям;
Лимит потерь в день.
3.8. Уведомления и контроль Настройка Telegram/Email-уведомлений;
Отправка отчётов о торговле (раз в день/час);
Уведомления об ошибках, сбоев, достижении лимита убытков.
4.0. Нефункциональные требования 4.1. Производительность Время отклика не более 2 секунд;
Поддержка 50+ торговых пар;
Обработка 100+ ордеров/мин без задержек.
4.2. Надёжность Работа в режиме 24/7;
Обработка ошибок сети, восстановление WebSocket;
Автоматическая перезапуск при падении.
4.3. Интерфейс Минималистичный, в стиле трейдерских терминалов;
Поддержка тёмной темы;
Отображение всех критичных параметров в одной панели;
Адаптация под мобильные экраны (опционально).
4.4. Безопасность Шифрование конфиденциальных данных;
Защита от DoS при многократных запросах;
Ограничение доступа по IP/паролю.