From 51659037bbe34b8747635af103f504ece7e62406 Mon Sep 17 00:00:00 2001 From: Sergey Date: Wed, 29 Apr 2026 13:14:42 +0300 Subject: [PATCH] Docs: add missing Stage 07.3.2 and update roadmap --- ...i-live-screens-for-market-and-portfolio.md | 28 +++ docs/roadmap/master-roadmap.md | 10 +- ...2-live-screens-for-market-and-portfolio.md | 20 +++ ...-multi-live-screens-and-ui-optimization.md | 169 ++++++++++++++++++ 4 files changed, 225 insertions(+), 2 deletions(-) create mode 100644 docs/decisions/0019-multi-live-screens-for-market-and-portfolio.md create mode 100644 docs/stages/stage-07_3_2-live-screens-for-market-and-portfolio.md create mode 100644 docs/stages/stage-07_3_3-multi-live-screens-and-ui-optimization.md diff --git a/docs/decisions/0019-multi-live-screens-for-market-and-portfolio.md b/docs/decisions/0019-multi-live-screens-for-market-and-portfolio.md new file mode 100644 index 0000000..60a0cd5 --- /dev/null +++ b/docs/decisions/0019-multi-live-screens-for-market-and-portfolio.md @@ -0,0 +1,28 @@ +# 0019 — Multi Live Screens for Market and Portfolio + +## Решение + +Разрешить одновременное обновление нескольких live-экранов для рынка и портфеля. + +## Причины + +Бот используется одним пользователем, поэтому нагрузка от нескольких live-сообщений допустима. + +Пользователь может открыть несколько экранов: + +- 📈 Рынок; +- 💼 Портфель; +- несколько экземпляров одного live-раздела. + +Все открытые live-сообщения должны оставаться актуальными. + +## Последствия + +- `LiveScreenRunner` хранит список сообщений для каждого типа экрана; +- обновляются все зарегистрированные live-сообщения; +- старые недоступные сообщения автоматически исключаются при ошибке обновления; +- архитектура готова к будущим live-экранам. + +## Ограничения + +📒 Журнал не переводится в live-режим, потому что live-обновление может мешать чтению истории и пагинации. diff --git a/docs/roadmap/master-roadmap.md b/docs/roadmap/master-roadmap.md index cba790a..dd1a53f 100644 --- a/docs/roadmap/master-roadmap.md +++ b/docs/roadmap/master-roadmap.md @@ -102,8 +102,14 @@ ✔ mock signals ✔ UI integration -### 07.3.1 -⏳ asyncio background loop +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 diff --git a/docs/stages/stage-07_3_2-live-screens-for-market-and-portfolio.md b/docs/stages/stage-07_3_2-live-screens-for-market-and-portfolio.md new file mode 100644 index 0000000..5c37249 --- /dev/null +++ b/docs/stages/stage-07_3_2-live-screens-for-market-and-portfolio.md @@ -0,0 +1,20 @@ +# Stage 07.3.2 — Live Screens for Market / Portfolio + +## Done + +✔ live market screen +✔ live portfolio screen +✖ live journal screen (cancelled) + +## Added + +- LiveScreenRunner +- LiveScreen model +- automatic refresh loop +- delete previous live screen before opening new one +- independent refresh intervals + +## Notes + +This stage introduced reusable live screen architecture +for future monitoring dashboards. \ No newline at end of file diff --git a/docs/stages/stage-07_3_3-multi-live-screens-and-ui-optimization.md b/docs/stages/stage-07_3_3-multi-live-screens-and-ui-optimization.md new file mode 100644 index 0000000..8da2917 --- /dev/null +++ b/docs/stages/stage-07_3_3-multi-live-screens-and-ui-optimization.md @@ -0,0 +1,169 @@ +# Stage 07.3.3 — Multi Live Screens and UI Optimization + +## Что сделано + +Реализована оптимизация live-экранов и подготовлена архитектура для одновременного обновления нескольких live-сообщений. + +--- + +## 1. Multi LiveScreenRunner + +`LiveScreenRunner` переработан с модели: + +```text +один screen → одно сообщение +``` + +на модель: + +```text +один screen → несколько live-сообщений +``` + +Теперь одновременно могут обновляться несколько открытых live-экранов одного типа. + +Например: + +- несколько экранов 📈 Рынок; +- несколько экранов 💼 Портфель; +- рынок и портфель одновременно. + +--- + +## 2. Live Market UI + +Экран 📈 Рынок упрощён до компактного ticker-формата. + +Теперь экран показывает: + +- инструмент; +- тип рынка; +- текущую цену; +- направление цены; +- время обновления. + +Пример: + +```text +📈 Рынок +🔶 DEMO аккаунт + +BTC / USD (leverage) + +💵 $ 77 024.70 ▲ + +Обновлено: 12:00:18 +``` + +--- + +## 3. Price direction + +Добавлено сохранение предыдущей цены. + +На экране отображается направление: + +```text +▲ цена выросла +▼ цена снизилась +``` + +Если цена не изменилась, сохраняется последнее известное направление. + +--- + +## 4. Live Portfolio UI + +Экран 💼 Портфель упрощён до компактного portfolio-widget. + +Теперь экран показывает: + +- общую оценку портфеля; +- fiat-активы; +- crypto-активы; +- оценку crypto в USD; +- время обновления. + +Пример: + +```text +💼 Портфель +🔶 DEMO аккаунт + +Оценка: ~$ 78 006.78 + +USD: 1 000.38 + +BTC: 1.00 ≈ $ 77 006.40 + +Обновлено: 11:50:24 +``` + +--- + +## 5. Fiat / crypto formatting + +Добавлено разное форматирование активов: + +### Fiat + +Для fiat-активов всегда используется 2 знака после запятой: + +```text +USD: 1 000.38 +USDT: 10 500.00 +``` + +### Crypto + +Для crypto-активов: + +- если хвост нулевой — показывается 2 знака; +- если есть значимые знаки дальше — показываются все значимые знаки. + +Примеры: + +```text +BTC: 1.00 +BTC: 1.000005 +ETH: 0.12345678 +``` + +--- + +## 6. Visual spacing + +Добавлены отступы: + +- между общей оценкой и списком активов; +- между fiat и crypto блоками. + +Это улучшило читаемость портфеля. + +--- + +## 7. Journal remains static + +Решено не делать 📒 Журнал live-экраном. + +Причины: + +- live-обновление мешает читать историю; +- может сбивать пагинацию; +- журнал удобнее обновлять вручную через открытие / пагинацию. + +--- + +## Commit + +```bash +git add . +git commit -m "Stage 07.3.3: multi live screens and UI optimization" +git push +``` + +--- + +## Следующий этап + +Stage 07.3.4 — Main menu redesign + Monitoring section