Представьте: вы настроили стратегию на основе скользящих средних, но на боковом рынке получаете 10 убыточных сделок подряд. Просадка 15%, и вы выходите из тренда за день до его начала. Знакомая ситуация? Наши алгоритмы trend following решают эту проблему комплексно: фильтруют ложные сигналы, адаптируют размер позиции под волатильность и используют trailing stop для фиксации прибыли. Средняя экономия на комиссиях после внедрения составляет 20–30% за счёт оптимизации количества сделок.
Trend following — одна из наиболее долгоживущих торговых стратегий: следуем за трендом, пока он не закончится. Отличие от momentum: momentum предсказывает продолжение на основе прошлой доходности, trend following просто следует за текущим движением с помощью технических индикаторов. Наши алгоритмы проходят бэктестинг на исторических данных глубиной до 5 лет, чтобы минимизировать просадки и обеспечить стабильность.
Получите консультацию, чтобы обсудить ваш проект и подобрать оптимальные параметры.
Как идентифицировать тренд?
Moving Average crossover — классика. EMA(9) пересекает EMA(21) снизу вверх — восходящий тренд, входим в лонг. Обратное — нисходящий, входим в шорт или выходим. Dual Moving Average System использует два скользящих средних (быстрое + медленное): позиция держится пока быстрое выше медленного. Triple MA система: быстрое > среднее > медленное — бычий сигнал. Donchian Channel — канал из N-периодного максимума и минимума. Пробой верхней границы = вход в лонг. Классика Turtle Trading Ричарда Денниса.
Почему ATR важен для управления позицией?
Размер позиции определяется через ATR (Average True Range) — вместо фиксированного процента капитала. Это гарантирует одинаковый денежный риск на каждую сделку. Например, при ATR = 100$ и риске 1% капитала в 10 000$ позиция составит 0.5 BTC. ATR-based подход лучше фиксированного лота при резких колебаниях рынка.
def calculate_position_size(capital, entry_price, atr, risk_pct=0.01): risk_amount = capital * risk_pct stop_distance = 2 * atr qty = risk_amount / stop_distance return qty Pyramiding как метод наращивания позиции
Pyramiding — добавление к прибыльным позициям при продолжении тренда. Ключевая техника turtle trading: при каждом следующем ATR-движении в направлении тренда добавляем позицию уменьшенного размера. Максимум 4 добавления, каждое только если текущая совокупная позиция прибыльна. Это позволяет наращивать экспозицию в сильных трендах, увеличивая прибыль в 2–3 раза по сравнению с одноразовым входом.
Trailing stop и фиксация прибыли
Trend following без trailing stop — не trend following. Позиция держится пока тренд продолжается, закрывается при его окончании. Варианты:
- ATR trailing stop: стоп сдвигается вверх на N × ATR ниже максимальной достигнутой цены
- Chandelier Exit: 3×ATR от N-периодного maximum
- MA trailing: выходим если цена закрылась ниже EMA(21)
Для минимизации преждевременных выходов часто используют Chandelier Exit с множителем 3 и периодом 22 свечи.
Фильтры входа
Чтобы не торговать при слабом тренде:
- ADX > 20 перед входом
- Объём выше среднего за 20 дней при пробое
- Волатильность не экстремально высокая: ATR < 2× среднего — не торгуем при рыночной панике
Эти фильтры повышают процент прибыльных сделок с 30% до 45%.
Сравнение методов идентификации тренда
| Метод | Сигнал | Преимущество | Недостаток |
|---|---|---|---|
| MA crossover | Пересечение EMA | Простота, историческая проверка | Запаздывание на флэте |
| Donchian Channel | Пробой границы | Чёткий вход, сильные тренды | Много ложных пробоев |
| ADX | Значение > 20 | Фильтр силы тренда | Не даёт направление |
Бэктестинг и метрики эффективности
Trend following системы работают хорошо на долгосрочных тестах, но имеют значительные drawdown периоды. Ключевые метрики:
| Метрика | Формула | Нормальное значение |
|---|---|---|
| MAR Ratio | CAGR / Max Drawdown | более 0.5 |
| Calmar Ratio | CAGR / Max Drawdown (annual) | более 1.0 |
| Win Rate | Прибыльные сделки / все | 30–40% |
| Profit Factor | Валовая прибыль / убыток | более 1.5 |
Стек: Python, pandas, CCXT, PostgreSQL. Система работает в реальном времени, проверяя условия на каждом закрытии свечи выбранного таймфрейма. Поддержка нескольких инструментов одновременно с корреляционным контролем портфеля.
Процесс разработки и внедрения
- Сбор исторических данных — загрузка тиков и свечей через CCXT, очистка выбросов.
- Определение параметров — выбор индикаторов, периода и множителей через генетический алгоритм.
- Написание кода на Python — реализация логики входа/выхода, размер позиции, ордер-менеджмент.
- Бэктестинг и оптимизация — тест на исторических данных с учётом комиссий и проскальзываний, подбор параметров по Sharpe и Calmar.
- Запуск на демо-счете — проверка в реальном времени в течение 2–4 недель.
- Переход на реальный счёт — постепенное наращивание капитала, мониторинг.
Что входит в наш сервис
- Документация — техническое задание, описание стратегии и логики.
- Исходный код — полностью открытый код на Python с комментариями.
- Бэктестинг — исторические тесты с отчётом.
- Обучение — сессия по работе с системой.
- Поддержка — 2 недели после запуска на реальном счёте.
Сроки и стоимость
Ориентировочные сроки: от 2 до 6 недель в зависимости от сложности (количество инструментов, типы ордеров, требования к отказоустойчивости). Стоимость рассчитывается индивидуально после анализа вашего ТЗ, но инвестиции окупаются в течение 3–6 месяцев за счёт автоматизации и снижения комиссий. Мы работаем на рынке более 5 лет, реализовали 20+ проектов по алгоритмической торговле.
Свяжитесь с нами, чтобы заказать разработку алгоритма прямо сейчас.







