Stage 07.3.1 - auto trading background runner and live screen
This commit is contained in:
22
docs/decisions/0018-single-live-auto-screen.md
Normal file
22
docs/decisions/0018-single-live-auto-screen.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# 0018 — Single Live Auto Trading Screen
|
||||
|
||||
## Решение
|
||||
|
||||
Для автоторговли используется только один активный live-экран.
|
||||
|
||||
## Причины
|
||||
|
||||
Telegram не умеет перемещать старое сообщение вниз.
|
||||
|
||||
Чтобы имитировать такое поведение:
|
||||
|
||||
- старый live-экран удаляется;
|
||||
- новый создаётся внизу;
|
||||
- runner регистрирует новый message_id.
|
||||
|
||||
## Последствия
|
||||
|
||||
- нет дублей live-экранов;
|
||||
- автообновление всегда идёт в актуальный экран;
|
||||
- снижается риск Telegram rate limit;
|
||||
- UX выглядит как единый живой dashboard.
|
||||
@@ -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
|
||||
|
||||
---
|
||||
|
||||
|
||||
87
docs/stages/stage-07_3_1-auto-trading-background-runner.md
Normal file
87
docs/stages/stage-07_3_1-auto-trading-background-runner.md
Normal 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
|
||||
Reference in New Issue
Block a user