Stage 07.3.1 - auto trading background runner and live screen

This commit is contained in:
2026-04-28 22:29:26 +03:00
parent d639137855
commit b2801d8a19
11 changed files with 368 additions and 19 deletions

View File

@@ -0,0 +1,22 @@
# 0018 — Single Live Auto Trading Screen
## Решение
Для автоторговли используется только один активный live-экран.
## Причины
Telegram не умеет перемещать старое сообщение вниз.
Чтобы имитировать такое поведение:
- старый live-экран удаляется;
- новый создаётся внизу;
- runner регистрирует новый message_id.
## Последствия
- нет дублей live-экранов;
- автообновление всегда идёт в актуальный экран;
- снижается риск Telegram rate limit;
- UX выглядит как единый живой dashboard.

View File

@@ -33,10 +33,20 @@
---
## 07.3.1 — Background loop
## 07.3.1 — Background Runner
asyncio loop
⏳ live cycle
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
---

View File

@@ -0,0 +1,87 @@
# Stage 07.3.1 — Auto Trading Background Runner
## Что сделано
Реализован live-runner для автоторговли.
## 1. Background runner
Добавлен файл:
```text
src/trading/auto/runner.py
```
Runner отвечает за:
- background loop;
- автообновление Telegram-экрана;
- хранение live message;
- удаление старого live-экрана;
- контроль активного экрана.
## 2. Live auto screen
Экран 🤖 Автоторговля стал live-экраном.
При активном режиме:
- RUNNING
- OBSERVING
экран обновляется каждые 5 секунд.
## 3. Auto-refresh UI
На экране автоматически обновляются:
- последний анализ;
- сигнал стратегии;
- статус;
- PnL.
## 4. Single live screen behavior
Реализовано поведение одного активного live-экрана:
- если автоторговля уже активна;
- пользователь снова открывает 🤖 Автоторговля;
- старый live-экран удаляется;
- новый экран появляется внизу;
- автообновление переключается на новый экран.
## 5. Active screen guard
Добавлен контроль активного экрана:
```text
_current_screen
```
Runner обновляет Telegram только если активен экран:
```text
auto
```
Это предотвращает прыжки обратно на экран автоторговли при переходе в другие разделы.
## 6. Подготовка к LiveScreenRunner
Текущая реализация подготовила базу для будущего универсального live-runner:
- 📈 Рынок
- 💼 Портфель
- 📒 Журнал
## Commit
```bash
git add .
git commit -m "Stage 07.3.1 - auto trading background runner and live screen"
git push
```
## Следующий этап
Stage 07.3.2 — Live screens for Market, Portfolio and Journal