Трейдеры тратят часы на просмотр графиков, но пропускают разворотные паттерны. Наша система автоматического распознавания свечных паттернов для алгоритмического трейдинга решает эту проблему. Серверный движок на Python сканирует сотни инструментов на нескольких таймфреймах и выдаёт сигналы с контекстной фильтрацией. Мы используем методику японских свечей, дополненную TA-Lib и собственными алгоритмами, чтобы исключить человеческий фактор. Результат — точность входа на 10–15% выше, чем у сырых детекторов.
Система подходит как для автоматической торговли, так и для ручного трейдинга с уведомлениями. Стоимость разработки обсуждается индивидуально — клиенты отмечают существенную экономию за счёт автоматизации.
Почему автоматическое распознавание паттернов работает эффективнее ручного?
Человеческий глаз замечает 3–5 паттернов за сессию, а алгоритм обрабатывает тысячи свечей в секунду. Свечной анализ — японская методология, которой несколько сотен лет, но в алгоритмической торговле она получила вторую жизнь. Библиотека TA-Lib содержит готовые функции для большинства классических паттернов.
Классификация свечных паттернов
- Односвечные: Doji, Hammer, Inverted Hammer, Shooting Star, Spinning Top, Marubozu.
- Двухсвечные: Bullish/Bearish Engulfing, Harami, Piercing Line, Dark Cloud Cover, Tweezer Top/Bottom.
- Трёхсвечные (наиболее надёжные): Morning Star, Evening Star, Three White Soldiers, Three Black Crows, Three Inside Up/Down, Abandoned Baby.
Как отфильтровать ложные сигналы?
Сырой детектор паттернов даёт много ложных срабатываний. Контекстная фильтрация значительно повышает качество:
- Трендовый контекст — Hammer валиден только при нисходящем тренде, Shooting Star — при восходящем. Тренд определяется через EMA(20) или линейную регрессию за последние N свечей.
- Уровни поддержки/сопротивления — паттерн вблизи ключевого уровня имеет вес выше, чем в середине диапазона.
- Объём — паттерн с объёмом выше среднего значительно надёжнее. Morning Star с высоким объёмом на третьей свече — сильный сигнал разворота.
- ATR-фильтр — в периоды низкой волатильности (ATR ниже N%) паттерны игнорируются как статистический шум.
Алгоритм распознавания
Каждый паттерн описывается набором математических условий относительно параметров свечей (open, high, low, close, volume).
Пример кода: Bullish Engulfing
def is_bullish_engulfing(prev, curr): prev_bearish = prev['close'] < prev['open'] curr_bullish = curr['close'] > curr['open'] curr_body_size = curr['close'] - curr['open'] prev_body_size = prev['open'] - prev['close'] engulfs = (curr['open'] <= prev['close'] and curr['close'] >= prev['open']) min_body_ratio = curr_body_size / prev_body_size >= 1.1 return prev_bearish and curr_bullish and engulfs and min_body_ratio Пример кода: Doji
def is_doji(candle, threshold=0.1): body = abs(candle['close'] - candle['open']) range_ = candle['high'] - candle['low'] return (body / range_) <= threshold if range_ > 0 else False Нормализация свечей — абсолютные значения тела и теней сравниваются через коэффициенты, а не абсолютные цифры. Тело > 70% от диапазона = сильная свеча. Тело < 10% = doji. Тени > 2× тела = hammer/shooting star.
Backtesting и win rate
Мы используем TA-Lib как baseline и дополняем собственными реализациями с контекстной фильтрацией. Backtesting на BTC/USDT (1h, за последние несколько лет):
| Паттерн | Кол-во сигналов | Win Rate (без контекста) | Win Rate (с фильтром тренда) |
|---|---|---|---|
| Bullish Engulfing | 1840 | 52% | 61% |
| Morning Star | 412 | 56% | 67% |
| Hammer | 2190 | 49% | 58% |
| Three White Soldiers | 186 | 64% | 71% |
Сравнение паттернов по надёжности
| Паттерн | Надёжность | Частота | Лучший таймфрейм |
|---|---|---|---|
| Morning Star | Высокая | Низкая | 1h–4h |
| Engulfing | Средняя | Высокая | 15m–1h |
| Hammer | Низкая | Очень высокая | 1h–4h |
| Three White Soldiers | Высокая | Очень низкая | 1d |
Мультитаймфреймовый анализ
Система сканирует все заданные инструменты одновременно на нескольких таймфреймах (15m, 1h, 4h, 1d). Мультитаймфреймовый анализ позволяет выявлять конвергенцию паттернов — приоритетный сигнал, подтверждённый на нескольких таймфреймах одновременно. Иерархия приоритетов: дневной > 4h > 1h > 15m. Сигнал от паттерна на 4h при наличии подтверждения на 1d получает score +30%.
Архитектура и стек
Python: pandas для работы с OHLCV, TA-Lib для базовых паттернов, собственные функции для расширенных паттернов с контекстом. CCXT для подключения к биржевым API. Этот стек широко используется в Python трейдинге.
Scheduler: APScheduler или Celery Beat для регулярного сканирования по закрытию свечи.
База паттернов: PostgreSQL — таблица с полями: instrument, timeframe, pattern_type, candle_timestamp, score, context (JSON), status (active/expired/triggered).
Уведомления: Telegram Bot с форматированными сообщениями: название паттерна, инструмент, таймфрейм, текущая цена, возможный target.
Визуализация: выделение паттернных свечей цветом/иконками на ценовом графике. TradingView Lightweight Charts или кастомный canvas renderer.
Процесс разработки
- Анализ требований и выбор торговых инструментов.
- Проектирование архитектуры и базы данных.
- Разработка алгоритмов распознавания и контекстной фильтрации.
- Тестирование на исторических данных с метриками win rate.
- Деплой системы в Docker-контейнере и интеграция с биржей.
Что входит в работу
Мы поставляем систему под ключ:
- Исходный код модуля распознавания (Python, лицензия MIT)
- Конфигурационные файлы для настройки инструментов и таймфреймов
- Документация по API и примерам интеграции
- Скрипт развёртывания (Docker + docker-compose)
- Обучение команды заказчика (2–4 часа онлайн)
- Поддержка на этапе тестирования (2 недели)
Получите работающую систему под ключ. Наш опыт — более 50 проектов в криптотрейдинге. Свяжитесь с нами для консультации. Закажите консультацию, и мы оценим проект за 1–2 дня.







