# X5 Post-Mortem Analysis — Все сделки

> **Дата:** 01.07.2026
> **Цель:** Детальный разбор всех сделок по X5, выявление системных ошибок и внесение изменений в агентов.

---

## 1. Сводка всех сделок X5

| # | ID | Дата входа | Направление | Лоты | Вход | Выход | Причина выхода | PnL | PnL% | Счёт |
|:-:|:---|:----------:|:-----------:|:----:|:----:|:-----:|:--------------:|:---:|:----:|:----:|
| 1 | `8aaf37c9` | 21.06 | BUY | 166 | 2,305 | — | CANCELLED | 0₽ | 0% | sandbox |
| 2 | `2efcffe0` | 22.06 | BUY | 166 | 2,325 | 2,324 | MANUAL | −1,507₽ | −0.30% | sandbox |
| 3 | `a3f7c9e2` | 22.06 | BUY | 10 | 2,252.5 | 2,244.5 | MANUAL | −102₽ | −0.46% | sandbox |
| 4 | `c7e2a1b9` | 22.06 | BUY | 6 | 2,326.83 | 2,250 | SL | −543₽ | −3.89% | **real** |
| 5 | `ceb1c1ff` | 30.06 | BUY | 15 | 2,253 | 2,237 | SL | −442₽ | −1.27% | **real** |

**Итог по X5:** 0 побед, 0 TP, **4 поражения, −2,594 ₽ общий убыток**

---

## 2. Хронология и контекст

### Сделка #1–4 (21-22.06): Первые попытки
- Цена X5 в свободном падении: от 2,500+ до 2,200
- Все сделки BUY в надвигающийся DOWN тренд
- Тезис: "дно рядом, дивиденды скоро"
- Результат: все закрыты в минус

### Сделка #5 (30.06–01.07): Последняя попытка
- **Тезис:** Wyckoff Accumulation D-E, SOS сформирован, pre-div rally 07.07
- **Confidence:** 68% (tech-analyst) + 63% (fund-analyst)
- **SL:** 2,237 (ниже H1 EMA50 2,238, ниже дневного low 2,243)
- **Результат:** SL сработал через ~24 часа. Цена пробила 2,243 → 2,237

---

## 3. Корневые причины (Root Cause Analysis)

### 🔴 Причина #1: W1↓ тренд проигнорирован
**Проблема:** W1 trend = DOWN, но BUY-сигнал всё равно был сгенерирован.
**Факты:**
- RSI W1 = 34-35 (медвежий)
- ADX W1 = 25.3 (тренд средней силы)
- -DI/W1 (35.4) >> +DI/W1 (13.7)
- Все индикаторы W1 показывают DOWN

**Вывод:** W1↓ — НЕСОВМЕСТИМ с BUY. Никакой "D1 накопительный" тезис не отменяет W1↓. Максимум: HOLD (neutral).

### 🔴 Причина #2: MACD D1 crossover не состоялся
**Проблема:** Вход был при MACD hist = −2.5 (30.06 утро) и −2.17 (вечер). Crossover не произошёл.
**Факты:**
- MACD line = −6.37, Signal = −4.20
- MACD hist = −2.17 (отрицательный)
- Разворот hist с −25.4 до −2.17 — это улучшение, но НЕ crossover
- Crossover происходит, когда hist переходит через 0

**Вывод:** Вход только после crossover (MACD hist ≥ 0). "Почти crossover" ≠ crossover.

### 🔴 Причина #3: Торговый диапазон (TR) определён неверно
**Проблема:** Скрипт определил TR = 2,102.5–2,522. Реальный TR = 2,102.5–2,259.
**Факты:**
- Верхняя граница 2,522 никогда не тестировалась в ближайшие 10+ дней
- Реальная верхняя граница = 2,259 (макс 23.06, подтверждён отторжением 30.06 H=2,309)
- Пробой 2,259→2,309 — это +50pt, но быстрый возврат ниже

**Вывод:** Нужна вторая линия подтверждения TR (Volume Profile, свечной анализ). Не полагаться на скрипт автоматом.

### 🔴 Причина #4: Объём на Backup завышен
**Проблема:** "Объём падает на коррекции" — H1 объём 75-99k против SOS=261k (29-38%).
**Факты:**
- Для здорового Backup объём должен быть <30% от SOS-бара
- 29-38% — погранично, ближе к высокому
- Объём ASK absorption в стакане (17:23-17:34) указывал на продавцов

**Вывод:** Backup volume threshold: < 30% от SOS или < 1.0× от среднего.

### 🔴 Причина #5: OrderBook переоценён
**Проблема:** Общий дисбаланс 1.39× (бычий), но история 20 тиков = 11 медвежьих / 9 бычьих.
**Факты:**
- Текущий snapshot: imbalance=1.39× (бычий)
- 20 тиков: 11🔴 / 9🟢 — умеренно медвежий
- Последний тик бычий, но 3 подряд ASK ABSORPTION перед этим

**Вывод:** Использовать взвешенную оценку: 60% истории 20 тиков + 40% текущий snapshot. Не делать вывод из последнего тика.

