build 039: complete Quotes Feed migration foundation
This commit is contained in:
126
docs/market_intelligence/builds/build-003-common-constants.md
Normal file
126
docs/market_intelligence/builds/build-003-common-constants.md
Normal file
@@ -0,0 +1,126 @@
|
||||
# Build №003 — Common Constants
|
||||
|
||||
## Файл
|
||||
|
||||
```text
|
||||
app/src/trading/market_intelligence/common/constants.py
|
||||
```
|
||||
|
||||
## Назначение
|
||||
|
||||
Создание общего набора архитектурных констант Market Intelligence.
|
||||
|
||||
Файл определяет безопасные диапазоны значений, ограничения диагностики, базовые настройки свежести данных и защитные ограничения аналитического слоя.
|
||||
|
||||
---
|
||||
|
||||
## Реализовано
|
||||
|
||||
Добавлены группы констант:
|
||||
|
||||
- диапазоны `score`;
|
||||
- диапазоны `confidence`;
|
||||
- диапазоны `probability`;
|
||||
- диапазоны `weight`;
|
||||
- значения по умолчанию;
|
||||
- пороги человекочитаемой оценки;
|
||||
- время устаревания аналитического результата;
|
||||
- время жизни аналитического сигнала;
|
||||
- ограничения количества зависимостей Engine;
|
||||
- ограничения количества метрик;
|
||||
- ограничения количества предупреждений и ошибок;
|
||||
- базовая конфигурация таймфреймов;
|
||||
- запрещённые торговые поля.
|
||||
|
||||
---
|
||||
|
||||
## Архитектурные решения
|
||||
|
||||
- `common/constants.py` содержит только архитектурные ограничения платформы;
|
||||
- файл не содержит параметров технических индикаторов;
|
||||
- файл не содержит параметров торговых стратегий;
|
||||
- файл не содержит настроек открытия или закрытия сделок;
|
||||
- константы не зависят от конкретного Engine;
|
||||
- `FORBIDDEN_TRADING_FIELDS` вводит защиту границ между аналитикой и торговыми действиями.
|
||||
|
||||
---
|
||||
|
||||
## Compile Check
|
||||
|
||||
```text
|
||||
PASSED
|
||||
```
|
||||
|
||||
## Architecture Review
|
||||
|
||||
```text
|
||||
PASSED
|
||||
```
|
||||
|
||||
## Domain Review
|
||||
|
||||
```text
|
||||
PASSED
|
||||
```
|
||||
|
||||
## Обязательные замечания
|
||||
|
||||
Нет.
|
||||
|
||||
## Post Review Notes
|
||||
|
||||
### Решение №001
|
||||
|
||||
Архитектурные константы должны содержать только ограничения платформы.
|
||||
|
||||
В `common/constants.py` запрещается размещать:
|
||||
|
||||
- параметры технических индикаторов;
|
||||
- параметры торговых стратегий;
|
||||
- настройки открытия и закрытия сделок;
|
||||
- параметры биржи;
|
||||
- параметры управления позицией.
|
||||
|
||||
Такие константы должны размещаться внутри соответствующих Engine.
|
||||
|
||||
### Решение №002
|
||||
|
||||
Константы должны быть сгруппированы по смысловым разделам:
|
||||
|
||||
```text
|
||||
Score
|
||||
Confidence
|
||||
Probability
|
||||
Runtime
|
||||
Diagnostics
|
||||
Architecture
|
||||
Timeframes
|
||||
Safety
|
||||
```
|
||||
|
||||
### Решение №003
|
||||
|
||||
Таймфреймы являются частью конфигурации платформы, а не жёстким ограничением архитектуры.
|
||||
|
||||
`DEFAULT_TIMEFRAMES` описывает базовую конфигурацию первого этапа Market Intelligence.
|
||||
|
||||
### Решение №004
|
||||
|
||||
Возраст результата анализа и возраст торгового сигнала являются разными понятиями.
|
||||
|
||||
- `DEFAULT_STALE_AFTER_SECONDS` — когда аналитический результат считается устаревшим.
|
||||
- `DEFAULT_SIGNAL_TTL_SECONDS` — когда влияние аналитического сигнала начинает уменьшаться.
|
||||
|
||||
### Решение №005
|
||||
|
||||
Константы, относящиеся только к одному Engine, не должны находиться в `common/constants.py`.
|
||||
|
||||
Они должны переноситься в каталог соответствующего Engine.
|
||||
|
||||
---
|
||||
|
||||
## Статус
|
||||
|
||||
```text
|
||||
ACCEPTED
|
||||
```
|
||||
Reference in New Issue
Block a user