# День 2. Выбор стиля стратегии и разбор чужих примеров

> Сегодняшняя цель — выбрать какой именно тип бота ты вообще будешь делать, из четырёх известных подходов. И научиться **разбирать** чужие реализации на GitHub, а не копировать. К концу вечера у тебя будет один архетип, одно письменное обоснование почему именно он, и два разобранных публичных примера в этом архетипе.

---

## Зачем сегодня выбирать тип

Главная ошибка вчерашнего этапа подготовки — программист сразу садится писать «универсальный бот который умеет всё». Не бывает таких. Каждая работающая стратегия принадлежит к одному из небольшого числа архетипов, и каждый архетип решает **совершенно разные задачи**, требует **разного капитала** и **разного характера трейдера**.

Если ты выбрал не тот архетип под себя — даже идеально написанный код не будет работать. Не потому что код плохой. Потому что ты, как человек, не выдержишь логику этого подхода. Будешь паниковать когда логика говорит «терпи», или нетерпеливо выходить когда логика говорит «жди подтверждения».

Сегодня:

1. Четыре архетипа — кратко и по делу, что каждый делает, на каком капитале работает, какой характер требует
2. Как сопоставить архетип с собой — три вопроса
3. Враг — кого мы переигрываем (это поможет с позиционированием своего бота даже для самого себя)
4. Как разобрать чужой код на GitHub — не скопировать, а **понять**

---

## Четыре архетипа стратегий

Это **общеизвестная** классификация. Никаких секретов. Любой профессиональный курс по алготрейдингу начинается с этого.

### Архетип 1. Трендовая стратегия (trend-following)

**Идея:** «Цена идёт вверх — покупай. Цена идёт вниз — продавай. Никаких догадок куда она пойдёт дальше — следуем тому что уже происходит.»

**Признаки сигнала:** пересечение скользящих средних (например быстрая снизу-вверх через медленную = вход в покупку), пробой ценового канала, breakout уровня сопротивления.

**Что нужно:** капитал от $500 (на крипте), длинный таймфрейм (4 часа, 1 день), спокойный характер. Большинство сделок — **убыточные мелкие** (60-70%), но **30-40% выигрышных** настолько крупные что покрывают все убытки и дают плюс.

**Главная боль:** долгие периоды просадки когда тренда на рынке нет. Бот сидит и серийно проигрывает мелкими стопами. Если ты по характеру не выдерживаешь 2-3 месяца спокойного «слива» — этот стиль не твой.

**Кому подходит:** инженеры с длинной перспективой, кто привык к долгим проектам. Программисты с основной работой и 1-2 часами в день вечером.

### Архетип 2. Контр-трендовая (mean-reversion)

**Идея:** «Цена ушла слишком далеко в одну сторону — она вернётся. Покупаем когда все панически продают, продаём когда все эйфорически покупают.»

**Признаки сигнала:** RSI экстремум (выше 70 = шорт, ниже 30 = лонг), отклонение от средней более чем на N стандартных отклонений (Bollinger Bands), отскок от уровня поддержки.

**Что нужно:** капитал поменьше (можно от $200 благодаря частым сделкам), мелкие таймфреймы (15 мин, 1 час), нервы. Win-rate высокий (часто 55-65%), но средний выигрыш по размеру равен или меньше среднего проигрыша. Прибыль приходит за счёт частоты.

**Главная боль:** периоды **сильного тренда** убивают эту стратегию насмерть. Ты раз за разом ловишь «дно» которое продолжает падать ещё на 30%. Один такой период может слить полугодовую прибыль.

**Кому подходит:** активные люди готовые ежедневно мониторить, понимающие что **на сильно трендовом рынке надо отключаться вручную**. Не для тех кто хочет «поставил и забыл».

### Архетип 3. Импульсная (momentum)

**Идея:** «Если цена резко двинулась с высоким объёмом — она ещё пройдёт по инерции. Покупаем сразу после первого скачка, продаём через короткое время.»

**Признаки сигнала:** rate-of-change за последние N свечей выше порога, объём выше среднего в M раз, новостной триггер.

**Что нужно:** капитал от $300, минутные/секундные таймфреймы, **очень быстрая реакция** (поэтому это работает только у бота, не вручную), низкие комиссии биржи. Сделки длятся минуты-часы, не дни.

