feat: 07.4.1 base strategy + 07.4.2 strategy registry + docs sync

This commit is contained in:
2026-04-29 23:26:46 +03:00
parent 7c8895c3a5
commit 80f29443d4
22 changed files with 961 additions and 237 deletions

View File

@@ -1,122 +1,170 @@
# Dzentra Bot — Master Roadmap
# Master Roadmap — Dzentra Bot
## Stage 01 — Bootstrap
✔ структура проекта
✔ virtualenv
✔ запуск приложения
✔ базовый bootstrap
## Цель проекта
Создать Telegram-бота для:
- ручной торговли;
- мониторинга рынка;
- автоторговли;
- аналитики;
- управления стратегиями.
---
## Stage 02System layer
экран ⚙️ Система
базовая диагностика
структура компонентов
# Stage 01Bootstrap / Foundation
app bootstrap
config layer
logging
✔ router bootstrap
✔ DB bootstrap
✅ Статус: завершён
---
## Stage 03Exchange Integration
# Stage 02System / Diagnostics
✔ system screen
✔ exchange health
✔ DB health
✔ runtime info
✔ error rendering
### 03.1
✔ mock exchange
✅ Статус: завершён
### 03.2
✔ время / timestamp
---
### 03.3
# Stage 03 — Exchange Integration
✔ mock exchange
✔ time handling
✔ exchangeInfo
валидация символа
private auth
✔ account + portfolio
✔ market live polling
⚠ websocket research / fallback polling
### 03.4
✔ private auth (HMAC, headers, timestamp)
### 03.5
✔ первый private endpoint (account)
✔ баланс
✔ экран 💼 Портфель
✔ UX улучшения
✅ Статус: завершён (fallback mode)
---
## Stage 04 — Storage / Journal (NEXT)
# Stage 04 — Storage / Journal
✔ storage foundation
✔ event log
✔ repositories
✔ UI integration
✔ journal management
### 04.1
⏳ storage foundation
### 04.2
⏳ journal / event log
### 04.3
⏳ repositories
### 04.4
⏳ UI integration
✅ Статус: завершён
---
## Stage 03.6 — Orders (после storage)
orders skeleton
⏳ dry-run режим
⏳ валидация ордеров
# Stage 05 — Trading UI / Draft / Validation
order draft flow
✔ interactive builder
✔ validation
✔ runtime mode helpers
✔ UI unification
✔ quantity normalization
✅ Статус: завершён
---
## Stage 05Trading logic
⏳ стратегии
⏳ риск-менеджмент
⏳ сигналы
# Stage 06Journal / Navigation / Settings
✔ journal UI
✔ navigation improvements
✔ settings screen
✔ system info
✅ Статус: завершён
---
## Stage 06UI / Journal / Navigation
# Stage 07Auto Trading
### 06.1
journal management UI
export CSV/XLSX
✔ system navigation redesign
## 07.1 — Skeleton UI
экран автоторговли
state machine
### 06.2
system settings navigation
product information screen
settings stubs
## 07.2 — Real settings
стратегия
риск
символ
### 06.3
retention / limits
## 07.3 — Analysis Cycle
run_cycle()
✔ mock signals
✔ live updates
### 07.3.1 — Background Runner
✔ asyncio loop
### 07.3.2 — Live Screens
✔ market
✔ portfolio
✔ journal
### 07.3.3 — Multi Live
✔ multi-screen
✔ duplicate protection
### 07.3.4 — Monitoring redesign
✔ новый экран мониторинга
### 07.3.5 — WebSocket probe
✔ ws skeleton
⚠ fallback REST polling
## 07.4 — Strategy Plugin Architecture
### 07.4.1
✔ BaseStrategy
✔ SignalResult
### 07.4.2
✔ Strategy Registry
### 07.4.3
⏳ Trend Strategy
### 07.4.4
⏳ Grid Strategy
### 07.4.5
⏳ Scalping Strategy
### 07.3.6 — Signal Engine
⏳ реальные сигналы
### 07.3.7 — Execution Engine
⏳ исполнение ордеров
### 07.3.8 — Analytics
⏳ статистика торговли
🟡 Статус: в работе
---
## Stage 07 — Auto Trading
# Stage 08 — Analytics / Reports
⏳ отчёты
⏳ pnl
⏳ winrate
⏳ drawdown
### 07.1
✔ auto trading skeleton UI
✔ state machine
✔ mock controls
### 07.2
✔ real settings
✔ strategy presets
✔ risk presets
### 07.3
✔ analysis cycle skeleton
✔ mock signals
✔ UI integration
07.3.1 auto live
07.3.2 live market/portfolio
07.3.3 multi live + ui optimization
07.3.4 menu redesign
07.3.5 websocket
07.3.6 signal engine
07.3.7 execution
07.3.8 analytics
### 07.4
⏳ strategy plugin architecture
⚪ Статус: не начат
---
## Текущий статус
# Stage 09 — Production Readiness
⏳ deployment
⏳ monitoring
⏳ alerts
⏳ backups
👉 Stage 03.5 — завершён
👉 Следующий шаг: Stage 04.1
⚪ Статус: не начат
---
## Текущий статус проекта
👉 Завершён: 07.4.1
👉 Следующий шаг: 07.4.2 Strategy Registry

