PatternX research · Pre-registered — data not yet analysed

Chart Pattern Performance by Timeframe

By the PatternX team · Published

Research question

How do the detection frequency, target-before-stop rate and net R-multiple of PatternX's 20 production pattern detectors change across its eight timeframes, from 1m to 1d, when replayed on completed bars over one shared period with identical cost assumptions, and on which timeframes, if any, does mean net R differ from that of matched random entries?

No results yet. This page publishes the study design before any data is analysed, so the method can’t be adjusted to fit the outcome. Results will appear here — with sample size, period and confidence intervals — once the analysis is complete.

MarketsPrimary: the 20 most-traded USDT-margined perpetual contracts on Binance, re-ranked monthly from past volume. Replication: the 123 US stocks on PatternX's curated traditional list, regular-session bars only.
TimeframesAll eight: 1m, 3m, 5m, 15m, 30m, 1h, 4h and 1d, over one shared calendar period so that each timeframe sees the same market history.
PeriodTo be fixed before analysis
Sample sizeReported with the results
Data sourcePatternX's deterministic detectors replayed over historical exchange/broker candles, using the production rules

Methodology

Registered before analysis. The aim is a like-for-like comparison: the same instruments, the same calendar span and the same costs on every timeframe, so that differences can be attributed to bar size.

  1. Replay. All 20 production detectors run on every series, one completed bar at a time, each call receiving the 200 bars ending at bar t. A bar is used only after its full interval has elapsed, and nothing later than t is read. Candles for each timeframe come from the venue, as in live scans. An instrument without history for the whole period on all eight timeframes is dropped from all of them, so the instrument set stays constant.
  2. Events. Same-direction detections on one series and bar are merged into one market event and credited to each pattern in per-pattern tables. Per series and pattern, a new detection counts only after the previous one resolves.
  3. Horizons in bars. Each detection is followed for H bars, H being its detector's window length. Bars keep the geometry comparable across timeframes; the calendar length of each horizon is reported alongside.
  4. Costs. The backtest engine's rates, applied identically everywhere: entry at the next bar's open plus 0.03% slippage, exits at the level less 0.03% (or at the open on a gap-through), same-bar touches counted as stops, 0.05% fees per side and 0.01% funding per 8 hours on perpetuals. Percentage costs weigh more where stops are tight, so cost per trade is reported in R and every result appears gross and net.
  5. Controls. Ten random entries per detection on the same series and month, with the same direction and level distances.
  6. Confirmatory test. One two-sided test at the 5% level, run once on the out-of-sample final 30% of the period: the slope of excess net R (detection minus control) against log2 of the timeframe in minutes, with standard errors clustered by instrument and week. The eight per-timeframe tests of excess R against zero are Holm-adjusted. The 160 pattern-by-timeframe cells are exploratory, carry Benjamini–Hochberg q-values and are never ranked into a league table.
  7. Reporting. For each timeframe, market and calendar year: detections per 1,000 bars, hit rate with 95% Wilson intervals, mean and median net R with week-block bootstrap intervals, the R histogram, the time-exit share and cost in R. Cells with fewer than 30 resolved detections show counts only. In-sample and out-of-sample results are shown side by side.
  8. Reproducibility. Results cite the detector release (git commit), a hash of all thresholds and cost settings, the candle snapshot checksums and the random seeds.

How success is defined

Primary outcome. A detection succeeds when price reaches the detector's target before its stop within H bars of entry, where H is that detector's trailing window (see the table under pattern criteria). Levels are those the detector returns: the measured-move target and the pattern stop with production's 0.2% buffer, computed from the signal bar's closing price and then frozen. A bar touching both counts as a stop; a detection that reaches neither within H bars closes at the H-th bar's closing price and is not a success.

Net R. R is the distance between the entry fill and the stop, so long and short patterns share one scale. The result is net profit or loss after costs, divided by R.

Excess R, the compared quantity. Net R of a detection minus the mean net R of its ten matched random entries. Comparing excess R rather than raw hit rates matters here: the chance that any bracket resolves within H bars, and the share of costs in R, both change with bar size.

Secondary outcomes.

  • Gross R before costs, and cost per trade in R.
  • Detections per 1,000 completed bars, before and after each candle-based filter.
  • The production-default bracket (target capped at 10%, stop at 5%, reward:risk below 1 dropped). Whether those caps bind depends on how large pattern levels are relative to price, which tends to grow with bar size, so the share of trades the caps change is reported per timeframe.
  • Calendar time from entry to resolution.