**Главная боль:** бот должен исполнять **очень быстро**, проблема **проскальзывания** (slippage) и комиссий съедает прибыль. На обычной задержке сети 100-300 мс ты опаздываешь к импульсу. Плюс на крипте импульсы часто **ложные** — после новостной нашлёпки цена быстро возвращается.

**Кому подходит:** программисты которые уже разбираются в инфраструктурной части (низкая задержка, исполнение, мониторинг). **Не для первого бота.** Это второй или третий.

### Архетип 4. Парный или арбитражный (pairs / arbitrage)

**Идея:** «Две связанные актива (например BTC и ETH, или один токен на двух биржах) обычно двигаются вместе. Когда они расходятся — мы ставим что они вернутся к норме. Покупаем отстающий, продаём опережающий.»

**Признаки сигнала:** spread между парой выходит за исторический коридор, корреляция между активами устойчиво высокая (>0.85).

**Что нужно:** капитал от $1,000 (нужно одновременно держать две позиции), хорошее понимание статистики, два открытых счёта (на крипте — обычно одна биржа, два инструмента). Win-rate высокий (60-70%), сделки спокойные.

**Главная боль:** комиссии за две сделки одновременно (одна вход — это две позиции), требование держать капитал в обоих активах. Плюс **режим может сломаться** — корреляция между парами не вечная, и в момент кризиса всё валится в одну сторону вне зависимости от исторических связей.

**Кому подходит:** тем у кого капитал побольше, кто хорошо чувствует статистику, кому нравится **«машинное»** ощущение работы стратегии (всё чисто математически).

---

## Как выбрать свой архетип

Три вопроса. Отвечай честно.

**Вопрос 1. Сколько у тебя времени реально на это в сутки?**

| Время в день | Лучший архетип |
|---|---|
| 30 минут вечером | Трендовая (4-часовой таймфрейм или дневной) |
| 1-2 часа активно | Контр-трендовая (15-мин или 1-час таймфрейм) |
| Полный рабочий день | Парный / арбитражный (нужен мониторинг) |
| Минуты или ничего | Импульсная (бот должен решать сам, но это **не первый бот**) |

**Вопрос 2. Какой капитал готов рискнуть?**

| Капитал | Лучший архетип |
|---|---|
| $200-500 | Контр-трендовая (частые мелкие сделки) |
| $500-2,000 | Трендовая (нужна толерантность к long drawdown) |
| $1,000+ | Парный (нужно двойное обеспечение) |
| Любой | Импульсная **технически возможна**, но не для первого бота |

**Вопрос 3. Какой ты по характеру?**

- Терпеливый, привык к долгим проектам? → **трендовая**
- Не терпишь долгих просадок, любишь видеть результат каждый день? → **контр-трендовая**
- Спокойный, любишь чистую математику, не любишь чувства? → **парный**
- Уже прошёл первого бота и хочешь больше скорости? → **импульсная**

После трёх ответов у тебя должен сложиться один очевидный архетип. Если непонятно — выбирай **трендовую**. Это самый простой первый бот, на нём учится больше всего людей, ошибок меньше всего.

---

## Кого мы переигрываем

Это важный кусок — определить **врага**. Не для злости. Для ясности позиционирования (даже самому себе).

Все люди торгующие крипту делятся на четыре группы:

1. **Трейдеры из чатов с сигналами.** Платят $50-300 в месяц за группы которые присылают «BTC покупай по 70К продавай по 71К». Большинство этих сигналов — мусор. Отдельные хорошие, но ты никогда не узнаешь какие.
2. **Трейдеры на эмоциях.** Открывают приложение биржи 15 раз в день, торгуют по интуиции, иногда выигрывают, чаще теряют. Сами не знают почему сегодня купили.
3. **Трейдеры на чужих ботах с GitHub.** Скачали open-source проект, запустили без понимания, удивляются почему теряют.
4. **Трейдеры на своих ботах с собственными правилами.** Их меньше всего. **Это ты — после этого курса.**

Твой бот выигрывает у первых трёх не потому что он умнее. А потому что **ты понимаешь что он делает и почему**. Когда что-то идёт не так — ты можешь починить. Они не могут.

Это не лозунг для лендинга. Это правда. И когда твой бот будет тебя бесить (а он будет — на третьей неделе всех бесит) — помни что у тебя есть преимущество которого нет у 95% розничных трейдеров: **ты понимаешь свою систему**.