View File

@@ -0,0 +1,66 @@
# Stage 01 — Bootstrap / Foundation Roadmap
## Цель
Создать базовый каркас приложения:
- запуск бота;
- конфигурация;
- логирование;
- bootstrap архитектура.
---
## 01.1 — App bootstrap
✔ структура проекта
✔ main.py
✔ app_factory.py
✔ create_app()
### Результат
✔ приложение запускается через единую точку входа
---
## 01.2 — Config layer
✔ .env подключение
✔ dataclass Settings
✔ load_settings()
✔ bool/int parsers
### Результат
✔ централизованная конфигурация
---
## 01.3 — Logging
✔ setup_logging()
✔ уровни логов
✔ startup logs
### Результат
✔ логирование запуска и ошибок
---
## 01.4 — Router bootstrap
✔ Dispatcher init
✔ setup_routers()
✔ подключение handlers
### Результат
✔ Telegram handlers подключаются централизованно
---
## 01.5 — DB bootstrap
✔ init_schema()
✔ проверка запуска БД
### Результат
✔ база подготавливается при старте
---
## Текущий статус
👉 Stage 01 завершён
👉 Следующий шаг: Stage 02

View File

@@ -0,0 +1,62 @@
# Stage 02 — System / Diagnostics Roadmap
## Цель
Добавить системный слой:
- статус приложения;
- health checks;
- diagnostics UI.
---
## 02.1 — System screen
✔ экран ⚙️ Система
✔ базовая навигация
### Результат
✔ доступ к системной информации
---
## 02.2 — Exchange health
✔ public API health
✔ private API health
✔ status rendering
### Результат
✔ диагностика подключения к бирже
---
## 02.3 — DB health
✔ проверка БД
✔ вывод статуса
### Результат
✔ диагностика базы данных
---
## 02.4 — Runtime info
✔ env
✔ mode
✔ symbol
✔ exchange name
### Результат
✔ отображение runtime параметров
---
## 02.5 — Error rendering
✔ единый UI ошибок
✔ retry actions
### Результат
✔ пользователь видит понятные ошибки
---
## Текущий статус
👉 Stage 02 завершён
👉 Следующий шаг: Stage 03

View File

