Торговый контур
Состояния торгового контура
Как кабинет получает и показывает состояние торгового контура.
Кабинет показывает состояние не из одной кнопки, а из нескольких источников: run status, свежий runtime request, heartbeat и exchange/order evidence. Поэтому переходные состояния могут отличаться от последнего подтверждённого heartbeat.
Текущая public reference требует Trading/Frontend review, потому что UI labels, backend statuses и engine mode names не полностью совпадают.
Подтверждённые источники
- `runtime_control_requests` для pending, claimed, applied, failed.
- `user_runtime_heartbeats` для active, paused, stopping, stopped, failed.
- Order reports как дополнительный сигнал активных ордеров.
- Freshness windows: 180 секунд для open request и 120 секунд для applied request.
Состояния для пользователя
| Состояние | Смысл |
|---|---|
| Запускается | Есть свежий start request или подтверждение подготовки. |
| Активен | Есть свежий heartbeat или active exchange evidence. |
| Пауза применяется | Есть свежий pause request. |
| Пауза | Heartbeat или applied request подтвердил pause. |
| Останавливается | Есть свежий stop request. |
| Остановлен | Run/heartbeat подтвердил stopped. |
| Нет свежего сигнала | Heartbeat устарел или run status требует нового evidence. |
| Ошибка | Worker или heartbeat сообщил failure. |
Ограничения
Страница не индексируется как финальная, пока canonical state vocabulary не утверждён между UI, backend и engine.
