Разработка системы распознавания свечных паттернов

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Разработка системы распознавания свечных паттернов
Сложный
~1-2 недели
Часто задаваемые вопросы

Направления блокчейн-разработки

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1288
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    902
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1122
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    859

Разработка системы распознавания свечных паттернов

Свечной анализ — японская методология, которой несколько сотен лет, но в контексте алгоритмической торговли она получила вторую жизнь. Автоматическое распознавание паттернов на тысячах инструментов одновременно даёт то, что невозможно сделать вручную.

Классификация свечных паттернов

Односвечные паттерны (простейшие, высокая частота):

  • 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

Алгоритм распознавания

Каждый паттерн описывается набором математических условий относительно параметров свечей (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.

Контекстная фильтрация

Сырой детектор паттернов даёт много ложных сигналов. Контекстная фильтрация значительно повышает качество:

Трендовый контекст — Hammer валиден только при нисходящем тренде, Shooting Star — при восходящем. Тренд определяется через EMA(20) или линейную регрессию за последние N свечей.

Уровни поддержки/сопротивления — паттерн вблизи ключевого уровня имеет вес выше, чем в середине диапазона.

Объём — паттерн с объёмом выше среднего значительно надёжнее. Morning Star с высоким объёмом на третьей свече — сильный сигнал разворота.

ATR-фильтр — в периоды низкой волатильности (ATR ниже N%) паттерны игнорируются как статистический шум.

Backtesting и win rate

Библиотека TA-Lib (Python/C) содержит готовые функции для распознавания большинства классических паттернов. Мы используем её как baseline и дополняем собственными реализациями с контекстной фильтрацией.

Backtesting на BTC/USDT (1h, 2020–2024):

Паттерн Кол-во сигналов Win Rate (без контекста) Win Rate (с фильтром тренда)
Bullish Engulfing 1840 52% 61%
Morning Star 412 56% 67%
Hammer 2190 49% 58%
Three White Soldiers 186 64% 71%

Мультитаймфреймовый скан

Система сканирует все заданные инструменты одновременно на нескольких таймфреймах (15m, 1h, 4h, 1d). Паттерн, подтверждённый на нескольких таймфреймах одновременно — приоритетный сигнал.

Иерархия приоритетов: дневной > 4h > 1h > 15m. Сигнал от паттерна на 4h при наличии подтверждения на 1d получает score +30%.

Архитектура и стек

Python: pandas для работы с OHLCV, TA-Lib для базовых паттернов, собственные функции для расширенных паттернов с контекстом. CCXT для подключения к биржевым API.

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.

Результат — скалируемая система, которая мониторит сотни инструментов и отправляет уведомления о качественных свечных сигналах с фильтрацией по контексту.