# Stage 07.4.3.3 — Paper Position & Execution Engine

### 📌 Overview

На этом этапе реализован базовый Execution Engine и paper-позиции (без реальных ордеров).

Система теперь:

* принимает решение READY
* открывает paper-позицию (LONG / SHORT)
* синхронизирует её с UI
* логирует событие
* генерирует событие через EventBus

---

### 🧠 Архитектура

Добавлены новые слои:

Strategy → Signal → Decision → ExecutionEngine → PositionState

---

📂 Новые модули

## 1. Position Layer

app/src/trading/position/state.py

Хранит текущее состояние позиции:

* side (NONE / LONG / SHORT)
* entry_price
* size
* leverage
* unrealized_pnl_usd

---

## 2. Execution Models

app/src/trading/execution/models.py
ExecutionDecision:
    action: str
    can_execute: bool
    reason: str

---

## 3. Execution Engine

app/src/trading/execution/engine.py

Основные функции:

* принимает AutoTradeState
* проверяет:
    * RUNNING
    * READY
    * is_signal_ready
* открывает paper-позицию
* пишет в журнал
* эмитит событие

---

### ⚙️ Логика execution

Условия открытия позиции:

status == RUNNING
decision_status == READY
is_signal_ready == True
нет открытой позиции

---

### Mapping сигналов:

BUY  → OPEN_LONG
SELL → OPEN_SHORT

---

### 📊 Расчёт позиции (временно)

size = (risk_percent * leverage) / 100

Это placeholder для будущего risk engine.

---

### 🔄 Интеграция с AutoTradeService

В run_cycle() добавлено:

ExecutionEngine().process(state)

Теперь execution вызывается автоматически после анализа.

---

### 🖥 UI изменения

Экран автоторговли теперь показывает:

Pos: LONG | Entry: $ ... | PnL: ...

или:

Pos: NONE

---

### 🧾 Журнал

При открытии позиции:

event_type = paper_position_opened

payload:

{
  "symbol": "...",
  "side": "LONG | SHORT",
  "entry_price": ...,
  "size": ...,
  "leverage": ...,
  "signal": "...",
  "confidence": ...
}

---

### ⚡ EventBus

Новое событие:

paper_position_opened

---

### 🚧 Ограничения текущего этапа

* ❌ Нет закрытия позиции
* ❌ Нет расчёта PnL
* ❌ Нет реальных ордеров
* ❌ Нет стопов / тейков
* ❌ Нет multi-position


---

### ✅ Результат

Теперь система полностью проходит путь:

Strategy → Signal → Decision → Execution → Position → UI

---

### 🔜 Next

07.4.3.4 — Strong Signal Alerts (Telegram notifications)