07.4.3.16 — Production Execution Pricing Layer
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user