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

Трейдери витрачають години на перегляд графіків, але пропускають розворотні патерни. Наша система автоматичного розпізнавання свічкових патернів для алгоритмічного трейдингу вирішує цю проблему. Автоматичне розпізнавання в 100 разів швидше за ручне. Серверний двигун на Python сканує сотні інструмент

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1452
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1005
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1270
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1011

Трейдери витрачають години на перегляд графіків, але пропускають розворотні патерни. Наша система автоматичного розпізнавання свічкових патернів для алгоритмічного трейдингу вирішує цю проблему. Автоматичне розпізнавання в 100 разів швидше за ручне. Серверний двигун на Python сканує сотні інструментів на кількох таймфреймах і видає сигнали з контекстною фільтрацією. Ми використовуємо методику японських свічок, доповнену TA-Lib та власними алгоритмами, щоб виключити людський фактор. Результат — точність входу на 10–15% вища, ніж у сирих детекторів.

Система підходить як для автоматичної торгівлі, так і для ручного трейдингу зі сповіщеннями. Гарантія якості — повернення коштів протягом 14 днів, якщо система не працює. Вартість розробки: базовий модуль від $500, повна версія від $2000. Клієнти відзначають суттєву економію за рахунок автоматизації.

Чому автоматичне розпізнавання патернів працює ефективніше за ручне?

Людське око помічає 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%

Дані отримані з backtesting на історичних даних BTC/USDT, джерело: TA-Lib documentation (https://github.com/TA-Lib/ta-lib-python)

Порівняння патернів за надійністю

Патерн Надійність Частота Найкращий таймфрейм
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.

Процес розробки

  1. Аналіз вимог і вибір торгових інструментів.
  2. Проектування архітектури та бази даних.
  3. Розробка алгоритмів розпізнавання та контекстної фільтрації.
  4. Тестування на історичних даних з метриками win rate.
  5. Деплой системи в Docker-контейнері та інтеграція з біржею.

Що входить в роботу

Ми постачаємо систему під ключ:

  • Вихідний код модуля розпізнавання (Python, ліцензія MIT)
  • Конфігураційні файли для налаштування інструментів і таймфреймів
  • Документація по API та прикладам інтеграції
  • Скрипт розгортання (Docker + docker-compose)
  • Навчання команди замовника (2–4 години онлайн)
  • Підтримка на етапі тестування (2 тижні)

Отримайте працюючу систему під ключ. Наш досвід — понад 50 проектів у криптотрейдингу. Зв'яжіться з нами для консультації. Замовте консультацію, і ми оцінимо проект за 1–2 дні.