# Пример использования Trade Executor Enhanced

Этот документ показывает, как использовать улучшенного агента для открытия сделок с правильной последовательностью действий.

## 🎯 Цель
Создать сделку на MOEX с правильным риск-менеджментом, используя все доступные скрипты и проверки.

## 📋 Предварительные требования

1. **Настроенный `.env` файл** с токенами T-Bank
2. **Установленные зависимости**:
   ```bash
   pip install -r requirements.txt
   pip install mysql-connector-python
   ```
3. **Доступ к T-Bank API**

## 🔍 Пошаговый процесс

### Шаг 1: Проверка баланса (ОБЯЗАТЕЛЬНО)

```bash
# Проверить баланс реального счёта
python src/get_account_balance.py --env real

# Пример вывода:
# 🏦 Баланс счёта T-Bank v3.0 - REAL
# ============================================================
# 📋 Счёт: 3ed6a662-...
# 📊 Статус: OPEN
# 💰 Общий баланс: 100,000.00 ₽
# 💱 Валюта баланса: RUB
# 
# 📈 Позиции:
#   Количество позиций: 2
#   Общая стоимость позиций: 45,000.00 ₽
# 
#   Детализация позиций:
#   SBER: 100.00 шт × 245.50 ₽ = 24,550.00 ₽ (+150.00 ₽ (+0.61%))
#   GAZP: 50.00 шт × 410.00 ₽ = 20,500.00 ₽ (+100.00 ₽ (+0.49%))
# 
# 💳 Валютные балансы:
#   RUB: 55,000.00 ₽ свободно (0.00 ₽ заблокировано, всего: 55,000.00 ₽)
# 
# 📊 Итог:
#   Общий свободный баланс: 55,000.00 ₽
#   Общий капитал: 100,000.00 ₽
```

### Шаг 2: Получение торгового сигнала

Из файла `reports/tickers/SBER.md` или вручную:

```json
{
  "ticker": "SBER",
  "direction": "BUY",
  "entry": 245.50,
  "sl": 240.00,
  "tp": 255.00,
  "confidence": 75,
  "source": "tech-analysis",
  "risk_pct": 1.0,
  "capital": 100000.00
}
```

### Шаг 3: Вызов агента Trade Executor

```bash
# Запуск агента для открытия сделки
opencode trade-executor-enhanced
```

### Шаг 4: Последовательность действий агента

#### 4.1 Выбор окружения
```
Which environment should the operation run in?
1) 🧪 Sandbox (test) — test environment, virtual money
   - Token: t.wqnyx3rg... (sandbox)
   - API:   https://sandbox-invest-public-api.tinkoff.ru/rest
   - Account: 3ed6a662-...
2) 💰 Real (live account) — real money on MOEX
   - Token: t.JEWjjGv... (real)
   - API:   https://invest-public-api.tinkoff.ru/rest
   - Account:  {TBANK_ACCOUNT_ID_REAL or TBANK_ACCOUNT_ID}
Choose 1 or 2: 2
```

#### 4.2 Проверка баланса
```
🔄 Переключение на REAL режим работы...
  ⚡ Environment: REAL
  🔑 Token:     t.JEWjjGv...a1b2
  🌐 URL:       https://invest-public-api.tinkoff.ru/rest
  🆔 Account:   3ed6a662-...

🏦 Проверка баланса счёта...
   Общий баланс: 100,000.00 ₽
   Валюта баланса: RUB
   Статус: OPEN
   Общий свободный баланс: 55,000.00 ₽
   Общий капитал: 100,000.00 ₽
```

#### 4.3 Валидация параметров сделки
```
🎯 Создание сделки для SBER...
   Направление: BUY
   Вход: 245.50 ₽
   SL: 240.00 ₽
   TP: 255.00 ₽
   Риск: 1.0% от капитала
   Капитал: 100,000.00 ₽

✅ FIGI найден: BBG004730N9Y
   Входная цена округлена: 245.5 → 245.5
   SL округлен: 240.0 → 240.0
   TP округлен: 255.0 → 255.0
   Размер лота: 10 шт
```

#### 4.4 Расчёт позиции
```
📊 Расчёт позиции:
   Лотов: 4
   Акций: 40
   Риск: 220.00 ₽ (1.00%)
   RR: 2.27 (без комиссий)
   RR с комиссиями: 2.15
```

