PatternX methodology
How PatternX detects chart patterns
By the PatternX team · Published
Short answer
PatternX detects chart patterns with 20 deterministic detectors that apply fixed geometric rules to recent candles on 8 timeframes, from 1m to 1d. A match counts only if its breakout is on the latest bar (which may still be forming), it passes universal market-quality filters, and its target and stop give a reward:risk of at least 1. Detection is identical in Classic and AI mode.
PatternX finds chart patterns with code, not judgment calls. Twenty detectors, one per pattern, apply fixed geometric rules to price data, and every match must then clear the same filters and checks. This page follows a setup from raw candles to a signal.
Candles, timeframes and the 200-bar fetch
The engine works on OHLCV candles (open, high, low, close and volume) on eight timeframes: 1m, 3m, 5m, 15m, 30m, 1h, 4h and 1d. New accounts start with 5m, 15m and 1h selected. For every venue, symbol and timeframe being scanned, PatternX fetches the latest 200 bars, and a series needs at least 60 bars before it is scanned at all. Those 200 bars are an upper limit; each detector reads only its own trailing window, listed in the table further down.
Swing points, confirmed a few bars late
Most chart patterns are built from peaks and troughs. In PatternX, a bar is a swing high when its high is the highest of every bar from w bars before it to w bars after it, and swing lows mirror this. The cup and handle, head-and-shoulders, double and triple detectors use w = 3. Triangles, wedges and rectangles use w = 2.
The consequence is a built-in delay: a peak only counts once w more bars exist. For example, on a 15m chart with w = 3, a peak printed at 10:00 cannot be confirmed until about 45 minutes later. Flags, pennants and rounding patterns are measured differently, from the pole move, the ranges of the consolidation and averaged closes.
The 20 detectors and their windows
All 20 detectors run on every scan, and each returns at most one match. A detector's geometry score is capped at 85.
| Pattern | Direction traded | Lookback window |
|---|---|---|
| Cup and handle | Long | 80 bars |
| Head and shoulders | Short | 90 bars |
| Inverse head and shoulders | Long | 90 bars |
| Double top | Short | 90 bars |
| Double bottom | Long | 90 bars |
| Triple top | Short | 110 bars |
| Triple bottom | Long | 110 bars |
| Ascending triangle | Long | 80 bars |
| Descending triangle | Short | 80 bars |
| Symmetrical triangle | Long or short, set by the breakout | 75 bars |
| Falling wedge | Long | 70 bars |
| Rising wedge | Short | 70 bars |
| Bull flag | Long | Up to about 41 bars, pole included |
| Bear flag | Short | Up to about 41 bars, pole included |
| Bullish pennant | Long | Up to about 41 bars, pole included |
| Bearish pennant | Short | Up to about 41 bars, pole included |
| Bullish rectangle | Long | 90 bars |
| Bearish rectangle | Short | 90 bars |
| Rounding bottom | Long | Fixed 45-bar base |
| Rounding top | Short | Fixed 45-bar base |
Three details matter when you read a signal. The continuation and reversal labels are descriptive only: no rule depends on them, and only the rectangle detectors check the trend before the pattern. No detector has a volume rule of its own beyond the universal check below. And a formation larger than its detector's window is not seen at all.
The breakout must be on the latest bar
A detector reports a match only when the breakout happens on the most recent bar. Most want a fresh close through the key level, such as a close through the neckline of a double top, a close above 0.999 × the rim of a cup, or a close at least 0.1% beyond the flat edge of an ascending triangle.
That latest bar may still be forming. PatternX does not wait for it to finish, so its close is simply the most recent price. A breakout seen three minutes into a 15-minute bar can sink back inside the pattern before the bar ends. Reacting early has this cost, and it is one source of false breakouts.
Universal filters every match must pass
A geometric match is only a candidate. It is dropped unless all of these hold:
- Direction. The breakout bar moves the trade's way: up from its open for a long, down from its open for a short.
- Volume. Breakout-bar volume is at least 1.2× its 20-bar average.
- Volatility. ATR as a percentage of price is at least 0.05.
- Liquidity. The market's liquidity score is at least 30.
- Spread. The spread is no wider than 0.25%.
- Order book. Order-book imbalance against the trade is not worse than −0.5.
- 24-hour volume, crypto only. At least $3M traded in the last 24 hours. Broker markets are exempt.
A higher-timeframe check that only moves the score
PatternX also reads 100 bars of the next timeframe up and checks whether that trend agrees with the trade. This multi-timeframe check changes the score only. A disagreeing higher timeframe never rejects a signal on its own.
Scoring and the confidence floor
Candidates that pass the filters are rated by the 13-factor PatternX Score, which becomes the signal's confidence. The engine discards anything under 50. Your own minimum confidence, 65 by default and adjustable from 50 to 95, then decides what reaches you. In AI mode, the context layer evaluates the setup between these two steps; detection itself is unchanged.
Targets and stops
Each detector proposes a stop and a measured-move target from the pattern's geometry. The engine first combines them with platform defaults of a 10% take-profit and a 5% stop-loss:
- Stop: the tighter of the percentage stop and the pattern stop, with a 0.2% buffer beyond the pattern level.
- Target: the nearer of the percentage target and the pattern target.
- Reward:risk: a setup below 1 is dropped.
The levels are then recalculated with your own take-profit and stop-loss settings. Elite accounts can also switch on filters for minimum reward:risk, an ATR band and maximum spread.
For example, take a hypothetical long entered at 100 with a pattern stop at 97 and a measured move to 106. With the default 10% and 5%, the stop becomes 96.81 (97 less the 0.2% buffer, tighter than 95) and the target 106 (nearer than 110). Reward:risk is 6 ÷ 3.19, about 1.9, so the setup stays. Had the pattern stop been 94 and the pattern target 103.5, the stop would be 95 and the ratio 3.5 ÷ 5 = 0.7, so the setup would be dropped.
There is no invalidation logic once a signal or trade exists. If the pattern fails afterwards, the stop is the exit.
Duplicates and the 15-minute expiry
A breakout can sit on the latest bar for several scans in a row. So that it does not fire each time, every signal carries a fingerprint made of the venue, symbol, timeframe, pattern and a reference point in the formation. A fingerprint already recorded for your account is ignored, and one completed formation produces one signal. Signals are also short-lived: in manual mode a signal waits for your approval, in the app or through Telegram where you have it set up, and expires after 15 minutes.
What gets scanned
PatternX has no fixed market list. Your scanning universe is your connected venues × your tracked symbols × your chosen timeframes. For crypto, the picker offers the top 20 symbols by 24-hour volume on each exchange; traditional markets use a curated list of 309 instruments reached through your own broker connection.
| Plan | Tracked symbols | Rescan interval |
|---|---|---|
| Free | 3 | 120 s |
| Starter | 20 | 60 s |
| Pro | 100 | 30 s |
| Elite | Unlimited | 10 s |
For example, a Starter account tracking 20 pairs on one exchange on 5m, 15m and 1h has 60 series, each rechecked about every 60 seconds.
Limitations
The rules are geometric and fixed. They ignore news and fundamentals, they can miss formations a human would accept, and they can match price action a human would reject. One move can also trigger two detectors, such as a flag and a pennant. For the full list of caveats, read what PatternX can't do; for how detection feeds both modes, see PatternX Classic vs PatternX AI.
Frequently asked questions
Does PatternX wait for the candle to finish before signalling?
No. The breakout has to be on the latest bar, and that bar may still be forming, so price can move back inside the pattern before it ends. In manual mode you can check the chart before you approve.
Which timeframes does PatternX scan?
Eight: 1m, 3m, 5m, 15m, 30m, 1h, 4h and 1d. New accounts start with 5m, 15m and 1h, and you choose which ones to scan.
Why didn't PatternX flag a pattern I can see on my chart?
Usually one of these: the formation is larger than the detector's window, the breakout isn't on the latest bar, a filter such as volume or spread rejected it, the score fell below your minimum, or the symbol isn't on your tracked list.
Is pattern detection different in PatternX AI mode?
No. Both modes run the same 20 detectors and the same filters; the AI context layer only evaluates setups after they have been detected and scored.
Can the same breakout produce two signals?
Not for the same pattern: a fingerprint stops one formation from firing again on later scans. Two different detectors can still match the same move, and each then produces its own signal.