Candlestick Pattern Recognition for Algorithmic Trading

Candlestick Pattern Recognition for Algorithmic Trading Traders spend hours staring at charts but still miss reversal patterns. Our automatic candlestick pattern recognition system for algorithmic trading eliminates that. A Python-based server engine scans hundreds of instruments across multiple

Blockchain Development Services

Frequently Asked Questions

Latest works

  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1309
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1270
  • image_logo-advance_0.webp
    B2B Advance company logo design
    719
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1011
  • image_logo-aider_0.webp
    AIDER company logo development
    955
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    1062

Candlestick Pattern Recognition for Algorithmic Trading

Traders spend hours staring at charts but still miss reversal patterns. Our automatic candlestick pattern recognition system for algorithmic trading eliminates that. A Python-based server engine scans hundreds of instruments across multiple timeframes and outputs signals with contextual filtering. We use the Japanese candlestick methodology, enhanced with TA-Lib and proprietary algorithms, to remove the human factor. The result is entry accuracy 10–15% higher than raw detectors.

The system fits both automated trading and manual trading with notifications. Development cost starts from $2,500 depending on complexity. Clients report average savings of $1,200 per month on manual analysis.

Why Automatic Pattern Recognition Works Better Than Manual

The human eye catches 3–5 patterns per session, while an algorithm processes thousands of candles per second. Candlestick analysis is a Japanese methodology centuries old, but it has found new life in algorithmic trading. The TA-Lib library contains ready-made functions for most classic patterns.

Classification of Candlestick Patterns

  • Single-candle: Doji, Hammer, Inverted Hammer, Shooting Star, Spinning Top, Marubozu.
  • Two-candle: Bullish/Bearish Engulfing, Harami, Piercing Line, Dark Cloud Cover, Tweezer Top/Bottom.
  • Three-candle (most reliable): Morning Star, Evening Star, Three White Soldiers, Three Black Crows, Three Inside Up/Down, Abandoned Baby.

How to Filter False Signals

A raw pattern detector generates many false triggers. Contextual filtering significantly improves quality:

  • Trend context — Hammer is valid only in a downtrend, Shooting Star only in an uptrend. Trend is determined via EMA(20) or linear regression over the last N candles.
  • Support/resistance levels — a pattern near a key level carries more weight than one in the middle of a range.
  • Volume — a pattern with above-average volume is much more reliable. Morning Star with high volume on the third candle is a strong reversal signal.
  • ATR filter — during low volatility periods (ATR below N%), patterns are ignored as statistical noise.

Recognition Algorithm

Each pattern is defined by a set of mathematical conditions on candle parameters (open, high, low, close, volume).

Example code: 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 
Example code: 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 

Normalization — absolute body and shadow sizes are compared via ratios, not absolute values. Body > 70% of range = strong candle. Body < 10% = doji. Shadows > 2× body = hammer/shooting star.

Backtesting and Win Rate

We use TA-Lib as a baseline and supplement with our own implementations featuring contextual filtering.

Backtesting on BTC/USDT (1h, over recent years, data from Binance historical OHLCV 2019-2024 [TA-Lib documentation]):

Pattern Signals Win Rate (no context) Win Rate (with trend filter)
Bullish Engulfing 1840 52% 61%
Morning Star 412 56% 67%
Hammer 2190 49% 58%
Three White Soldiers 186 64% 71%

Pattern Reliability Comparison

Pattern Reliability Frequency Best Timeframe
Morning Star High Low 1h–4h
Engulfing Medium High 15m–1h
Hammer Low Very high 1h–4h
Three White Soldiers High Very low 1d

Multi-Timeframe Analysis

The system scans all configured instruments simultaneously across multiple timeframes (15m, 1h, 4h, 1d). Multi-timeframe analysis reveals pattern convergence — a prioritized signal confirmed on several timeframes simultaneously. Priority hierarchy: daily > 4h > 1h > 15m. A pattern signal on 4h with confirmation on 1d receives a score boost of +30%.

Architecture and Stack

  • Python: pandas for OHLCV data, TA-Lib for basic patterns, custom functions for extended patterns with context.
  • CCXT for exchange API connectivity. This stack is widely used in Python trading.
  • Scheduler: APScheduler or Celery Beat for regular scanning at candle close.
  • Pattern database: PostgreSQL — table with fields: instrument, timeframe, pattern_type, candle_timestamp, score, context (JSON), status (active/expired/triggered).
  • Notifications: Telegram Bot with formatted messages: pattern name, instrument, timeframe, current price, possible target.
  • Visualization: highlight pattern candles with colors/icons on the price chart. TradingView Lightweight Charts or custom canvas renderer.

Development Process

  1. Requirements analysis and selection of trading instruments.
  2. Architecture and database design.
  3. Development of recognition algorithms and contextual filtering.
  4. Backtesting on historical data with win rate metrics.
  5. Deployment in a Docker container and integration with the exchange.

What’s Included (Deliverables)

We deliver a turnkey system:

  • Source code of the recognition module (Python, MIT license)
  • Configuration files for instruments and timeframes
  • API documentation and integration examples
  • Deployment script (Docker + docker-compose)
  • Training for the client’s team (2–4 hours online)
  • Support during the testing phase (2 weeks)
  • Access to private Git repository with version history
  • Webhook endpoints for external integration

Our team has 10+ years combined experience in algorithmic trading and has completed over 50 projects. We provide a guaranteed accuracy improvement and certified code reviews upon request.

Get a working system tailored to your needs. Our track record includes over 50 crypto trading projects. Contact us for a consultation — leave a request, and we will estimate your project in 1–2 days.