07.4.3.16 — Production Execution Pricing Layer

This commit is contained in:
2026-05-09 13:08:29 +03:00
parent 71cf206e32
commit e97dcd372b
15 changed files with 1179 additions and 188 deletions

View File

@@ -290,6 +290,18 @@
- ordinary 🤖 Автоторговля screen remains unchanged by debug commands
- preparation for production execution pricing layer
#### 07.4.3.16 — Production Execution Pricing Layer
- added isolated runtime market caches
- separated AUTO and DEBUG websocket pricing
- added execution snapshot layer
- added freshness-aware execution pricing
- implemented websocket-first market sourcing
- added REST fallback pricing pipeline
- fixed signal timer reset after START
- removed shared market cache collisions
- stabilized AUTO/DEBUG UI market rendering
### 07.4.4
⏳ Grid Strategy

View File

@@ -276,6 +276,17 @@
- ordinary 🤖 Автоторговля screen remains unchanged by debug commands
- preparation for production execution pricing layer
#### 07.4.3.16 — Production Execution Pricing Layer
- added isolated runtime market caches
- separated AUTO and DEBUG websocket pricing
- added execution snapshot layer
- added freshness-aware execution pricing
- implemented websocket-first market sourcing
- added REST fallback pricing pipeline
- fixed signal timer reset after START
- removed shared market cache collisions
- stabilized AUTO/DEBUG UI market rendering
---
### 07.4.4

View File

@@ -0,0 +1,196 @@
# 07.4.3.16 — Production Execution Pricing Layer
## Overview
Этап посвящён построению production-grade pricing layer для автоторговли.
Основная цель:
- полностью разделить execution pricing между AUTO и DEBUG runtime
- перевести pricing pipeline на websocket-first архитектуру
- устранить конфликты shared cache
- стабилизировать execution snapshot layer
- обеспечить корректную freshness validation
- убрать скачки источников market data
- стабилизировать signal timer lifecycle
---
# Основные проблемы до этапа
## 1. Shared market cache
AUTO и DEBUG runtime использовали общий MarketPriceCache.
Последствия:
- runtime перетирали друг другу market snapshot
- execution source постоянно переключался
- UI показывал нестабильные данные
- HOLD timer визуально сбрасывался
---
## 2. REST dominance
Даже при активном websocket execution layer периодически переходил на REST fallback.
Последствия:
- execution source прыгал между websocket и REST
- pricing становился нестабильным
- execution snapshot терял консистентность
---
## 3. Signal lifecycle instability
После Start/Stop signal_started_at не всегда сбрасывался корректно.
Последствия:
- HOLD timer стартовал не с 0с
- UI показывал старый lifecycle сигнала
---
# Архитектурные изменения
## 1. Runtime-separated pricing
Введено разделение runtime:
- AUTO runtime
- DEBUG runtime
Каждый runtime:
- имеет собственный websocket lifecycle
- имеет собственный market cache context
- имеет собственный execution snapshot source
---
## 2. WebSocket-first pricing
Execution layer теперь работает по модели:
1. websocket cache
2. freshness validation
3. REST fallback only if required
REST больше не является primary source.
---
## 3. Execution Snapshot Layer
Добавлен execution snapshot pipeline:
- last_price
- bid_price
- ask_price
- source
- freshness
- quote age
Execution snapshot используется для:
- ENTRY
- EXIT
- FLIP
- SL
- TP
- ML
---
## 4. Freshness validation
Добавлена проверка freshness market snapshot:
- age_seconds
- execution freshness
- cache lifetime validation
Execution pricing больше не использует stale quote.
---
## 5. Runtime-aware market sourcing
В pricing pipeline добавлен runtime context:
- auto
- debug_auto
Это устранило shared cache collisions.
---
# UI Improvements
## HOLD timer reset
После Start:
- signal_started_at корректно сбрасывается
- HOLD timer стартует с 0с
---
## Stable market rendering
UI больше не прыгает между:
- websocket
- REST fallback
- stale cache
---
## Stable execution source
Execution source стабилизирован:
- ws_depth:auto
- ws_depth:debug_auto
REST fallback используется только как backup.
---
# Production Result
После завершения этапа система получила:
- production-grade execution pricing
- websocket-first pricing architecture
- isolated runtime execution
- stable market snapshot lifecycle
- freshness-aware execution pipeline
- stable AUTO/DEBUG separation
- deterministic signal lifecycle
---
# Финальное состояние архитектуры
AUTO runtime:
- own websocket
- own pricing cache
- own execution source
DEBUG runtime:
- own websocket
- own pricing cache
- own execution source
REST:
- fallback only
Execution:
- freshness-aware
- runtime-isolated
- websocket-first
---
# Stage Status
Статус этапа:
- COMPLETED
Этап:
- 07.4.3.16 — Production Execution Pricing Layer