#### 4.5 Создание ордеров
```
📝 Создание входного ордера...
   ✅ Входной ордер создан: 60a4b2c8...

🛑 Создание стоп-лосса...
   ✅ SL ордер создан: 38fc9586...

🎯 Создание тейк-профита...
   ✅ TP ордер создан: 259a6242...

📝 Логирование сделки...
   ✅ Сделка залогирована: 9534cea2...
```

#### 4.6 Подтверждение сделки
```
🎉 Сделка успешно создана!
   Тикер: SBER
   Направление: BUY
   Вход: 245.50 ₽
   SL: 240.00 ₽
   TP: 255.00 ₽
   Лотов: 4
   Риск: 220.00 ₽ (1.00%)
   RR: 2.27
   ID сделки: 9534cea2...

⚠️  ВНИМАНИЕ: Сделка создана на РЕАЛЬНОМ счёте!
   Это реальная торговля с реальными деньгами.
   Все ордера активны и будут исполнены по рыночным условиям.

Confirm trade? (yes/no): yes
```

### Шаг 5: Мониторинг сделки

```bash
# Запуск мониторинга сделки
python src/monitor_trade.py \
  --ticker SBER \
  --trade-id 9534cea2-a315-4419-94bb-218ec4be4da2 \
  --daemon \
  --env real
```

### Шаг 6: Управление сделками

```bash
# Показать все открытые сделки
python src/manage_trade.py --env real --list

# Изменить SL при необходимости
python src/manage_trade.py \
  --env real \
  --modify-sl \
  --trade-id 9534cea2-a315-4419-94bb-218ec4be4da2 \
  --new-sl 242.00

# Закрыть сделку вручную
python src/manage_trade.py \
  --env real \
  --close \
  --trade-id 9534cea2-a315-4419-94bb-218ec4be4da2
```

## 🔄 Альтернативный workflow (ручное управление)

### 1. Полностью ручное создание сделки
```bash
python src/create_trade_orders.py \
  --ticker SBER \
  --direction BUY \
  --entry 245.50 \
  --sl 240.00 \
  --tp 255.00 \
  --capital 100000 \
  --risk 1.0 \
  --confidence 75 \
  --env real
```

### 2. Мониторинг через manage_trade
```bash
python src/manage_trade.py \
  --env real \
  --monitor \
  --trade-id 9534cea2-a315-4419-94bb-218ec4be4da2 \
  --interval 300
```

### 3. Автоматическое закрытие по TP
```bash
# Мониторинг автоматически закроет сделку при достижении TP
# или переведет SL в безубыточок при достижении TP
```

## 📊 Пример успешной сделки

### Исходные данные
- Тикер: SBER
- Направление: BUY
- Вход: 245.50 ₽
- SL: 240.00 ₽
- TP: 255.00 ₽
- Размер: 4 лота (40 акций)
- Риск: 220 ₽ (1% от 22,000 ₽)

### Развитие сделки

#### Сценарий 1: Успешный выход по TP
```
🎯 TP обнаружен по цене: 255.0 ≥ 255.0
🎯 TP достигнут! Цена=255.0 ₽. SL: 240.0 → 251.25 ₽ (безубыток).
```

**Итог:**
- Прибыль: (255.0 - 245.5) × 40 = 380 ₽
- Комиссии: ~6 ₽
- Чистая прибыль: ~374 ₽
- RR: 374 / 220 = 1.7

#### Сценарий 2: Выход по SL
```
🛑 Цена 239.8 ≤ SL 240.0 — стоп-лосс сработал!
```

**Итог:**
- Убыток: (245.5 - 240.0) × 40 = 220 ₽
- Комиссии: ~6 ₽
- Чистый убыток: ~226 ₽
- RR: -226 / 220 = -1.03

## 🚨 Важные замечания

1. **Всегда проверяйте баланс** перед созданием сделки
2. **Используйте stop-loss** для ограничения убытков
3. **Не инвестируйте больше, чем готовы потерять**
4. **Тестируйте в sandbox** перед использованием реального счёта
5. **Мониторьте позиции** особенно в волатильные периоды

## 🔧 Настройка агента

Агент `trade-executor-enhanced` можно настроить через файл `.opencode/agents/trade-executor-enhanced.md`:
- Изменить приоритеты скриптов
- Настроить параметры риск-менеджмента
- Добавить дополнительные проверки

## 📈 Интеграция с другими компонентами

1. **С @tech-analyst**: агент получает сигналы из `reports/tickers/{TICKER}.md`
2. **С @fund-analyst**: учитывает фундаментальный контекст
3. **С системой мониторинга**: автоматически запускает мониторинг после создания сделки
4. **С журналом сделок**: все сделки логируются в `reports/trades.json`