docs: unify roadmap structure and sync all stages
This commit is contained in:
@@ -3,11 +3,11 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
import random
|
||||
from datetime import datetime
|
||||
|
||||
from src.core.config import load_settings
|
||||
from src.trading.auto.state import AutoTradeState
|
||||
from src.trading.strategies.base import HoldStrategy, StrategyContext
|
||||
|
||||
|
||||
class AutoTradeService:
|
||||
@@ -115,6 +115,20 @@ class AutoTradeService:
|
||||
state.risk_percent = risk_percent
|
||||
return state
|
||||
|
||||
# собрать контекст для стратегии
|
||||
def _build_strategy_context(self) -> StrategyContext:
|
||||
state = self.get_state()
|
||||
|
||||
return StrategyContext(
|
||||
symbol=state.symbol,
|
||||
status=state.status,
|
||||
risk_percent=state.risk_percent,
|
||||
)
|
||||
|
||||
# получить стратегию для текущего цикла
|
||||
def _get_strategy(self) -> HoldStrategy:
|
||||
return HoldStrategy()
|
||||
|
||||
# выполнить один цикл анализа рынка
|
||||
def run_cycle(self) -> AutoTradeState:
|
||||
state = self.get_state()
|
||||
@@ -122,7 +136,11 @@ class AutoTradeService:
|
||||
if state.status == "OFF":
|
||||
return state
|
||||
|
||||
strategy = self._get_strategy()
|
||||
context = self._build_strategy_context()
|
||||
result = strategy.analyze(context)
|
||||
|
||||
state.last_check_at = datetime.now().strftime("%H:%M:%S")
|
||||
state.last_signal = random.choice(["BUY", "SELL", "HOLD"])
|
||||
state.last_signal = result.signal.value
|
||||
|
||||
return state
|
||||
45
app/src/trading/strategies/base.py
Normal file
45
app/src/trading/strategies/base.py
Normal file
@@ -0,0 +1,45 @@
|
||||
# app/src/trading/strategies/base.py
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
from typing import Protocol
|
||||
|
||||
from src.trading.strategies.signals import SignalResult, SignalType
|
||||
|
||||
|
||||
@dataclass(slots=True)
|
||||
class StrategyContext:
|
||||
# выбранный торговый инструмент
|
||||
symbol: str
|
||||
|
||||
# текущий режим автоторговли: OBSERVING / RUNNING
|
||||
status: str
|
||||
|
||||
# риск на сделку в процентах
|
||||
risk_percent: float | None = None
|
||||
|
||||
|
||||
class BaseStrategy(Protocol):
|
||||
# техническое имя стратегии
|
||||
name: str
|
||||
|
||||
# выполнить анализ и вернуть торговый сигнал
|
||||
def analyze(self, context: StrategyContext) -> SignalResult:
|
||||
...
|
||||
|
||||
|
||||
class HoldStrategy:
|
||||
name = "HOLD"
|
||||
|
||||
# безопасная стратегия по умолчанию: ничего не делает
|
||||
def analyze(self, context: StrategyContext) -> SignalResult:
|
||||
return SignalResult(
|
||||
signal=SignalType.HOLD,
|
||||
reason="Стратегия не выбрана. Используется безопасный HOLD.",
|
||||
confidence=0.0,
|
||||
payload={
|
||||
"symbol": context.symbol,
|
||||
"status": context.status,
|
||||
},
|
||||
)
|
||||
32
app/src/trading/strategies/signals.py
Normal file
32
app/src/trading/strategies/signals.py
Normal file
@@ -0,0 +1,32 @@
|
||||
# app/src/trading/strategies/signals.py
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
from enum import StrEnum
|
||||
|
||||
|
||||
class SignalType(StrEnum):
|
||||
# купить
|
||||
BUY = "BUY"
|
||||
|
||||
# продать
|
||||
SELL = "SELL"
|
||||
|
||||
# ничего не делать
|
||||
HOLD = "HOLD"
|
||||
|
||||
|
||||
@dataclass(slots=True)
|
||||
class SignalResult:
|
||||
# итоговый сигнал стратегии
|
||||
signal: SignalType
|
||||
|
||||
# человекочитаемая причина сигнала
|
||||
reason: str
|
||||
|
||||
# уверенность стратегии от 0.0 до 1.0
|
||||
confidence: float = 0.0
|
||||
|
||||
# дополнительные данные стратегии для логов / отладки
|
||||
payload: dict | None = None
|
||||
@@ -1,122 +1,170 @@
|
||||
# Dzentra Bot — Master Roadmap
|
||||
# Master Roadmap — Dzentra Bot
|
||||
|
||||
## Stage 01 — Bootstrap
|
||||
✔ структура проекта
|
||||
✔ virtualenv
|
||||
✔ запуск приложения
|
||||
✔ базовый bootstrap
|
||||
## Цель проекта
|
||||
Создать Telegram-бота для:
|
||||
- ручной торговли;
|
||||
- мониторинга рынка;
|
||||
- автоторговли;
|
||||
- аналитики;
|
||||
- управления стратегиями.
|
||||
|
||||
---
|
||||
|
||||
## Stage 02 — System layer
|
||||
✔ экран ⚙️ Система
|
||||
✔ базовая диагностика
|
||||
✔ структура компонентов
|
||||
# Stage 01 — Bootstrap / Foundation
|
||||
✔ app bootstrap
|
||||
✔ config layer
|
||||
✔ logging
|
||||
✔ router bootstrap
|
||||
✔ DB bootstrap
|
||||
|
||||
✅ Статус: завершён
|
||||
|
||||
---
|
||||
|
||||
## Stage 03 — Exchange Integration
|
||||
# Stage 02 — System / 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 05 — Trading logic
|
||||
⏳ стратегии
|
||||
⏳ риск-менеджмент
|
||||
⏳ сигналы
|
||||
# Stage 06 — Journal / Navigation / Settings
|
||||
✔ journal UI
|
||||
✔ navigation improvements
|
||||
✔ settings screen
|
||||
✔ system info
|
||||
|
||||
✅ Статус: завершён
|
||||
|
||||
---
|
||||
|
||||
## Stage 06 — UI / Journal / Navigation
|
||||
# Stage 07 — Auto 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
|
||||
66
docs/roadmap/stage-01-bootstrap-foundation-roadmap.md
Normal file
66
docs/roadmap/stage-01-bootstrap-foundation-roadmap.md
Normal 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
|
||||
62
docs/roadmap/stage-02-system-diagnostics-roadmap.md
Normal file
62
docs/roadmap/stage-02-system-diagnostics-roadmap.md
Normal 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
|
||||
@@ -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
|
||||
@@ -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
|
||||
47
docs/roadmap/stage-04-storage-journal-roadmap.md
Normal file
47
docs/roadmap/stage-04-storage-journal-roadmap.md
Normal 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
|
||||
96
docs/roadmap/stage-05-trading-ui-draft-validation-roadmap.md
Normal file
96
docs/roadmap/stage-05-trading-ui-draft-validation-roadmap.md
Normal 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
|
||||
49
docs/roadmap/stage-06-journal-navigation-settings-roadmap.md
Normal file
49
docs/roadmap/stage-06-journal-navigation-settings-roadmap.md
Normal 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
|
||||
103
docs/roadmap/stage-07-auto-trading-roadmap.md
Normal file
103
docs/roadmap/stage-07-auto-trading-roadmap.md
Normal 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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user