---

## Как разбирать чужой код на GitHub

Теперь к практике. Чтобы не изобретать велосипед, мы **изучаем публичные примеры**, но не копируем. Правильный процесс:

### Шаг 1. Найти 3-5 примеров в твоём архетипе

Поиск на GitHub:

- Для трендовой: «crypto trend following bot python»
- Для контр-трендовой: «mean reversion bot binance python»
- Для импульсной: «momentum trading bot python»
- Для парной: «pairs trading crypto python»

Сортируй по звёздам. Берём 3-5 проектов с минимум 100 звёзд и обновлениями за последний год.

### Шаг 2. Прочитать README не для копирования, а для понимания

Что ищешь в README:

1. **Какие ровно правила входа и выхода** описаны? Бот без чётких правил в README — мусор, проходим мимо.
2. **Какие результаты бэктеста** автор показывает? Если показано «win-rate 95% Sharpe 5» — это перегон, проходим мимо.
3. **На какой бирже / каких парах** работает? Если только на одной экзотической паре — узкий случай, мало пригоден.
4. **Какие ограничения** автор называет? Хорошие проекты честно говорят «не работает на боковом рынке» или «требует низких комиссий».

### Шаг 3. Прочитать главный файл бота (не запускать!)

Открываешь основной файл (обычно `main.py`, `bot.py`, `strategy.py`). Внимательно читаешь.

Что отмечаешь:

1. **Где он берёт данные** — реал-тайм через WebSocket или периодический pull? Какая задержка?
2. **Где принимает решение** — какая функция возвращает сигнал? Какие там пороги?
3. **Где он управляет риском** — есть ли ограничения по позиции, есть ли стоп-лоссы, есть ли лимит просадки?
4. **Где он логирует сделки** — структура лога важна для последующего анализа.

### Шаг 4. Найти **слабые места**

Это ключевой навык. У любого публичного кода есть слабости. Учись их находить.

Типичные слабости:

- **Жёстко зашитые параметры** — порог RSI = 30, период EMA = 20. Откуда числа? Если автор не объясняет — он подобрал их под бэктест.
- **Отсутствие проверок** — что если биржа вернула пустой массив свечей? Что если ордер не исполнился? У плохих ботов нет таких проверок, и в реальной жизни они падают.
- **Нет защиты от двойных сделок** — что если предыдущая сделка ещё в процессе, а пришёл новый сигнал? У плохих ботов — открывает обе одновременно.
- **Нет логирования** или логи только в консоль — потом не сможешь понять что произошло месяц назад.

### Шаг 5. Записать своё понимание

В свой рабочий блокнот, для **каждого** разобранного примера:

```
Проект: [имя на GitHub]
Архетип: [тренд / контр-тренд / импульс / парный]
Логика входа: [одно предложение]
Логика выхода: [одно предложение]
Управление риском: [что есть, чего нет]
Сильное место: [одно]
Слабое место: [одно]
Что я возьму из этого в свой бот: [что-то конкретное, по-своему]
```

После двух таких разборов у тебя будет понимание **что вообще принято делать** в твоём архетипе. Не код. Понимание.

---

## Частые ошибки именно сегодня

1. **Выбрать архетип по признаку «звучит круто».** Импульсная стратегия звучит круто (быстро, агрессивно, технологично). На самом деле это самый сложный первый бот. Выбирай по совпадению с твоим характером и временем, не по эстетике.

2. **Скопировать чужой код целиком.** Через две недели на реальном рынке он сломается, и ты не будешь понимать почему. Потому что не ты его писал. Разбор — да. Копирование — нет.

3. **Открыть 10 проектов одновременно.** Хватит трёх-пяти, разобранных тщательно. Лучше глубоко понять три, чем поверхностно пробежать двадцать.

4. **Игнорировать `Issues` на GitHub.** Открой раздел Issues у каждого проекта который рассматриваешь. Там пишут люди которые **уже** напоролись на проблемы. Это бесплатное обучение на чужих шишках.

5. **Думать что 5,000 звёзд = хороший проект.** Звёзды на GitHub не означают что код работает. Они означают что код стал популярным. Часто это разные вещи. Смотри на дату последнего коммита, на ответы автора в Issues, на честность README.

