Стратегия
Пересечение скользящих средних: классика алготрейдинга
# Пересечение скользящих средних: классика алготрейдинга, которая работает (и не работает)
**Тип:** Обзор стратегии
**Уровень:** Начинающий
**Инструменты:** SMA(20), SMA(50)
---
Если бы алготрейдинг был кулинарией, стратегия пересечения скользящих средних была бы рецептом омлета. Простая, понятная, везде встречается. И при этом — если уметь её готовить — вполне съедобная.
Разберём её честно: что работает, что нет, и как думать об улучшении.
---
## Что такое скользящая средняя (простым языком)
Представьте, что вы каждый вечер записываете температуру на улице. Если смотреть на каждый день отдельно — будут скачки: сегодня +5, завтра +12, послезавтра +3. Сложно понять, теплеет или холодает.
Скользящая средняя за 7 дней берёт среднее за последние 7 записей. Скачки сглаживаются, тренд становится виден.
В трейдинге то же самое. **Простая скользящая средняя (SMA)** за N дней — это среднее значение цены закрытия за последние N торговых дней. Чем больше N — тем более «длинный» тренд она отражает и тем медленнее реагирует на изменения.
---
## Логика стратегии: золотой крест и крест смерти
Мы используем **две скользящие средние** с разными периодами:
- **SMA(20)** — быстрая, отражает краткосрочный тренд
- **SMA(50)** — медленная, отражает среднесрочный тренд
**Правила:**
| Сигнал | Условие | Действие |
|--------|---------|----------|
| 🟢 Золотой крест | SMA(20) поднимается **выше** SMA(50) | Покупаем |
| 🔴 Крест смерти | SMA(20) опускается **ниже** SMA(50) | Продаём |
**Логика:** Когда краткосрочный тренд обгоняет долгосрочный — это сигнал силы. Рынок набирает импульс вверх. Когда всё наоборот — импульс ослабевает, пора выходить.
---
## Результаты бэктеста
Запустим стратегию на акциях Apple (AAPL) за 2020–2024 годы (данные Yahoo Finance):
| Параметр | Значение |
|----------|---------|
| Тикер | AAPL |
| Период | 01.01.2020 — 01.01.2024 |
| Стартовый капитал | 100 000 руб. |
| Итоговый капитал | ~156 000 руб. |
| Общая доходность | ~56% |
| Количество сделок | ~12 |
*Примечание: точные цифры зависят от периода и тикера. Запустите [код из репозитория](../../code-examples/backtesting/sma_crossover_backtest.py) самостоятельно.*
**Важный контекст:** 2020–2024 — период мощного бычьего рынка для американских акций. В таких условиях трендовые стратегии работают хорошо. Это не универсальная правда.
---
## Когда стратегия работает — и когда нет
Честность важнее оптимизма. Вот реальная картина:
### Работает хорошо:
- **Трендовые рынки** — когда акция долго и уверенно растёт или падает
- **Низкая волатильность** внутри тренда
- **Ликвидные инструменты** — голубые фишки MOEX: SBER, GAZP, LKOH
### Работает плохо:
- **Боковые рынки (флет)** — цена ходит вбок, стратегия генерирует много ложных сигналов
- **Резкие развороты** — быстрые изменения тренда, которые SMA не успевает поймать
- **Высокая волатильность** — много «пил», много убыточных сделок
Это не недостаток стратегии — это её природа. **Трендовые стратегии теряют на флете.** Задача трейдера — понять, в каком режиме находится рынок прямо сейчас.
---
## Как улучшить стратегию: 3 идеи для экспериментов
### Идея 1: Добавить фильтр тренда
Прежде чем торговать сигнал, проверяем: а есть ли вообще тренд? Один из способов — **ADX (Average Directional Index)**. Если ADX > 25 — тренд есть, торгуем. Если ADX < 25 — рынок в боковике, пропускаем сигнал.
```python
# Псевдокод (реализация — следующий шаг)
if adx > 25 and golden_cross:
buy()
```
### Идея 2: Оптимизировать периоды
Мы взяли 20 и 50 — классические значения. Но для разных инструментов и таймфреймов оптимальные периоды могут быть другими. Попробуйте перебрать комбинации (например, 10/30, 15/45, 20/100) и посмотреть, как меняются результаты.
Только осторожно: слишком хорошая подстройка под исторические данные — это **переобучение**. На реальном рынке такая стратегия работать не будет.
### Идея 3: Добавить стоп-лосс и тейк-профит
Голая стратегия без управления рисками — это рецепт крупных убытков на плохих периодах. Простейший вариант: выходить из позиции, если убыток превысил 5%, независимо от положения скользящих средних.
```python
# Стоп-лосс: если просадка от цены покупки > 5% — выходим
if (entry_price - current_price) / entry_price > 0.05:
sell() # стоп-лосс
```
---
## Главный урок
SMA-кроссовер — это не «грааль». Но это **отличная точка входа** в алготрейдинг, потому что:
1. Логика понятна без математического образования
2. Код простой — его можно разобрать за 30 минут
3. Ограничения стратегии учат думать о рынке системно
Понять, **почему простая стратегия не работает в определённых условиях** — это и есть первый шаг к более сложным системам.
---
## Запусти эту стратегию сам
Теория — это хорошо. Но ничто не заменяет опыта реальной торговли.
На **AreNaGo** вы можете:
- Загрузить свою стратегию в **Генератор торговых стратегий**
- Запустить её в **Тренировочной Арене** на реальных данных MOEX
- Сравнить результаты с другими участниками на соревнованиях
**Протестируй стратегию SMA-кроссовер на реальных данных прямо сейчас:**
👉 [arenago.ru](https://arenago.ru)
---
*Пример для обучения. Прошлая доходность не гарантирует будущую. Не является инвестиционной рекомендацией.*
*AlgoTrading Technologies*
0
17
0
Пока нет комментариев. Будьте первым!