### 🔴 Причина #6: Pre-div катализатор переоценён
**Проблема:** "7 дней до дивиденда, pre-div rally +5-10%". Реальность: общий рынок (IMOEX) медвежий.
**Факты:**
- IMOEX ~2,300 (нисходящий тренд)
- В медвежьем рынке pre-div rally может не наступить
- Историческая статистика pre-div rally не учитывает текущую фазу рынка

**Вывод:** В медвежьем рынке pre-div rally confidence cap = 55% (вместо стандартного).

---

## 4. Ключевые уроки и новые правила

### 🛑 Новые жёсткие правила:

| # | Правило | Описание | Для кого |
|:-:|---------|----------|----------|
| 1 | **W1↓ блокирует BUY** | Если W1 trend = DOWN, BUY-сигнал невозможен. Только HOLD или SELL. W1 trend определяется: RSI(W1) < 40 AND -DI > +DI | @tech-analyst, @invest-tech-analyst |
| 2 | **MACD D1 crossover обязателен** | Вход в BUY только после MACD D1 hist ≥ 0. "Почти crossover" (hist от −25 до −2) не считается. Hist должен пересечь нулевую линию. | @tech-analyst |
| 3 | **TR (Trading Range) двойная верификация** | TR верхняя граница = минимум из: (a) скрипт, (b) ближайший значимый максимум с отторжением (длинная верхняя тень, объём >1.5×), (c) Pivot High последних 20 свечей | @python-modules-dev (скрипт), @tech-analyst |
| 4 | **Backup Volume Test** | После SOS объём на коррекции должен быть ≤ 30% от объёма SOS-бара. Если >30% — Backup нездоровый, confidence −15% | @tech-analyst |
| 5 | **OrderBook взвешенная оценка** | bias = 60% × история 20 тиков + 40% × текущий snapshot. Не использовать только последний тик. | @tech-analyst, @trade-executor |
| 6 | **Pre-div confidence cap** | Если IMOEX < 200-дневная SMA ИЛИ RSI(W1) < 40, pre-div rally confidence cap = 55% (вместо 68%). Дивиденд не гарантирует роста. | @tech-analyst, @fund-analyst |
| 7 | **SL не выше H1 EMA50** | Стоп-лосс НЕ может быть выше H1 EMA50 при BUY-сделке. Если EMA50 ниже входа — риск слишком велик для сделки. | @trade-executor, @tech-analyst |
| 8 | **W1-конфликт → confidence cap** | Если W1 и D1 дают противоположные сигналы (W1↓ vs D1 накопление), максимальный confidence = 60% (вместо стандартных 68%). | @tech-analyst |

### 📊 Confidence Scoring: новые корректировки

| Фактор | Корректировка | Применять |
|--------|:------------:|-----------|
| W1↓ + BUY попытка | **−15%** (автоматический блок) | Всегда |
| MACD D1 hist < 0 | **−10%** (ожидать crossover) | При BUY |
| Backup volume >30% SOS | **−15%** | После SOS |
| Pre-div rally в медвежьем рынке | **Cap 55%** | Если IMOEX↓ |
| OrderBook bias неустойчивый | **−5%** | Если snap ≠ history |
| SL выше H1 EMA50 | **СДЕЛКА НЕВОЗМОЖНА** | При BUY |

---

## 5. Изменения в агентах и субагентах

### @tech-analyst
- Добавлено правило W1↓ SELL/BUY блокировки (см. выше #1, #2)
- Добавлена проверка MACD D1 crossover (#2)
- Добавлен Backup Volume Test (#4)
- Добавлен OrderBook взвешенный bias (#5)
- Добавлен pre-div confidence cap в медвежьем рынке (#6)

### @fund-analyst
- Добавлен pre-div confidence cap (#6)
- Добавлен W1-контекст в фундаментальную оценку

### @trade-executor
- Добавлена блокировка SL выше H1 EMA50 (#7)
- SL/TP переустановлены как стоп-ордера (не лимитные) — чтобы не блокировать бумаги

### @python-modules-dev
- Исправить определение TR верхней границы в скриптах `_analyze_all_db.py` и `_analyze_x5.py`
- Добавить верификацию TR через Volume Profile

---

## 6. Выводы по системе в целом

1. **BUY в W1↓ — главная системная ошибка.** Из 4 закрытых сделок X5 все 4 были BUY в W1↓. Ни одна не была SELL. Система не генерирует SELL-сигналы даже в явном медвежьем тренде.
2. **Pre-div rally — не панацея.** В медвежьем рынке (IMOEX ↓ 2,300) дивидендный катализатор не сработал. Фундаментальные мультипликаторы (P/E 8.1×, DY 10.85%) не защищают от технического тренда.
3. **Confidence scoring требует жёстких блокировок.** 68% confidence с W1↓ — слишком высоко. Нужны безусловные блоки (hard blocks), а не мягкие корректировки.
4. **Скриптовые уровни (TR, поддержки) требуют человеческой верификации.** TR 2,522 был ошибочен. Скрипт не видит свечные паттерны отторжения.
