Study design and coverage
The study evaluates 6,250 distinct Bull Flag market events under one fixed outcome methodology.
The analytical dataset contains 6,250 Bull Flag pattern families. A family is one distinct pattern event within a market and timeframe after repeated or overlapping observations are grouped, preventing the same event from being counted more than once.
The combined sample represents 59 Binance USDT-margined perpetual markets and 12 timeframes from 1m through 1d, with pattern dates from September 2019 through June 2026. Market representation varies by timeframe. Of the 6,250 families, 6,013 produced an eligible upward breakout, 234 resolved first in the opposite direction, and three had no breakout within the observation horizon. The main post-breakout statistics use the 6,013 upward-breakout families.
6,250 distinct pattern events
Every family enters the analytical sample once. The grouping rule is fixed before outcomes are counted, so successful patterns are not preferentially selected.
Claim boundary
These are confirmed-breakout observations. They estimate post-breakout outcomes, not how often an unfinished candidate will break out, and they do not include execution costs or position sizing.
Why lower timeframes contain more observations
Lower timeframes contain more completed candles over the same calendar span, which creates more opportunities for patterns to appear. The tested sample contains 896 families at 1m, 2,294 at 3m, and 2,041 at 5m. Counts need not form a perfectly descending sequence because market coverage and pattern frequency also vary by timeframe. The 1m result is secondary, while the study emphasizes 5m and above.
Detection atlas and timeframe sample sheets
More than 100 visually distinct detector outputs, cropped and de-identified for public comparison. Statistical results use the complete analytical cohort, not these selected examples.
Outcome definitions and statistical method
A win rate is meaningful only after the endpoint and denominator are fixed.
Favorable move
The highest favorable move after breakout confirmation and before the first qualifying reversal, structural invalidation, or time cap. The primary Bulkowski-style threshold is 5%.
Structural hold
Whether an eligible upward breakout avoids a close beyond the opposite flag boundary during the predeclared width-scaled observation window. This is not a profit measure.
Full-pole target
The classical descriptive measure rule. Invalid geometry and unresolved same-bar ordering are excluded from the target denominator, not treated as misses.
Uncertainty
Binary outcomes use two-sided 95% Wilson score intervals. Continuous moves emphasize the median and quartiles because the distribution is right-skewed.
Pattern geometry and the breakout reference were fixed before subsequent price behavior entered the outcome calculation. The formation could not be redrawn after its result was known. The same outcome definitions were applied to every family and timeframe.
The 5% success threshold is identical across timeframes. The causal stopping rule is not a fixed number of percentage points: it uses one predeclared ATR-based reversal formula with timeframe-specific lower and upper bounds, plus a width-scaled time cap. This controls for different noise levels, but it also means timeframe comparisons are descriptive rather than isolated causal effects.
The main post-breakout denominator is 6,013 eligible upward families. The full-pole target is evaluable for 5,997 of them; 12 ambiguous observations and four invalid targets are excluded from that endpoint rather than counted as misses. Every result below prints its applicable denominator.
Research and product continuity
The sample was produced by ChartScout's production pattern-classification system rather than by hand-selecting textbook examples for this article. The findings therefore describe the type of Bull Flag output used by the product. They apply to this study sample and its fixed outcome definitions; future data or software changes can produce different estimates.
Pooled outcomes across all measured timeframes
These rows combine distinct pattern events from every represented timeframe under one outcome contract.
| Endpoint | Numerator / denominator | Estimate | 95% Wilson interval |
|---|---|---|---|
| Structural hold | 4,585 / 6,013 | 76.25% | 75.16% to 77.31% |
| Favorable move ≥5% | 1,208 / 6,013 | 20.09% | 19.10% to 21.12% |
| Full-pole target | 1,430 / 5,997 | 23.85% | 22.78% to 24.94% |
Structural hold is a chart-validity outcome, not a profit rate. The full-pole denominator excludes 16 upward-breakout families whose target outcome could not be evaluated without ambiguity.
Practical timeframe aggregates
The 5m+ row removes the secondary 1m and 3m strata. The 15m+ row isolates slower intraday and swing-style observations. Both are shown so the all-timeframe estimate is not mistaken for the result on the timeframes most traders are likely to use.
| Cohort | Pattern families | Eligible upward | Structural hold | Move ≥5% | Full-pole target |
|---|---|---|---|---|---|
| 5m+ | 3,060 | 2,849 | 2,108/2,849 (73.99%) | 716/2,849 (25.13%) | 673/2,838 (23.71%) |
| 15m+ | 1,019 | 810 | 547/810 (67.53%) | 289/810 (35.68%) | 196/805 (24.35%) |
Wilson intervals for the 5m+ structural-hold, 5% move, and full-pole rates are 72.35% to 75.57%, 23.57% to 26.76%, and 22.19% to 25.31%. Corresponding 15m+ intervals are 64.23% to 70.67%, 32.45% to 39.04%, and 21.51% to 27.43%.
9.52%
15m+ mean move
2.25%
15m+ median move
0.42%
15m+ 25th percentile
8.74%
15m+ 75th percentile
All-timeframe move distribution
3.80%
Mean move
1.26%
Median move
0.30%
25th percentile
3.94%
75th percentile
Across all 6,013 eligible upward families, the mean move is approximately three times the median, showing a strongly right-skewed distribution. A small number of large moves lift the average above what the typical pattern experiences.
Results for every represented timeframe
Every observed timeframe is reported. Sparse higher-timeframe rows are shown for completeness, not as stable rankings.
| Timeframe | Pattern families | Structural hold | Move ≥5% | Full-pole target |
|---|---|---|---|---|
| 1m | 896 | 724/870 (83.22%) | 93/870 (10.69%) | 193/867 (22.26%) |
| 3m | 2,294 | 1,753/2,294 (76.42%) | 399/2,294 (17.39%) | 564/2,292 (24.61%) |
| 5m | 2,041 | 1,561/2,039 (76.56%) | 427/2,039 (20.94%) | 477/2,033 (23.46%) |
| 15m | 283 | 198/283 (69.96%) | 84/283 (29.68%) | 66/280 (23.57%) |
| 30m | 125 | 77/125 (61.60%) | 38/125 (30.40%) | 40/123 (32.52%) |
| 1h | 384 | 172/251 (68.53%) | 98/251 (39.04%) | 53/251 (21.12%) |
| 2h | 144 | 59/95 (62.11%) | 35/95 (36.84%) | 21/95 (22.11%) |
| 4h | 42 | 21/27 (77.78%) | 18/27 (66.67%) | 11/27 (40.74%) |
| 6h | 25 | 12/18 (66.67%) | 10/18 (55.56%) | 5/18 (27.78%) |
| 8h | 8 | 5/7 (71.43%) | 4/7 (57.14%) | 0/7 (0.00%) |
| 12h | 6 | 2/3 (66.67%) | 2/3 (66.67%) | 0/3 (0.00%) |
| 1d | 2 | 1/1 (100.00%) | 0/1 (0.00%) | 0/1 (0.00%) |
Evidence becomes thin above 2h: 42 pattern families at 4h, 25 at 6h, eight at 8h, six at 12h, and two at 1d. Percentages from these small cells are descriptive and should not be treated as precise timeframe rankings.
The answer changes with the win threshold
The full 6,013-family eligible-upward curve is more informative than one headline percentage.
Volatility-normalized outcomes
ATR thresholds use the 14-period average true range available at the event. Across all timeframes, a 1% move occurred in 55.23% of eligible upward families, while a 10% move occurred in 8.56%. The curve is descriptive and was not used to select a preferred threshold on the same sample. This is why “the Bull Flag win rate” is incomplete unless the outcome threshold and cohort are stated.
Results by market regime
Regime splits use the 6,013 eligible upward families. They are descriptive secondary analyses and were not used to select or redraw patterns.
| BTC market regime | Eligible upward families | Structural hold | Move ≥5% |
|---|---|---|---|
| Bull market | 3,319 | 2,501/3,319 (75.35%) | 733/3,319 (22.08%) |
| Bear market | 2,592 | 1,999/2,592 (77.12%) | 452/2,592 (17.44%) |
| Unclassified | 102 | 85/102 (83.33%) | 23/102 (22.55%) |
Regime is defined using the previous completed BTCUSDT daily close relative to its trailing 200-day moving average; missing history is unclassified. The 5% outcome was observed in 22.08% of bull-regime families and 17.44% of bear-regime families. These unadjusted splits can reflect timeframe and symbol composition, so they should not be read as causal regime effects.
Comparison with Bulkowski's stock reference
The closest aligned comparison is the share of breakouts that move at least 5%.
| Metric | Bulkowski upward stock flags | All crypto timeframes | Crypto 15m+ |
|---|---|---|---|
| Average favorable move | 9% | 3.80% | 9.52% |
| Median favorable move | Not reported | 1.26% | 2.25% |
| Failure below 5% | 44% | 79.91% | 64.32% |
| Success at or above 5% | 56% | 20.09% | 35.68% |
| Full measure-rule target | 46% | 23.85% | 24.35% |
The difference is descriptive, not proof that one market is easier or harder to trade. Crypto trades continuously, this study is dominated by intraday observations, the market universe differs, and the endpoint horizon is finite and causal. The pattern construction, entry triggers, and stock-market baseline this study is measured against are documented in our bull flag pattern guide.
Limitations and claim boundary
- 1
Conditional post-breakout denominator
The main outcome estimates use 6,013 eligible upward endpoints from 6,250 pattern families. They do not estimate how often an unfinished candidate will break upward.
- 2
Sampling frame
The cohort combines pattern outputs collected across several detector campaigns. The combined sample represents 59 markets and 12 timeframes, but market coverage and observation counts vary by timeframe. The 1m stratum contains 896 families and is treated as secondary; the study emphasizes 5m and above.
- 3
Timeframe imbalance
The 3m and 5m strata contribute 4,335 of 6,250 pattern families (69.36%). The dedicated 15m+ estimate is therefore reported separately.
- 4
Timeframe-dependent stopping rule
The 5% success threshold is fixed, but the causal reversal rule uses predeclared ATR and timeframe bounds. Timeframe rows should therefore be treated as descriptive cohort results, not as a controlled experiment on timeframe alone.
- 5
Dependence
Patterns on different crypto markets can share the same market-wide shock. Wilson intervals treat observations as independent and may therefore be narrower than cluster-aware intervals.
- 6
Sparse higher timeframes
Percentages above 2h have small denominators and should not be treated as precise rankings.
- 7
No execution model
The study does not model entries, stops, fees, slippage, funding, liquidity, latency, or position sizing. Outcomes are not net strategy returns.
- 8
Pattern identification
Patterns were identified by ChartScout's production classifier. Its implementation is proprietary, so the outcome analysis is documented here but the identification instrument cannot be independently reproduced from this article alone.
- 9
Study specification
These estimates apply to this market sample, timeframe mix, observation period, and outcome specification. Different samples or periods may produce different estimates.
Questions this study answers
What is the Bull Flag win rate in crypto?
Using a favorable post-breakout move of at least 5% as the win definition, 1,208 of 6,013 eligible upward families succeeded: 20.09%. The rate was 25.13% at 5m and above and 35.68% at 15m and above. Different endpoints and timeframe mixes produce different rates.
How many Bull Flags are in the study?
The analytical sample contains 6,250 distinct Bull Flag pattern families. Of these, 6,013 produced an eligible upward breakout and form the denominator for the main post-breakout rates.
Which timeframes are included?
Pattern families are represented at 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, and 1d.
What is the result for 5m and above?
Among 2,849 eligible upward families at 5m and above, 25.13% moved at least 5%, 73.99% held structurally, and 23.71% reached the full-pole target.
What is the result for 15m and above?
Among 810 eligible upward families at 15m and above, 35.68% moved at least 5%, 67.53% held structurally, and 24.35% reached the full-pole target.
Does the 76.25% structural hold rate mean the strategy is profitable?
No. Structural hold describes chart validity through a fixed observation window. It does not include entries, exits, fees, slippage, funding, liquidity, or position sizing.
Why are there more 1h patterns than 30m patterns?
The sample contains 384 families at 1h and 125 at 30m. Counts also depend on market coverage and pattern frequency, so they do not have to decline in a perfectly ordered sequence.
Conclusion
The study contains 6,250 distinct Bull Flag pattern families across 1m through 1d, including 6,013 eligible upward endpoints. The most defensible all-timeframe headline is endpoint-specific: 20.09% moved at least 5%, 23.85% reached the classical full-pole target, and 76.25% survived structurally.
At 5m and above, 25.13% of 2,849 eligible upward families moved at least 5%. For the 810-family 15m+ subset, the rate was 35.68%. None of these descriptive outcomes is a strategy return. A Bull Flag has no single win rate until the endpoint, denominator, timeframe exposure, and sampling design are stated.
Sources and references
Primary source. The dataset and outcome statistics in this article are original ChartScout research. Pattern identification, duplicate-event grouping, and post-breakout measurement were designed and run in-house. When citing these figures, attribute them to ChartScout Research (2026).
- ChartScout Research. Bull Flag Win Rate in Crypto: A Study of 6,250 Pattern Families. ChartScout, 2026.
Primary source. Outcome analysis of 6,250 distinct Bull Flag pattern families across a combined sample of 59 Binance markets and 12 timeframes from 1m through 1d. chartscout.io/bull-flag-win-rate-crypto-study. - Bulkowski, Thomas N. Flags (regular): chart pattern statistics. ThePatternSite.com.
Stock-market baseline for the average move, failure rate, and measure-rule target used in the comparison section. thepatternsite.com/flags.html. - Bulkowski, Thomas N. Measurement and pattern-statistics glossary. ThePatternSite.com.
Definitions for break-even and the measure rule referenced throughout this study. thepatternsite.com/glossary.html. - Lo, Andrew W., Harry Mamaysky, and Jiang Wang. Foundations of Technical Analysis: Computational Algorithms, Statistical Inference, and Empirical Implementation. Journal of Finance 55, no. 4 (2000). NBER Working Paper 7613.
Methodological precedent for automated, rule-based pattern detection and formal statistical evaluation. nber.org/papers/w7613. - Sullivan, Ryan, Allan Timmermann, and Halbert White. Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. Journal of Finance 54, no. 5 (1999).
Basis for the study's cautions on multiple-threshold reporting and out-of-sample interpretation. doi.org/10.1111/0022-1082.00163.

Stjepan Ivanović
Founder of ChartScout · Crypto Trader Since 2013
Trading crypto since 2013 with his first Bitcoin bought at ~$200. Four complete bull/bear market cycles, traded on early exchanges like Mt.Gox and BTC-e, on-chain trading on IDEX and EtherDelta, and ~70 crypto project investments. Built ChartScout after 21+ months of development to automate what no trader can do manually. Watch hundreds of charts 24/7.