Функциональные требования 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/паролю.