@@ -4,7 +4,8 @@
Интеграция с биржей:
- public API
- private API
- базовый UI
- WebSocket / fallback polling
- UI мониторинга
---
@@ -12,12 +13,18 @@
✔ имитация данных
✔ структура клиента
### Результат
✔ бот может работать без реальной биржи
---
## 03.2 — Time handling
✔ обработка timestamp
✔ локализация времени
### Результат
✔ корректное локальное время
---
## 03.3 — exchangeInfo
@@ -25,6 +32,9 @@
✔ валидация символа
✔ защита от ошибок API
### Результат
✔ бот знает доступные инструменты
---
## 03.4 — Private auth
@@ -34,6 +44,9 @@
✔ headers
✔ timestamp
### Результат
✔ доступ к private API
---
## 03.5 — Account + Portfolio
@@ -48,28 +61,34 @@
✔ скрытие нулевых балансов
✔ группировка активов
---
## Результат Stage 03
✔ бот умеет:
- получать цену
- валидировать символ
- работать с private API
- получать баланс
- отображать портфель
### Результат
✔ баланс отображается
---
## Ограничения
- нет ордеров
- нет хранения
- нет журнала
- нет стратегии
## 03.6 — Orders
⏳ orders skeleton
⏳ dry-run режим
⏳ валидация ордеров
---
## Следующий шаг
## 03.7 — Market live
✔ live экран 📈 Рынок
✔ polling обновление
✔ multi-screen support
➡ Stage 04 — Storage / Journal
---
## 03.8 — WebSocket
⚠️ исследование API Dzengi
⚠️ найден websocket swagger
⚠️ endpoint не подтверждён
✔ fallback на REST polling
---
## Текущий статус
👉 Завершён: 03.8 (fallback mode)
👉 Следующий шаг: 03.6 Orders

View File

@@ -1,72 +0,0 @@
# Stage 04 — Storage / Journal Roadmap
## Цель
Добавить слой хранения и журналирования.
---
## 04.1 — Storage foundation
Цель:
- подключить БД
- создать базовые модели
Что добавить:
- storage/session.py
- storage/schema.py
- SQLite
Сущности:
- BalanceSnapshot
- JournalEvent
- OrderDraft
---
## 04.2 — Journal / event log
Цель:
- логировать действия бота
Что логировать:
- ошибки API
- запросы
- события системы
---
## 04.3 — Repositories
Цель:
- хранить данные
Добавить:
- repository balance
- repository orders
- repository journal
---
## 04.4 — UI integration
Цель:
- показать storage в интерфейсе
Добавить:
- статус БД в ⚙️ Система
- последние события
- snapshot баланса
---
## Результат Stage 04
✔ данные сохраняются
✔ есть история
✔ есть журнал
---
## Следующий шаг
➡ Stage 03.6 — Orders skeleton

View File

@@ -0,0 +1,47 @@
# Stage 04 — Storage / Journal Roadmap
## Цель
Добавить слой хранения и журналирования.
---
## 04.1 — Storage foundation
✔ подключение БД
✔ schema init
✔ базовые модели
---
## 04.2 — Journal / event log
✔ логирование действий бота
✔ ошибки API
✔ системные события
---
## 04.3 — Repositories
✔ repository balance
✔ repository orders
✔ repository journal
---
## 04.4 — UI integration
✔ статус БД в ⚙️ Система
✔ последние события
✔ snapshot баланса
---
## 04.5 — Journal management
✔ экран 📒 Журнал
✔ пагинация
✔ очистка
✔ экспорт CSV/XLSX
---
## Текущий статус
👉 Stage 04 завершён
👉 Следующий шаг: Stage 05

View File

@@ -0,0 +1,96 @@
# Stage 05 — Trading UI / Draft / Validation Roadmap
## Цель
Реализовать торговый UI:
- draft orders;
- validation;
- runtime modes;
- unified trading UX.
---
## 05.1 — Order Draft Flow
✔ создание draft order
✔ preview before execution
### Результат
✔ ордер проходит через черновик
---
## 05.2 — Interactive Draft Builder
✔ интерактивное редактирование
✔ изменение параметров
### Результат
✔ пользователь может собрать ордер пошагово
---
## 05.3 — Order Validation
✔ валидация symbol
✔ валидация qty
✔ валидация price
### Результат
✔ защита от некорректных ордеров
---
## 05.4 — Runtime Mode Helpers
✔ demo helpers
✔ prod helpers
✔ mode labels
### Результат
✔ разделение DEMO / PROD
---
## 05.5 — Trade UI Unification
✔ унификация экранов торговли
✔ единый стиль
### Результат
✔ консистентный UX
---
## 05.6 — Draft Logic Improvements
✔ улучшение бизнес-логики draft
### Результат
✔ меньше ошибок при подготовке ордера
---
## 05.7 — Draft UI Restructuring
✔ переработка UI черновика
### Результат
✔ более удобный экран
---
## 05.8 — Quantity Normalization
✔ округление qty
✔ step_size support
### Результат
✔ корректный объём ордера
---
## 05.9 — Trading UI Milestone
✔ milestone фиксация
✔ стабилизация интерфейса
### Результат
✔ Stage 05 завершён
---
## Текущий статус
👉 Stage 05 завершён
👉 Следующий шаг: Stage 06