Sensitivity. Horizons of H ÷ 2 and 2H; doubled costs; equal weight per pattern instead of per detection.

Pattern and strategy criteria

All 20 production detectors, unchanged. Each pattern's full rules are on its page in the pattern library, and the shared mechanics are in how PatternX detects patterns. The rules that interact with bar size:

Detector familyTrailing window (bars)Horizon H in this study
Cup and handle8080
Head and shoulders, inverse9090
Double top and bottom9090
Triple top and bottom110110
Ascending and descending triangles8080
Symmetrical triangle7575
Rising and falling wedges7070
Bullish and bearish rectangles9090
Rounding bottom and top45-bar base45
Flags and pennantsabout 41 at most40
  • Windows are counted in bars. The same rule covers 80 minutes on a 1m chart and 80 days on a 1d chart; formations longer than a window are not seen on that timeframe.
  • Swing points are confirmed 3 bars late for cups, head and shoulders, doubles and triples, and 2 bars late for triangles, wedges and rectangles, so the delay in clock time grows with bar size.
  • Universal filters: the breakout candle's close in the trade direction; breakout volume ≥ 1.2× the 20-bar average; ATR% ≥ 0.05; liquidity score ≥ 30; spread ≤ 0.25%; order-book imbalance no worse than −0.5; crypto 24-hour volume ≥ $3M. The first three apply here; the liquidity, spread and order-book filters are neutral in replay. The ATR% floor is the same percentage on every timeframe, so it can remove far more 1m bars than daily ones; counts before and after it make this visible.
  • Higher-timeframe check: live scans compare each signal with the next timeframe up, a form of multi-timeframe analysis, but that only changes the score and never rejects a signal, so it plays no part here.
  • Levels: each detector's pattern stop and measured-move target; setups with reward:risk below 1 are dropped.

Exclusions

  • Incomplete coverage: instruments lacking history for the full shared period on any timeframe, removed from every timeframe so the instrument set is constant.
  • Thin crypto markets: trailing 24-hour candle volume, valued at closing prices, below $3M at the signal bar; stablecoin and pegged-asset contracts; a contract's first 7 days after listing.
  • Stock sessions and events: bars outside the regular session; outcome windows containing a trading halt; bars affected by corporate actions the data does not adjust for.
  • Duplicates: same-direction detections on one series and bar (merged into one event); repeat detections of a pattern while its previous trade on that series is open (skipped and counted).
  • Data faults: missing bars in the 200-bar window or the outcome window, zero-volume bars, venue outages.
  • Untradeable or censored: detections whose next bar opens beyond a level, and those fewer than H bars before the end of the data, counted separately.
  • Warm-up: the first 200 bars of every series.

Limitations

  • Nested timeframes are not independent. A formation on 4h is built from the same price moves as the 1h and 15m charts beneath it, so timeframe results are correlated views of one market, not separate replications.
  • Unequal precision. Over one calendar period, a crypto series has 1,440 one-minute bars for every daily bar. Daily estimates will have much wider intervals, and failing to detect a difference on 1d is not evidence that none exists.
  • Live frictions grow as bars shrink. Scan intervals of 10 to 120 seconds, manual approval and the 15-minute signal expiry are small next to a 4h bar but large next to a 1m bar. The replay's immediate entry is therefore likely to flatter short timeframes most.
  • Flat costs. Real slippage depends on order size, book depth and speed of the market; one flat rate cannot capture how much worse it can be during fast 1m moves.
  • Overnight gaps in stocks. Intraday horizons can span the close and the next open, so the stock replication mixes intraday moves with overnight gaps; results are also shown for trades resolved within one session.
  • Neutral context. Replayed detections are not filtered by the PatternX Score, so the study describes the detectors, not the signal stream a user with a minimum confidence would see.
  • History depth and regime. Some venues keep shorter histories at fine resolutions, which can limit the shared period, and one period's market conditions shape every timeframe's results at once. A single-pattern view is in the bull flag study.

Related reading

Educational content, not financial advice. Chart patterns describe probabilities, not certainties; trading — especially with leverage or outside regular hours — can lose money, including more than you expect. See the risk disclaimer.