---

## Задание на сегодня

Письменно, в твой рабочий блокнот:

- [ ] Записал свой архетип (один из четырёх) и в одно предложение почему именно он
- [ ] Нашёл на GitHub минимум **три** проекта в этом архетипе с 100+ звёзд
- [ ] Полностью прочитал README каждого
- [ ] Прочитал главный файл-бот хотя бы у двух из них
- [ ] Заполнил карточку разбора (по схеме выше) для двух проектов
- [ ] Открыл `Issues` каждого — нашёл минимум **одну** реальную проблему о которой пишут пользователи

В Telegram канал короткое сообщение:

```
День 2 — готово.

Мой архетип: [...]
Почему: [одно предложение]
Самое неожиданное что я узнал в чужих проектах: [одно предложение]
```

---

## Что завтра

Завтра самый важный день из всех пяти. Завтра ты сформулируешь **свой** бот в одном предложении — до того как напишешь хотя бы одну строчку кода. Большинство людей делают наоборот: пишут код, а потом не могут объяснить что бот делает. Это путь в тупик. У нас по-другому.

К концу дня 3 у тебя будет:
- Одно предложение которое полностью описывает что делает твой бот
- Четыре правила (вход, выход, риск, стоп) на бумаге
- Простая блок-схема всего цикла на бумаге

И только после этого, на день 4, мы пишем код. Все профессионалы делают именно так. Все любители — наоборот.

До завтра.


---


# Домашнее задание — День 2

## Чек-лист

Письменно, в твой рабочий блокнот:

- [ ] **Записан мой архетип** (трендовая / контр-трендовая / импульсная / парная)
- [ ] **В одном предложении** почему именно этот архетип подходит мне (с привязкой к моему времени, капиталу или характеру)
- [ ] **Найдены 3 проекта на GitHub** в моём архетипе с минимум 100 звёзд и обновлениями за последний год
- [ ] **Прочитан README каждого** (не код — пока README)
- [ ] **Прочитан главный файл-бот** хотя бы у двух проектов
- [ ] **Заполнена карточка разбора** для двух проектов
- [ ] **Открыты `Issues`** каждого проекта — найдена хотя бы одна реальная проблема пользователей

---

## Шаблон карточки разбора

> Заполни **по одной карточке на каждый из двух проектов**.

```
Проект: ___________________________________________
URL на GitHub: ___________________________________
Архетип: __________________________________________

Логика входа (1 предложение):
__________________________________________________
__________________________________________________

Логика выхода (1 предложение):
__________________________________________________
__________________________________________________

Управление риском:
- Что есть: ______________________________________
- Чего НЕТ: ______________________________________

Сильное место (одно):
__________________________________________________

Слабое место (одно):
__________________________________________________

Что я возьму из этого в свой бот (конкретно, не «всё»):
__________________________________________________
```

---

## Памятка по разбору `Issues`

Что искать в открытых и закрытых тикетах:

1. **«Bot doesn't work on X»** — на какой паре или бирже не работает? Это укажет на негибкость кода.
2. **«Why is it losing money?»** — конкретные жалобы пользователей. Часто там же видно что автор **не знает** ответа сам.
3. **«How to add stop-loss?»** — если такой вопрос есть и автор отвечает «у нас этого нет, добавьте сами» — это **слабое место** проекта.
4. **«Crashed after running for X days»** — стабильность. Программисты часто пишут код который работает первый день, но не выживает неделю.

---

## Что отправить в общий чат

```
День 2 — готово.

Мой архетип: ___________
Почему: [одно предложение]

Самое неожиданное что я узнал в чужих проектах:
[одно предложение]
```

---

## Если ты залип

Не выбирается архетип? Возьми **трендовую**. Это безопасный выбор для первого бота, на нём учится больше всего людей, ошибок меньше.

Не находишь хорошие проекты на GitHub? Поиск по запросу `crypto trading bot python` сортируй по звёздам, бери из первой страницы. Не ищи идеальные — ищи **разнообразные**, чтобы увидеть разные подходы.

Зашёл в код и ничего не понимаешь? Это нормально. **Цель сегодня — не понять весь код**, а увидеть **общую структуру**: где данные, где сигнал, где исполнение, где риск. Пять блоков — этого достаточно.

---

До завтра.