View File

@@ -0,0 +1,49 @@
# Stage 06 — Journal / Navigation / Settings Roadmap
## Цель
Добавить журналирование и системную навигацию.
---
## 06.1 — Journal UI
✔ экран 📒 Журнал
✔ пагинация
✔ export CSV/XLSX
✔ очистка журнала
### Результат
✔ управление журналом через UI
---
## 06.2 — Navigation improvements
✔ переходы между экранами
✔ system navigation
### Результат
✔ улучшенная навигация
---
## 06.3 — System Settings
✔ экран настроек
✔ runtime параметры
### Результат
✔ просмотр текущих настроек
---
## 06.4 — System Info
✔ информация о системе
✔ environment info
### Результат
✔ диагностика приложения
---
## Текущий статус
👉 Stage 06 завершён
👉 Следующий шаг: Stage 07

View File

@@ -0,0 +1,103 @@
# Stage 07 — Auto Trading Roadmap
## Цель
Добавить автоторговлю.
---
## 07.1 — Skeleton UI
✔ экран автоторговли
✔ state machine
✔ mock controls
---
## 07.2 — Real settings
✔ стратегия
✔ риск
✔ символ
✔ presets UI
---
## 07.3 — Analysis Cycle Skeleton
✔ run_cycle()
✔ last_check_at
✔ last_signal
✔ mock signals
✔ UI integration
---
## 07.3.1 — Background Runner
✔ asyncio runner
✔ auto-refresh screen
✔ active screen guard
---
## 07.3.2 — Live Screens
✔ live market
✔ live portfolio
✔ live journal
---
## 07.3.3 — Multi Live
✔ multi-screen update
✔ duplicate protection
---
## 07.3.4 — Menu redesign
✔ новый экран Мониторинг
✔ переработанная навигация
---
## 07.3.5 — WebSocket probe
✔ websocket client skeleton
✔ reconnect logs
✔ fallback REST polling
---
## 07.3.6 — Signal Engine
⏳ реальные сигналы
---
## 07.3.7 — Execution Engine
⏳ исполнение ордеров
---
## 07.3.8 — Analytics
⏳ статистика торговли
---
## 07.4 — Архитектура стратегий
### 07.4.1
✔ BaseStrategy
✔ SignalResult
### 07.4.2
✔ registry стратегий
### 07.4.3
⏳ Trend strategy
### 07.4.4
⏳ Grid strategy
### 07.4.5
⏳ Scalping strategy
---
## Текущий статус
👉 Завершён: 07.4.1
👉 Следующий шаг: 07.4.2

View File

@@ -1,57 +0,0 @@
# Stage 07 — Auto Trading Roadmap
## Цель
Добавить автоторговлю.
---
## 07.1 — Skeleton UI
✔ экран автоторговли
✔ state machine
✔ mock controls
---
## 07.2 — Real settings
✔ стратегия
✔ риск
✔ символ
✔ presets UI
---
## 07.3 — Analysis Cycle Skeleton
✔ run_cycle()
✔ last_check_at
✔ last_signal
✔ mock signals
✔ UI integration
---
## 07.3.1 — Background Runner
✔ asyncio runner
✔ auto-refresh screen
✔ single live auto screen
✔ active screen guard
---
## 07.3.2 — Live Screens
⏳ live market screen
⏳ live portfolio screen
⏳ live journal screen
---
## 07.4 — Strategy plugins
⏳ plugin architecture
⏳ strategy registry
⏳ signal execution