Chart patternBullish: Bull flagBearish: Bear flag
Flag Pattern: How to Identify and Trade Bull and Bear Flags
A sharp move, then a short, tight channel against it: the flag. Learn the bull and bear versions, the entry, stop and target rules, and how daily flags did against random dates.
How we tested this pattern
- Sample
- 1,942 occurrences on 6 markets (crypto, forex, US stocks, ETFs, indices and commodities), 1971 to 2026.
- Detection
- Found by code, never picked by hand: every match of the rule on full price history, winners and losers alike.bull flag pattern: A pole (one rising swing, at least 3 ATR, at least 0.4 ATR per bar), then two peaks and troughs forming a flat or falling parallel channel (slopes within 20%) that retraces at most 50% of the pole, lasts at most 1.5 times the pole and keeps every close within 10% of its height from its lines. At least 3 bars between swing points, breakout within half the flag duration. The standard grade widens this: pole up to 60 bars at 0.3 ATR per bar or more, a pullback of up to 60% of the pole lasting up to 2 times the pole, a breakout within 0.75 of the duration. The pole starts from a true low: over the pole's duration before it, price never fell more than 10% of the pole below its start.bear flag pattern: A pole (one falling swing, at least 3 ATR, at least 0.4 ATR per bar), then two troughs and peaks forming a flat or rising parallel channel (slopes within 20%) that retraces at most 50% of the pole, lasts at most 1.5 times the pole and keeps every close within 10% of its height from its lines. At least 3 bars between swing points, breakout within half the flag duration. The standard grade widens this: pole up to 60 bars at 0.3 ATR per bar or more, a pullback of up to 60% of the pole lasting up to 2 times the pole, a breakout within 0.75 of the duration. The pole starts from a true high: over the pole's duration before it, price never rose more than 10% of the pole above its start.
- Benchmark
- Each occurrence is compared with the same assets on random bars: the move 10 bars later, and a 2:1 reward-to-risk trade.
- Checks
- Block bootstrap and a correction for the thousands of tests we run, plus a random-walk self-test that the bench passes: on random prices, no pattern should win.
- Updated
- Data updated November 5, 2026, code version c2a1683f. Read the methodology · bull flag pattern data (JSON) · bear flag pattern data (JSON)
At a glance: what textbooks say, what we measured
- Pattern
- Bullish: Bull flag
- Occurrences tested
- 1,111 occurrences, all markets, daily
- Textbook: price should rise after it
- Too close to call · −0.11% vs the market, 10 bars
- Textbook: target reached most of the time
- 27.7% vs 29.2% on random dates, all markets, daily, upward breakouts
- Where it did best, US stocks left out
- Forex, 4-hour, upward breakouts: +0.19 R 2:1 trade vs random dates, not proven
- Verdict
- 10-bar move: No clear edge2:1 trade: No clear edge
- Pattern
- Bearish: Bear flag
- Occurrences tested
- 831 occurrences, all markets, daily
- Textbook: price should fall after it
- Too close to call · −0.08% vs the market, 10 bars
- Textbook: target reached most of the time
- 12.3% vs 12.6% on random dates, all markets, daily, downward breakouts
- Where it did best
- Crypto, 1-hour, downward breakouts: +0.08 R 2:1 trade vs random dates, not proven
- Verdict
- 10-bar move: No clear edge2:1 trade: No clear edge
On this page
- What is a flag pattern in technical analysis?
- The anatomy of a flag pattern
- Bull flag pattern: identifying and trading bullish momentum
- Bear flag pattern: identifying and trading bearish momentum
- How to trade the flag pattern: a step-by-step strategy
- Essential technical indicators for confirmation
- Common mistakes when trading flag patterns
- Advanced flag trading techniques
- Flag patterns across financial markets
- Flag patterns vs. pennant patterns
- Psychology of the flag pattern
- Reliability: what happened after the breakout
- Real examples of the flag pattern
- Backtesting your flag trading strategy
- Flag patterns in 2026 markets
- Frequently asked questions about flag patterns
- Summary
- Final thoughts on risk management
The flag pattern is a continuation chart pattern: a sharp, nearly vertical price movement (the flagpole) followed by a short, tight consolidation that drifts against the trend inside two parallel lines (the flag). Technical analysis reads it as a pause before the existing trend resumes. A bull flag forms after a rally and is expected to break out upward; a bear flag forms after a drop and is expected to break down.
This guide covers how to identify the pattern on a chart, how to plan the trade with a stop and a target, and what actually happened after the breakout. Our test bench applied one fixed rule to full price history and recorded 1,111 bull flags that broke upward and 831 bear flags that broke down on the daily timeframe alone, across stocks, crypto, forex, ETFs, indices and commodities, and compared each trade with the same trade on random dates.
What is a flag pattern in technical analysis?
A flag pattern is a short consolidation inside a strong trend: a continuation pattern. Price makes a fast move, then trades in a small channel that slopes slightly against that move, then breaks out of the channel in the direction of the original trend. The name comes from the shape on the chart: a pole, and a small block of price action hanging from its top (or its bottom, for a bear flag).
Robert Edwards and John Magee described flags and pennants in Technical Analysis of Stock Trends (1948) as patterns that "fly at half-mast": the classic reading is that the flag appears roughly in the middle of the whole move. John Murphy gives the same definition in Technical Analysis of the Financial Markets (1999). Technical traders still use the same three elements today: the pole, the consolidation and the breakout.
Flag patterns among continuation patterns
In technical analysis, continuation patterns are chart patterns that point to a pause in the trend rather than a reversal. The flag pattern is the shortest of them, next to the pennant and the wider trading ranges. The formation is compact and easy to identify: the stop point is close, the trading plan is simple, and the pattern appears in all markets, from shares to crypto markets.
The market logic behind flag formations
The classical account of a flag is a story of a trend, a pause and a resumption, not a measurement.
The flagpole is an impulse, a sharp movement: news, earnings, the end of a prior range or a wave of buying (or selling) pushes price far in a short time. Traders who caught the move take profits, late traders wait for a better price, and the market pauses. That pause is the flag: price drifts back a little, on lower activity, without giving up much of the pole. When fresh orders arrive in the direction of the trend, price breaks out of the flag and the move continues. In bullish markets, flag patterns are the pauses of a trend that keeps going; in falling markets, they are the short rebounds that sellers use to add to their positions.
Why flag patterns are considered powerful continuation signals
The flag is considered a continuation signal because the pullback is small and orderly: the counter-trend side never takes control of the market. In the classical reading (Edwards and Magee, Murphy), the formation is a sign that the trend is resting, not ending. Our detection rule accepts a flag that retraces at most 60% of the pole and lasts at most 2 times as long as the pole; a textbook flag stays within 50% and 1.5 times. A deeper or longer pullback is no longer a flag; it becomes a wider consolidation or a reversal pattern.
The anatomy of a flag pattern
Every flag pattern begins with a pole and has three parts: the flagpole, the flag and the breakout. The chart below is not drawn by hand: it is the median shape of the bull flags our bench detected, with the lines of the trade we test.
- Start of the pole
- End of the poleone rising swing
- Flag trough
- Flag peak
- Flag troughretraces at most 50% of the pole (60% at the standard grade)
- Close above the channel
- Start of the pole
- End of the poleone falling swing
- Flag peak
- Flag trough
- Flag peakretraces at most 50% of the pole (60% at the standard grade)
- Close below the channel
The flagpole: identifying the initial momentum
The flagpole is the sharp move that starts the pattern. It should look like a nearly vertical price movement compared with the bars before it. Our bench defines it as one swing: a single rise (bull flag) or a single fall (bear flag) between two confirmed swing points, measured with the average true range (ATR) so that the rule works the same way on a stock, a currency pair or a coin. The pole must start from a true turning point: over as many bars as the pole took, before it, price never went more than 10% of the pole beyond its base. The height of the pole is also the basis of the classic measured move.
The flag: understanding consolidation and profit-taking
The flag is the consolidation phase of the pattern. In a bull flag it needs at least two peaks and two troughs that fit inside a flat or falling parallel channel. Price retraces part of the pole, at most 60% under our rule and at most half on a textbook flag, then stops falling. Classical books want the channel to drift against the trend, down in an uptrend and up in a downtrend; a flat channel also passes our rule.
The breakout: confirming the trend resumption
The breakout is the close beyond the consolidation channel in the direction of the pole. We count it only on a close, not on an intraday spike. Not every flag gets there: on the daily timeframe, 84.8% of the bull flag patterns we detected broke out within the time limit of our rule, and the rest never confirmed.
Bull flag pattern: identifying and trading bullish momentum
The bull flag pattern is the bullish version: a rally, then a small downward-sloping consolidation, then an upward breakout. It is the most common flag in our equity data.
Characteristics of a valid bull flag
A valid formation meets four conditions:
- A rising flagpole: one strong upward swing, steeper than the previous trend, such as a series of large green candles.
- A flag of at least two highs and two lows inside a parallel channel, flat or sloping down.
- A retracement of no more than 60% of the pole (half on a textbook flag).
- A flag that lasts no more than 2 times the length of the pole (1.5 times on a textbook flag).
How to spot the consolidation phase
Technical traders identify the consolidation by its shape and by its price movement: after the sharp rise, the market slows down and price action becomes quiet. Short consolidation periods inside a trend are common; only a few of them meet the rules of a flag. After a strong rally, watch for the first pullback that stays narrow: small candles, overlapping bodies, highs and lows that line up. Draw one line across the highs of the consolidation and a parallel line across its lows. If the two lines are roughly parallel and slope gently down, you have a bull flag taking shape. If they converge, it is a pennant; if they are flat and far apart, it is closer to a trading range.
Bull flag breakout signals
The signal is a close above the upper line of the consolidation. Bull flag patterns broke upward far more often than downward in our data: on daily data we recorded 1,111 upside breakouts against 338 downside ones, and on hourly data 1,245 against 387. That is 76.7% upward on daily data, and it is not a result: the side comes from how the pattern is built. On three simulated price worlds with no edge (our selftest), the same rule gave bull flags that broke upward 75.4%, 73.4% and 72.3% of the time. What happens after the breakout is the real question, and we answer it in the reliability section below.
Bear flag pattern: identifying and trading bearish momentum
The bear flag pattern is the mirror image: it begins with a sharp drop, then a small upward-sloping consolidation, then a downward breakout.
Characteristics of a valid bear flag
The bearish formation meets the same conditions, inverted:
- A falling flagpole: one strong downward swing.
- A flag of at least two highs and two lows inside a parallel channel, flat or sloping up.
- A rebound of no more than 60% of the pole, over no more than 2 times its length (half and 1.5 times on a textbook flag).
Recognizing downside continuation
In a falling market, the price action after the pole is a weak, orderly rebound. A bear flag can look like a recovery: price climbs for several sessions and can be mistaken for a bottom. The tell is that the rebound is slow and shallow compared with the movement of the drop. Sellers are only pausing. This setup is especially frequent on crypto charts: on hourly crypto data we found 1,564 of them breaking down, more than any other combination of market and timeframe we tested.
Bear flag breakout signals
The signal is a close below the lower line of the consolidation. On daily data, 831 bear flag patterns broke down against 323 that broke up; on hourly data, 1,736 against 544. That is 72.0% downward on daily data. As with the bull flag, the side comes from how the pattern is built: on the same three simulated worlds, bear flags broke down 80.7%, 70.8% and 75.3% of the time. The edge, if there is one, has to come after it.
How to trade the flag pattern: a step-by-step strategy
The classic flag pattern trading strategy enters on the breakout, places the stop on the other side of the flag and sets the exit level as a multiple of the risk or as a projection of the pole. This is the trade our bench simulates on every flag its rule finds.
Step 1: identify the strong initial trend
Start with the pole and the preceding trend. Without a sharp move before it, a small channel is just noise. Look for a rapid price movement that clearly stands out from the previous bars, ideally one that broke a prior high (for a bull flag) or a prior low (for a bear flag).
Step 2: wait for the consolidation phase
Step 3: setting your entry point after the breakout
The entry is the close beyond the flag. Aggressive traders buy (or sell short) at that close; conservative traders wait for a retest of the broken line. Day traders and swing traders apply the same trading rule, only on other timeframes. Our bench enters at that close, which is the version we measured.
Step 4: placing your stop for risk management
The natural stop sits on the other side of the consolidation. Our bench places it on the opposite boundary of the flag, at that line's level on the breakout bar: the lower line in a long trade, the upper line in a short trade. A wider version puts it beyond the flag's extreme, below its lowest price in a long trade or above its highest price in a short one. If price ends up breaking back through the boundary, the consolidation has turned into something else. Size the position on the distance to the stop, a core rule of risk management.
Step 5: calculating your price target using the flagpole height
The traditional price objective, called the measuring technique, projects the height of the flagpole from the breakout point. If the pole rose 10 points and the flag breaks out at 50, the projected level is 60. Another choice is a fixed multiple of the risk, such as two times the distance to the stop (a 2:1 reward-to-risk ratio). Our published statistics use the 2:1 target. On daily bull flags, trades that reached it took a median of 35 bars; trades that hit their stop took a median of 19 bars.
A flag pattern trading checklist
Before trading a flag pattern, run through the same points every time. Writing them in a trading plan keeps the decision mechanical.
- Trend: is there a clear pole, steeper than the price action before it?
- Consolidation: is the flag a narrow, parallel channel against the trend, retracing no more than 60% of the pole?
- Breakout: did a bar close beyond the flag, and is price still close to the stop?
- Risk management: is the stop beyond the flag, and does the position risk only a small, fixed share of the account?
- Context: is there major news, earnings or a key level just ahead of the trade?
- Record: will you log the trade, win or lose, to compare your flag pattern trading results with chance?
- Entry
- Close outside the lines, in the direction of the breakout
- Stop loss (SL)
- On the opposite line, at its level on the breakout bar
- Target (TP)
- Twice the risk (2:1)
- Entry
- Close outside the lines, in the direction of the breakout
- Stop loss (SL)
- On the opposite line, at its level on the breakout bar
- Target (TP)
- Twice the risk (2:1)
A clean case from our bench: US stocksChosen on its shape alone, never on the outcome. Stock prices are adjusted for splits and dividends, so they can differ from the prices quoted at the time.
A clean case from our bench: US stocksChosen on its shape alone, never on the outcome. A result above +2 R or below −1 R means a bar opened past the target or the stop, and the trade was closed at that open. Stock prices are adjusted for splits and dividends, so they can differ from the prices quoted at the time.
Essential technical indicators for confirmation
Filters can be added to the flag. Here is what the common filters are supposed to do, and what our data says about the ones we tested.
The role of volume in flag pattern validation
The textbook rule is high volume on the pole, lower volume during the flag, and a volume surge on the breakout, which is supposed to indicate conviction. We tested the volume of the signal bar. On daily data, bull flag patterns that broke out on volume above 1.5 times the 20-day average reached 2R 31.5% of the time, against 32.0% on normal volume, with expectancies of +0.20 R and +0.18 R. On hourly crypto data, bearish patterns gave 26.0% and 26.5%. Volume made little difference and did not improve the results. These breakdowns are descriptive and not corrected for the number of tests.
Using moving averages to confirm the trend
One filter takes long trades only when price is above the 200-day moving average, and short trades only below it. In our data the filter did not help: setups that traded with the long-term trend did a little worse, on both sides. On the daily timeframe, bull flag patterns above the 200-day average reached 2R 31.1% of the time (n 919), and the few below it 34.3% (n 177). On the bearish side, daily setups above the average reached 21.3% (n 144) and those below 18.7% (n 671).
Applying support and resistance levels
A bull flag that breaks out just under a major resistance level has little room before it meets sellers. Check the next obvious price levels in the direction of the trade: if it is closer than your planned exit, either lower it or skip the trade. We have not measured this filter.
Relative strength index for momentum analysis
One rule wants the RSI to stay above 50 during a bull flag (below 50 during a bear flag), as a sign that momentum holds. It is a reasonable idea that we have not tested; check it on your own data before relying on it.
Common mistakes when trading flag patterns
Here are the errors that turn a flag into a loss, most of them errors of risk management rather than of pattern recognition.
Confusing flags with reversal patterns
Entering too early during the consolidation phase
Buying inside the flag in anticipation means betting on a breakout that may not come, or may go the other way: 84.8% of daily bull flags broke out at all, and 76.7% of daily breakouts went up. Wait for the close beyond the channel.
Ignoring the slope of the flag
A bull flag slopes down or sideways. A small channel that slopes up after a rally is a rising wedge or a rising channel, a pattern with another reading.
Overlooking market context and volatility
A flag on a stock the day before earnings, or on a coin during a market-wide crash, is driven by the event, not by the pattern. A wide stop in a volatile market also means a smaller position.
Trading without a written plan
A stop and a size decided after the trade is open are easy to move when price comes close. Write the trading plan first: entry rule, stop, exit, size. Then follow it.
Entering on a gap breakout bar
When the breakout bar gaps or runs far beyond the flag, an entry at its close sits far from a stop placed on the other side of the flag, and the risk of the trade grows. The MKR/USDT case study in the Real examples of the flag pattern section shows this case.
Advanced flag trading techniques
Multi-timeframe analysis
Multi-timeframe trading means you identify the trend on the higher timeframe and take the flag on the lower one. A bull flag on an hourly chart inside a daily uptrend trades with the larger trend; the same flag inside a daily downtrend can be just a bounce. Our bench does not test this multi-timeframe filter.
Scaling into trades during the breakout
Scaling is a trading technique and a form of position management, not a way to improve the odds of the pattern. One approach enters half the position on the signal close and the other half on a retest of the broken line. This lowers the average price paid when the retest happens, but leaves part of the position out when price never comes back.
Adjusting strategies for different asset classes
The pattern forms on every asset class, but at different rates and with different price behavior. On daily data, we found one long signal every 7,341 bars on US equities and one every 4,784 bars on ETFs. Volatility also changes the trade: in fast markets the stop is wider, so the position must be smaller for the same risk.
Trading flags in trending versus range-bound markets
Check the trend of the market first: a flag is only a continuation setup when there is a trend to continue. In a sideways market, the same formation has no starting point and no direction. The pattern needs a trend: the pole creates it. In a range-bound market, small channels appear constantly, with no trend for them to continue. Our bench requires the pole first, which is why valid formations are rare: one long signal every 7,631 daily bars across all markets.
Flag patterns across financial markets
Flag patterns form in all financial markets, but they do not form at the same rate, and the trading results differ by market. Here is what our bench found in each of the markets we test.
Flag patterns in equity markets
US equities produced the largest bullish sample: 997 daily breakouts on 651 companies since 1971. The trade reached 2R 32.5% of the time, against 33.6% for the same trade on random dates, with an expectancy of +0.19 R against +0.21 R. On the weekly timeframe, the 145 closed trades on bull flag patterns on US companies reached 2R 45.5% of the time against 47.2% on random weeks. The rising trend of equity markets lifts both numbers; the pattern adds nothing measurable on top of it.
Flag patterns in crypto markets
Crypto markets are where the bearish version dominates: 1,564 hourly bearish breakouts against 1,076 bullish ones, across hundreds of coins since 2018. The hourly bearish trade reached 2R slightly more often than on random dates (26.3% against 24.0%), the bullish one slightly less often (27.7% against 28.9%), but the expectancy stayed near zero (+0.06 R and −0.05 R) and the average result per trade did not pass our statistical test.
Flag patterns in forex markets
Currency samples are small and noisy: the gaps look wide, but none passes our test. On hourly data, 169 bull flags on 25 pairs and 172 bear flags on 25 pairs ended with expectancies of +0.05 R and −0.17 R before costs (on 169 and 171 closed trades), against the random benchmark (0.00 R and −0.06 R). In forex trading, spreads would take most of the bullish figure and deepen the bearish loss.
Indices, ETFs and commodity markets
Index setups looked worse on paper: on daily stock index data, 31 closed trades on bullish breakouts reached 2R 25.8% of the time against 28.2% on random dates. ETFs too: 53 closed trades on breakouts reached 2R 22.6% of the time against 40.7%. These samples are small, and neither difference was strong enough to pass our statistical test. Commodity markets produced only 8 daily bullish breakouts, too few to interpret.
Flag patterns vs. pennant patterns
- PennantBullish or bearishBullish, Upward breakout, 10-bar move, daily No clear edgeBearish, Downward breakout, 10-bar move, daily No clear edge
- RectangleNeutralUpward breakout, 10-bar move, daily No clear edgeDownward breakout, 10-bar move, daily No clear edge
- ChannelNeutralFalling channel, Upward breakout, 10-bar move, daily No clear edgeFalling channel, Downward breakout, 10-bar move, daily No clear edgeRising channel, Upward breakout, 10-bar move, daily Weak, below chanceRising channel, Downward breakout, 10-bar move, daily No clear edge
Key visual differences
Both start with a pole and both are short continuation patterns. The flag consolidates inside two parallel lines; the pennant consolidates inside two converging lines, a small triangle. A wider, flat consolidation with parallel lines is a rectangle, and a longer one is a channel.
Do they require different trading approaches?
The trade is the same: entry on the breakout, stop beyond the consolidation, target from the pole or a multiple of the risk. The results were close too. On the daily timeframe, the bull pennant setup reached 2R 37.3% of the time against 35.1% for the same trade on random dates, with an expectancy of +0.23 R against +0.17 R. Like the flag, it showed no measurable difference from chance.
Psychology of the flag pattern
Understanding market sentiment during consolidation
During the flag, the traders who bought the pole lock in gains, and new buyers hesitate to chase. Neither side is strong enough to move price far. The pattern assumes that the side that created the pole is still in charge and only resting.
Managing emotions during the breakout phase
The signal bar is when fear of missing out is strongest. Decide the stop and the size in advance, and do not chase a bar that has already run far beyond the flag. After a stop, do not re-enter on impulse. And plan the exit before the entry: of the daily bull flag trades that hit their stop, 20.5% had first been up 1 R.
Reliability: what happened after the breakout
The flag pattern is not reliable on its own: on every market and timeframe we tested, no gap between the trade after the breakout and the same trade on random dates passes our test, with one weak exception below chance: 4-hour crypto bear flags that broke upward (weak, below chance). The following table gives the numbers from our test bench, which applies the same rule to full price history and compares each trade with the same trade on random dates of the same assets.
On upward breakouts: moved the expected way 10 bars later, compared with random bars.
Measured on 1,111 daily bull flag occurrences with upward breakouts across 724 assets. Random bars on the same assets are the honest baseline.
No clear edgeOn downward breakouts: moved the expected way 10 bars later, compared with random bars.
Measured on 831 daily bear flag occurrences with downward breakouts across 655 assets. Random bars on the same assets are the honest baseline.
No clear edgeBull flag against random bars on the same assets, by market, on daily candles. Bars of almost the same length mean no edge.
- All markets
- US stocks
- ETFs
- Indices
- All markets
- US stocks
- ETFs
- Indices
Bear flag against random bars on the same assets, by market, on daily candles. Bars of almost the same length mean no edge.
- All markets
- Crypto
- US stocks
- All markets
- Crypto
- US stocks
All statistics
Full results for the flag pattern, market by market
Every occurrence our rule finds on full price history, compared with what the same assets did on random bars. A pattern only earns an edge if it beats random entries after correcting for the thousands of tests we run.
Our verdict
Not a reliable signal on its own here. Use it as context, not as a trigger.
Bull flag: 1,111 occurrences tested
Bullish pattern · All markets · Daily · Upward breakout · 724 assets · 1971-01 to 2026-10
What this means. No measurable difference from the rest of its market over the next 10 bars.
Timeline
- Pattern length, first swing to breakout
- 42 days · middle half 34 to 54 · on 1,111 occurrences
- Breakout, after the last swing
- 2 days · middle half 0 to 4 · on 1,111 occurrences
- Time to the 2:1 target, when hit
- 35 days · middle half 21 to 60 · on 351 trades that hit it
- Time to the stop, when hit
- 19 days · middle half 9 to 34 · on 585 trades that hit it
- Time in the trade, all exits
- 30 days · middle half 14 to 66 · on 1,104 trades
- Measured-move target reached, when hit
- 38 days · middle half 22 to 60 · on the occurrences that reached it
- Pattern height projected from the breakout
Size and trade path
- Pattern height
- 19.3% · middle half 13.6% to 27.5% · on 1,111 occurrences
- Best open profit during the trade
- 1.16 R · middle half 0.41 R to 2.03 R · on 1,104 trades
- Stopped trades that were first up 1 R
- 20.5% · on 585 stopped trades
- Trades a stop moved to breakeven at +1 R would have closed flat instead of at a loss
Medians, each on the cases named on its line; "middle half" spans the 25th to 75th percentile; no value under 30 cases.
How we detect it. A pole (one rising swing, at least 3 ATR, at least 0.4 ATR per bar), then two peaks and troughs forming a flat or falling parallel channel (slopes within 20%) that retraces at most 50% of the pole, lasts at most 1.5 times the pole and keeps every close within 10% of its height from its lines. At least 3 bars between swing points, breakout within half the flag duration. The standard grade widens this: pole up to 60 bars at 0.3 ATR per bar or more, a pullback of up to 60% of the pole lasting up to 2 times the pole, a breakout within 0.75 of the duration. The pole starts from a true low: over the pole's duration before it, price never fell more than 10% of the pole below its start.
All measurements (38 rows)
10-bar move: did price go the expected way?
| Market | Occurrences | Pattern | Random bars | Excess | 10-bar move verdict |
|---|---|---|---|---|---|
| Crypto · 1-hour · Upward breakout | 1,076 | 49.7% | 48.4% | +0.02% | No clear edge |
| Crypto · 1-hour · Downward breakout | 318 | 50.3% | 50.7% | +0.15% | No clear edge |
| Forex · 1-hour · Upward breakout | 169 | 50.3% | 50.7% | −0.01% | No clear edge |
| Forex · 1-hour · Downward breakout | 69 | 42.0% | 49.2% | −0.07% | No clear edge |
| All markets · 1-hour · Upward breakout | 1,245 | 49.8% | 48.8% | +0.02% | No clear edge |
| All markets · 1-hour · Downward breakout | 387 | 48.8% | 50.4% | +0.11% | No clear edge |
| Crypto · 4-hour · Upward breakout | 171 | 46.8% | 47.6% | +0.49% | No clear edge |
| Crypto · 4-hour · Downward breakout | 57 | 54.4% | 52.2% | +0.09% | No clear edge |
| Forex · 4-hour · Upward breakout | 59 | 47.5% | 50.8% | −0.24% | Weak, below chance |
| Forex · 4-hour · Downward breakout | 14 | 50.0% | 49.5% | +0.24% | Not enough data |
| All markets · 4-hour · Upward breakout | 230 | 47.0% | 48.4% | +0.30% | No clear edge |
| All markets · 4-hour · Downward breakout | 71 | 53.5% | 51.7% | +0.12% | No clear edge |
| Crypto · Daily · Upward breakout | 12 | 58.3% | 46.5% | +10.20% | Not enough data |
| Crypto · Daily · Downward breakout | 5 | 20.0% | 55.2% | −1.49% | Not enough data |
| US stocks · Daily · Upward breakout | 997 | 52.3% | 54.4% | −0.23% | No clear edge |
| US stocks · Daily · Downward breakout | 303 | 41.3% | 45.6% | −0.09% | No clear edge |
| ETFs · Daily · Upward breakout | 53 | 54.7% | 57.6% | +0.33% | No clear edge |
| ETFs · Daily · Downward breakout | 12 | 27.3% | 42.1% | −0.40% | Not enough data |
| Indices · Daily · Upward breakout | 31 | 45.2% | 57.5% | −0.38% | No clear edge |
| Indices · Daily · Downward breakout | 11 | 36.4% | 42.7% | −0.26% | Not enough data |
| Forex · Daily · Upward breakout | 10 | 60.0% | 51.6% | +0.07% | Not enough data |
| Forex · Daily · Downward breakout | 3 | 66.7% | 46.5% | +1.57% | Not enough data |
| Commodities · Daily · Upward breakout | 8 | 42.9% | 52.2% | −3.04% | Not enough data |
| Commodities · Daily · Downward breakout | 4 | 25.0% | 46.6% | +0.88% | Not enough data |
| All markets · Daily · Upward breakout | 1,111 | 52.3% | 54.5% | −0.11% | No clear edge |
| All markets · Daily · Downward breakout | 338 | 40.4% | 45.5% | −0.10% | No clear edge |
| US stocks · Weekly · Upward breakout | 151 | 59.3% | 58.7% | −0.13% | No clear edge |
| US stocks · Weekly · Downward breakout | 31 | 19.4% | 41.6% | −2.59% | No clear edge |
| ETFs · Weekly · Upward breakout | 12 | 75.0% | 62.3% | +2.48% | Not enough data |
| ETFs · Weekly · Downward breakout | 2 | 50.0% | 38.0% | −0.55% | Not enough data |
| Indices · Weekly · Upward breakout | 8 | 87.5% | 63.5% | +0.17% | Not enough data |
| Indices · Weekly · Downward breakout | 1 | 0.0% | 32.9% | −6.86% | Not enough data |
| Forex · Weekly · Upward breakout | 2 | 0.0% | 51.2% | −4.54% | Not enough data |
| Forex · Weekly · Downward breakout | 1 | 100.0% | 39.1% | −2.39% | Not enough data |
| Commodities · Weekly · Upward breakout | 1 | 100.0% | 53.6% | −4.00% | Not enough data |
| Commodities · Weekly · Downward breakout | 1 | 0.0% | 43.8% | −7.20% | Not enough data |
| All markets · Weekly · Upward breakout | 174 | 61.3% | 59.0% | −0.01% | No clear edge |
| All markets · Weekly · Downward breakout | 36 | 22.2% | 41.2% | −2.72% | No clear edge |
2:1 trade: target hit and average result
| Market | Trades | Target hit | Same trade, random dates | Per trade | 2:1 trade verdict |
|---|---|---|---|---|---|
| Crypto · 1-hour · Upward breakout | 1,075 | 27.7% | 28.9% | −0.05 R vs +0.01 R | No clear edge |
| Crypto · 1-hour · Downward breakout | 318 | 25.5% | 26.8% | −0.03 R vs +0.01 R | No clear edge |
| Forex · 1-hour · Upward breakout | 169 | 29.6% | 27.6% | +0.05 R vs 0.00 R | No clear edge |
| Forex · 1-hour · Downward breakout | 69 | 30.4% | 31.5% | +0.13 R vs +0.14 R | No clear edge |
| All markets · 1-hour · Upward breakout | 1,244 | 28.0% | 28.7% | −0.03 R vs +0.01 R | No clear edge |
| All markets · 1-hour · Downward breakout | 387 | 26.4% | 27.6% | 0.00 R vs +0.03 R | No clear edge |
| Crypto · 4-hour · Upward breakout | 171 | 29.8% | 30.5% | −0.02 R vs +0.03 R | No clear edge |
| Crypto · 4-hour · Downward breakout | 57 | 21.1% | 25.4% | +0.07 R vs +0.08 R | No clear edge |
| Forex · 4-hour · Upward breakout | 59 | 25.4% | 21.6% | +0.04 R vs −0.15 R | No clear edge |
| Forex · 4-hour · Downward breakout | 14 | 21.4% | 30.4% | −0.29 R vs +0.06 R | Not enough data |
| All markets · 4-hour · Upward breakout | 230 | 28.7% | 28.2% | −0.01 R vs −0.02 R | No clear edge |
| All markets · 4-hour · Downward breakout | 71 | 21.1% | 26.4% | 0.00 R vs +0.07 R | No clear edge |
| Crypto · Daily · Upward breakout | 12 | 33.3% | 29.2% | 0.00 R vs 0.00 R | Not enough data |
| Crypto · Daily · Downward breakout | 4 | 0.0% | 18.8% | −1.00 R vs +0.08 R | Not enough data |
| US stocks · Daily · Upward breakout | 994 | 32.5% | 33.6% | +0.19 R vs +0.21 R | No clear edge |
| US stocks · Daily · Downward breakout | 300 | 16.7% | 19.4% | −0.35 R vs −0.24 R | No clear edge |
| ETFs · Daily · Upward breakout | 53 | 22.6% | 40.7% | +0.19 R vs +0.49 R | No clear edge |
| ETFs · Daily · Downward breakout | 11 | 18.2% | 31.8% | −0.37 R vs +0.04 R | Not enough data |
| Indices · Daily · Upward breakout | 31 | 25.8% | 28.2% | +0.09 R vs +0.16 R | No clear edge |
| Indices · Daily · Downward breakout | 11 | 18.2% | 18.2% | −0.02 R vs −0.30 R | Not enough data |
| Forex · Daily · Upward breakout | 8 | 25.0% | 29.2% | +0.16 R vs 0.00 R | Not enough data |
| Forex · Daily · Downward breakout | 3 | 33.3% | 25.0% | 0.00 R vs −0.11 R | Not enough data |
| Commodities · Daily · Upward breakout | 6 | 33.3% | 33.3% | 0.00 R vs +0.04 R | Not enough data |
| Commodities · Daily · Downward breakout | 4 | 0.0% | 12.5% | −0.58 R vs −0.21 R | Not enough data |
| All markets · Daily · Upward breakout | 1,104 | 31.8% | 33.7% | +0.18 R vs +0.22 R | No clear edge |
| All markets · Daily · Downward breakout | 333 | 16.5% | 19.7% | −0.35 R vs −0.23 R | No clear edge |
| US stocks · Weekly · Upward breakout | 145 | 45.5% | 47.2% | +0.49 R vs +0.47 R | No clear edge |
| US stocks · Weekly · Downward breakout | 30 | 13.3% | 12.5% | −0.45 R vs −0.47 R | No clear edge |
| ETFs · Weekly · Upward breakout | 10 | 20.0% | 30.0% | −0.40 R vs −0.04 R | Not enough data |
| ETFs · Weekly · Downward breakout | 2 | 0.0% | 41.7% | −1.01 R vs +0.30 R | Not enough data |
| Indices · Weekly · Upward breakout | 8 | 37.5% | 54.2% | +0.29 R vs +0.69 R | Not enough data |
| Indices · Weekly · Downward breakout | 1 | 0.0% | 25.0% | −1.00 R vs −0.25 R | Not enough data |
| Forex · Weekly · Upward breakout | 2 | 50.0% | 29.2% | +0.50 R vs +0.16 R | Not enough data |
| Forex · Weekly · Downward breakout | 1 | 0.0% | 50.0% | −1.00 R vs +0.50 R | Not enough data |
| Commodities · Weekly · Upward breakout | 1 | 100.0% | 50.0% | +2.00 R vs +0.50 R | Not enough data |
| Commodities · Weekly · Downward breakout | 1 | 0.0% | 25.0% | −1.00 R vs +0.01 R | Not enough data |
| All markets · Weekly · Upward breakout | 166 | 44.0% | 46.3% | +0.43 R vs +0.45 R | No clear edge |
| All markets · Weekly · Downward breakout | 35 | 11.4% | 16.0% | −0.53 R vs −0.38 R | No clear edge |
After the breakout
| Market | Occurrences | False starts | Same, random dates | Throwbacks |
|---|---|---|---|---|
| Crypto · 1-hour · Upward breakout | 1,076 | 52.3% | 51.3% | 64.5% |
| Crypto · 1-hour · Downward breakout | 318 | 50.3% | 50.7% | 64.8% |
| Forex · 1-hour · Upward breakout | 169 | 54.4% | 51.4% | 64.5% |
| Forex · 1-hour · Downward breakout | 69 | 46.4% | 49.5% | 63.8% |
| All markets · 1-hour · Upward breakout | 1,245 | 52.6% | 51.3% | 64.5% |
| All markets · 1-hour · Downward breakout | 387 | 49.6% | 50.5% | 64.6% |
| Crypto · 4-hour · Upward breakout | 171 | 45.0% | 48.9% | 63.2% |
| Crypto · 4-hour · Downward breakout | 57 | 45.6% | 47.1% | 66.7% |
| Forex · 4-hour · Upward breakout | 59 | 50.0% | 58.1% | 58.6% |
| Forex · 4-hour · Downward breakout | 14 | 64.3% | 50.0% | 57.1% |
| All markets · 4-hour · Upward breakout | 230 | 46.3% | 51.3% | 62.0% |
| All markets · 4-hour · Downward breakout | 71 | 49.3% | 47.7% | 64.8% |
| Crypto · Daily · Upward breakout | 12 | 50.0% | 34.7% | 41.7% |
| Crypto · Daily · Downward breakout | 5 | 80.0% | 50.0% | 100.0% |
| US stocks · Daily · Upward breakout | 997 | 46.1% | 45.1% | 66.8% |
| US stocks · Daily · Downward breakout | 303 | 63.4% | 55.7% | 67.9% |
| ETFs · Daily · Upward breakout | 53 | 54.7% | 40.3% | 77.4% |
| ETFs · Daily · Downward breakout | 12 | 63.6% | 54.9% | 72.7% |
| Indices · Daily · Upward breakout | 31 | 48.4% | 44.4% | 64.5% |
| Indices · Daily · Downward breakout | 11 | 70.0% | 54.5% | 60.0% |
| Forex · Daily · Upward breakout | 10 | 11.1% | 56.7% | 66.7% |
| Forex · Daily · Downward breakout | 3 | 66.7% | 58.3% | 66.7% |
| Commodities · Daily · Upward breakout | 8 | 57.1% | 40.6% | 85.7% |
| Commodities · Daily · Downward breakout | 4 | 75.0% | 43.8% | 100.0% |
| All markets · Daily · Upward breakout | 1,111 | 46.4% | 44.8% | 67.1% |
| All markets · Daily · Downward breakout | 338 | 64.0% | 55.4% | 68.7% |
| US stocks · Weekly · Upward breakout | 151 | 36.0% | 35.8% | 73.8% |
| US stocks · Weekly · Downward breakout | 31 | 62.1% | 59.7% | 73.3% |
| ETFs · Weekly · Upward breakout | 12 | 60.0% | 48.6% | 63.6% |
| ETFs · Weekly · Downward breakout | 2 | 100.0% | 58.3% | 100.0% |
| Indices · Weekly · Upward breakout | 8 | 37.5% | 35.4% | 75.0% |
| Indices · Weekly · Downward breakout | 1 | 100.0% | 66.7% | 0.0% |
| Forex · Weekly · Upward breakout | 2 | 50.0% | 37.5% | 0.0% |
| Forex · Weekly · Downward breakout | 1 | 100.0% | 50.0% | 100.0% |
| Commodities · Weekly · Upward breakout | 1 | 0.0% | 50.0% | 100.0% |
| Commodities · Weekly · Downward breakout | 1 | 100.0% | 50.0% | 0.0% |
| All markets · Weekly · Upward breakout | 174 | 37.5% | 36.7% | 72.5% |
| All markets · Weekly · Downward breakout | 36 | 67.6% | 59.3% | 71.4% |
Our verdict
Not a reliable signal on its own here. Use it as context, not as a trigger.
Bear flag: 831 occurrences tested
Bearish pattern · All markets · Daily · Downward breakout · 655 assets · 1975-07 to 2026-10
What this means. No measurable difference from the rest of its market over the next 10 bars.
Timeline
- Pattern length, first swing to breakout
- 42 days · middle half 33 to 56 · on 831 occurrences
- Breakout, after the last swing
- 2 days · middle half 1 to 5 · on 831 occurrences
- Time to the 2:1 target, when hit
- 26 days · middle half 15 to 49 · on 152 trades that hit it
- Time to the stop, when hit
- 20 days · middle half 10 to 37 · on 519 trades that hit it
- Time in the trade, all exits
- 28 days · middle half 13 to 61 · on 793 trades
- Measured-move target reached, when hit
- 30 days · middle half 14 to 58 · on the occurrences that reached it
- Pattern height projected from the breakout
Size and trade path
- Pattern height
- 33.0% · middle half 19.1% to 58.1% · on 831 occurrences
- Best open profit during the trade
- 0.80 R · middle half 0.29 R to 1.61 R · on 793 trades
- Stopped trades that were first up 1 R
- 19.7% · on 519 stopped trades
- Trades a stop moved to breakeven at +1 R would have closed flat instead of at a loss
Medians, each on the cases named on its line; "middle half" spans the 25th to 75th percentile; no value under 30 cases.
How we detect it. A pole (one falling swing, at least 3 ATR, at least 0.4 ATR per bar), then two troughs and peaks forming a flat or rising parallel channel (slopes within 20%) that retraces at most 50% of the pole, lasts at most 1.5 times the pole and keeps every close within 10% of its height from its lines. At least 3 bars between swing points, breakout within half the flag duration. The standard grade widens this: pole up to 60 bars at 0.3 ATR per bar or more, a pullback of up to 60% of the pole lasting up to 2 times the pole, a breakout within 0.75 of the duration. The pole starts from a true high: over the pole's duration before it, price never rose more than 10% of the pole above its start.
All measurements (37 rows)
10-bar move: did price go the expected way?
| Market | Occurrences | Pattern | Random bars | Excess | 10-bar move verdict |
|---|---|---|---|---|---|
| Crypto · 1-hour · Upward breakout | 478 | 42.3% | 48.1% | −0.27% | No clear edge |
| Crypto · 1-hour · Downward breakout | 1,564 | 49.7% | 50.8% | +0.09% | No clear edge |
| Forex · 1-hour · Upward breakout | 66 | 45.5% | 50.3% | −0.08% | No clear edge |
| Forex · 1-hour · Downward breakout | 172 | 46.5% | 49.4% | −0.04% | No clear edge |
| All markets · 1-hour · Upward breakout | 544 | 42.6% | 48.3% | −0.24% | No clear edge |
| All markets · 1-hour · Downward breakout | 1,736 | 49.4% | 50.7% | +0.08% | No clear edge |
| Crypto · 4-hour · Upward breakout | 151 | 37.7% | 47.6% | −0.79% | No clear edge |
| Crypto · 4-hour · Downward breakout | 529 | 58.2% | 52.4% | +0.39% | No clear edge |
| Forex · 4-hour · Upward breakout | 17 | 70.6% | 50.9% | +0.23% | Not enough data |
| Forex · 4-hour · Downward breakout | 55 | 40.7% | 49.8% | −0.11% | No clear edge |
| All markets · 4-hour · Upward breakout | 168 | 41.1% | 47.9% | −0.69% | No clear edge |
| All markets · 4-hour · Downward breakout | 584 | 56.6% | 52.2% | +0.34% | No clear edge |
| Crypto · Daily · Upward breakout | 43 | 39.5% | 45.9% | −4.42% | No clear edge |
| Crypto · Daily · Downward breakout | 120 | 60.0% | 56.0% | −1.20% | No clear edge |
| US stocks · Daily · Upward breakout | 265 | 54.8% | 53.6% | −0.16% | No clear edge |
| US stocks · Daily · Downward breakout | 667 | 46.0% | 46.3% | +0.07% | No clear edge |
| ETFs · Daily · Upward breakout | 5 | 20.0% | 54.0% | −5.51% | Not enough data |
| ETFs · Daily · Downward breakout | 18 | 44.4% | 47.1% | +0.81% | Not enough data |
| Indices · Daily · Upward breakout | 4 | 75.0% | 58.5% | +0.77% | Not enough data |
| Indices · Daily · Downward breakout | 11 | 63.6% | 43.5% | +1.61% | Not enough data |
| Forex · Daily · Upward breakout | 3 | 33.3% | 51.9% | −0.92% | Not enough data |
| Forex · Daily · Downward breakout | 7 | 0.0% | 50.7% | −1.72% | Not enough data |
| Commodities · Daily · Upward breakout | 3 | 66.7% | 53.1% | −9.89% | Not enough data |
| Commodities · Daily · Downward breakout | 8 | 42.9% | 50.2% | +1.72% | Not enough data |
| All markets · Daily · Upward breakout | 323 | 52.3% | 52.6% | −0.90% | No clear edge |
| All markets · Daily · Downward breakout | 831 | 47.8% | 47.7% | −0.08% | No clear edge |
| Crypto · Weekly · Upward breakout | 7 | 42.9% | 37.7% | +0.90% | Not enough data |
| Crypto · Weekly · Downward breakout | 31 | 87.1% | 63.2% | +7.04% | Not enough data |
| US stocks · Weekly · Upward breakout | 46 | 50.0% | 56.2% | +2.90% | No clear edge |
| US stocks · Weekly · Downward breakout | 95 | 48.4% | 44.8% | +1.44% | No clear edge |
| ETFs · Weekly · Upward breakout | 4 | 50.0% | 58.9% | −0.84% | Not enough data |
| Indices · Weekly · Upward breakout | 1 | 100.0% | 54.8% | +12.91% | Not enough data |
| Indices · Weekly · Downward breakout | 1 | 0.0% | 36.5% | +5.73% | Not enough data |
| Forex · Weekly · Upward breakout | 2 | 50.0% | 49.4% | −4.05% | Not enough data |
| Commodities · Weekly · Downward breakout | 4 | 50.0% | 47.6% | +0.60% | Not enough data |
| All markets · Weekly · Upward breakout | 60 | 50.0% | 54.0% | +2.35% | No clear edge |
| All markets · Weekly · Downward breakout | 131 | 57.3% | 49.1% | +2.77% | No clear edge |
2:1 trade: target hit and average result
| Market | Trades | Target hit | Same trade, random dates | Per trade | 2:1 trade verdict |
|---|---|---|---|---|---|
| Crypto · 1-hour · Upward breakout | 478 | 27.0% | 28.2% | −0.03 R vs +0.04 R | No clear edge |
| Crypto · 1-hour · Downward breakout | 1,563 | 26.3% | 24.0% | +0.06 R vs −0.02 R | No clear edge |
| Forex · 1-hour · Upward breakout | 66 | 21.2% | 26.5% | −0.18 R vs +0.02 R | No clear edge |
| Forex · 1-hour · Downward breakout | 171 | 23.4% | 24.7% | −0.17 R vs −0.06 R | No clear edge |
| All markets · 1-hour · Upward breakout | 544 | 26.3% | 28.0% | −0.04 R vs +0.03 R | No clear edge |
| All markets · 1-hour · Downward breakout | 1,734 | 26.0% | 24.1% | +0.04 R vs −0.02 R | No clear edge |
| Crypto · 4-hour · Upward breakout | 151 | 19.2% | 27.3% | −0.32 R vs −0.05 R | Weak, below chance |
| Crypto · 4-hour · Downward breakout | 527 | 31.9% | 26.1% | +0.26 R vs +0.03 R | No clear edge |
| Forex · 4-hour · Upward breakout | 17 | 17.6% | 23.5% | −0.18 R vs +0.02 R | Not enough data |
| Forex · 4-hour · Downward breakout | 54 | 25.9% | 26.2% | −0.04 R vs +0.04 R | No clear edge |
| All markets · 4-hour · Upward breakout | 168 | 19.0% | 26.9% | −0.31 R vs −0.04 R | Weak, below chance |
| All markets · 4-hour · Downward breakout | 581 | 31.3% | 26.1% | +0.23 R vs +0.03 R | No clear edge |
| Crypto · Daily · Upward breakout | 42 | 26.2% | 38.3% | −0.12 R vs +0.30 R | No clear edge |
| Crypto · Daily · Downward breakout | 104 | 15.4% | 16.3% | −0.03 R vs −0.04 R | No clear edge |
| US stocks · Daily · Upward breakout | 258 | 33.3% | 34.0% | +0.21 R vs +0.23 R | No clear edge |
| US stocks · Daily · Downward breakout | 647 | 19.8% | 19.8% | −0.23 R vs −0.18 R | No clear edge |
| ETFs · Daily · Upward breakout | 5 | 0.0% | 25.0% | −0.62 R vs −0.04 R | Not enough data |
| ETFs · Daily · Downward breakout | 18 | 22.2% | 16.7% | −0.22 R vs −0.30 R | Not enough data |
| Indices · Daily · Upward breakout | 4 | 25.0% | 12.5% | +1.10 R vs 0.00 R | Not enough data |
| Indices · Daily · Downward breakout | 10 | 10.0% | 35.0% | −0.71 R vs +0.05 R | Not enough data |
| Forex · Daily · Upward breakout | 2 | 0.0% | 12.5% | −1.00 R vs +0.11 R | Not enough data |
| Forex · Daily · Downward breakout | 7 | 14.3% | 21.4% | −0.27 R vs −0.29 R | Not enough data |
| Commodities · Daily · Upward breakout | 3 | 33.3% | 58.3% | 0.00 R vs +0.74 R | Not enough data |
| Commodities · Daily · Downward breakout | 7 | 28.6% | 32.1% | +0.18 R vs −0.04 R | Not enough data |
| All markets · Daily · Upward breakout | 314 | 31.5% | 34.2% | +0.15 R vs +0.23 R | No clear edge |
| All markets · Daily · Downward breakout | 793 | 19.2% | 19.6% | −0.21 R vs −0.16 R | No clear edge |
| Crypto · Weekly · Upward breakout | 7 | 57.1% | 39.3% | +0.71 R vs +0.18 R | Not enough data |
| Crypto · Weekly · Downward breakout | 1 | 0.0% | 0.0% | −1.00 R vs −1.00 R | Not enough data |
| US stocks · Weekly · Upward breakout | 46 | 30.4% | 45.4% | +0.17 R vs +0.59 R | No clear edge |
| US stocks · Weekly · Downward breakout | 71 | 16.9% | 11.6% | −0.35 R vs −0.33 R | No clear edge |
| ETFs · Weekly · Upward breakout | 4 | 50.0% | 43.8% | +0.50 R vs +0.65 R | Not enough data |
| Indices · Weekly · Upward breakout | 1 | 100.0% | 75.0% | +2.00 R vs +1.25 R | Not enough data |
| Indices · Weekly · Downward breakout | 1 | 0.0% | 50.0% | −1.00 R vs +0.50 R | Not enough data |
| Forex · Weekly · Upward breakout | 2 | 0.0% | 0.0% | −1.00 R vs −1.00 R | Not enough data |
| Commodities · Weekly · Downward breakout | 4 | 0.0% | 12.5% | −0.38 R vs −0.09 R | Not enough data |
| All markets · Weekly · Upward breakout | 60 | 35.0% | 43.5% | +0.25 R vs +0.50 R | No clear edge |
| All markets · Weekly · Downward breakout | 77 | 15.6% | 12.0% | −0.37 R vs −0.31 R | No clear edge |
After the breakout
| Market | Occurrences | False starts | Same, random dates | Throwbacks |
|---|---|---|---|---|
| Crypto · 1-hour · Upward breakout | 478 | 49.8% | 48.9% | 63.4% |
| Crypto · 1-hour · Downward breakout | 1,564 | 49.9% | 52.1% | 64.4% |
| Forex · 1-hour · Upward breakout | 66 | 59.1% | 50.8% | 71.2% |
| Forex · 1-hour · Downward breakout | 172 | 57.9% | 53.5% | 62.6% |
| All markets · 1-hour · Upward breakout | 544 | 50.9% | 49.1% | 64.3% |
| All markets · 1-hour · Downward breakout | 1,736 | 50.7% | 52.2% | 64.2% |
| Crypto · 4-hour · Upward breakout | 151 | 63.3% | 52.3% | 70.9% |
| Crypto · 4-hour · Downward breakout | 529 | 45.5% | 53.6% | 60.2% |
| Forex · 4-hour · Upward breakout | 17 | 41.2% | 45.3% | 70.6% |
| Forex · 4-hour · Downward breakout | 55 | 57.4% | 46.4% | 61.1% |
| All markets · 4-hour · Upward breakout | 168 | 61.1% | 51.6% | 70.8% |
| All markets · 4-hour · Downward breakout | 584 | 46.6% | 52.9% | 60.3% |
| Crypto · Daily · Upward breakout | 43 | 46.2% | 42.1% | 75.0% |
| Crypto · Daily · Downward breakout | 120 | 52.3% | 50.2% | 70.1% |
| US stocks · Daily · Upward breakout | 265 | 46.3% | 45.2% | 66.2% |
| US stocks · Daily · Downward breakout | 667 | 61.0% | 57.6% | 64.6% |
| ETFs · Daily · Upward breakout | 5 | 75.0% | 55.0% | 80.0% |
| ETFs · Daily · Downward breakout | 18 | 47.1% | 62.0% | 70.6% |
| Indices · Daily · Upward breakout | 4 | 25.0% | 43.8% | 75.0% |
| Indices · Daily · Downward breakout | 11 | 60.0% | 52.3% | 72.7% |
| Forex · Daily · Upward breakout | 3 | 100.0% | 50.0% | 0.0% |
| Forex · Daily · Downward breakout | 7 | 71.4% | 71.4% | 57.1% |
| Commodities · Daily · Upward breakout | 3 | 66.7% | 33.3% | 100.0% |
| Commodities · Daily · Downward breakout | 8 | 50.0% | 56.3% | 71.4% |
| All markets · Daily · Upward breakout | 323 | 46.8% | 44.8% | 67.7% |
| All markets · Daily · Downward breakout | 831 | 59.4% | 56.6% | 65.6% |
| Crypto · Weekly · Upward breakout | 7 | 0.0% | 42.9% | 83.3% |
| Crypto · Weekly · Downward breakout | 31 | 33.3% | 58.0% | 50.0% |
| US stocks · Weekly · Upward breakout | 46 | 41.5% | 33.0% | 67.4% |
| US stocks · Weekly · Downward breakout | 95 | 57.3% | 54.5% | 68.6% |
| ETFs · Weekly · Upward breakout | 4 | 50.0% | 37.5% | 50.0% |
| Indices · Weekly · Upward breakout | 1 | 0.0% | 0.0% | 0.0% |
| Indices · Weekly · Downward breakout | 1 | 100.0% | 50.0% | 100.0% |
| Forex · Weekly · Upward breakout | 2 | 100.0% | 87.5% | 50.0% |
| Commodities · Weekly · Downward breakout | 4 | 50.0% | 45.8% | 50.0% |
| All markets · Weekly · Upward breakout | 60 | 40.4% | 35.7% | 66.1% |
| All markets · Weekly · Downward breakout | 131 | 54.5% | 54.8% | 64.1% |
Data updated November 5, 2026 · code version c2a1683f · Read the methodology. We measure every pattern on crypto and forex (1-hour, 4-hour, daily and weekly charts) and US stocks, ETFs, indices and commodities (daily and weekly charts). A market or timeframe from that list missing from the tables above had no occurrence.
What you often read
“The bull flag is a reliable bullish signal.”
What our data shows
On 1,111 daily occurrences with upward breakouts, it moved in the expected direction 52.3% of the time, against 54.5% for random bars: no clear edge, since the average excess return is not statistically significant.
What you often read
“The bear flag is a reliable bearish signal.”
What our data shows
On 831 daily occurrences with downward breakouts, it moved in the expected direction 47.8% of the time, against 47.7% for random bars: no clear edge, since the average excess return is not statistically significant.
Table quoted in the text (verdicts and every market: see All measurements)
| Pattern, market and timeframe | Breakouts (2:1 trades) | Moved with the breakout 10 bars later | Random bars | 2:1 target hit | Same trade, random dates | Expectancy |
|---|---|---|---|---|---|---|
| Bull flag, all markets, daily | 1,111 (1,104) | 52.3% | 54.5% | 31.8% | 33.7% | +0.18 R |
| Bull flag, US stocks, daily | 997 (994) | 52.3% | 54.4% | 32.5% | 33.6% | +0.19 R |
| Bull flag, crypto, hourly | 1,076 (1,075) | 49.7% | 48.4% | 27.7% | 28.9% | −0.05 R |
| Bull flag, forex, hourly | 169 (169) | 50.3% | 50.7% | 29.6% | 27.6% | +0.05 R |
| Bull flag, all markets, weekly | 174 (166) | 61.3% | 59.0% | 44.0% | 46.3% | +0.43 R |
| Bear flag, all markets, daily | 831 (793) | 47.8% | 47.7% | 19.2% | 19.6% | −0.21 R |
| Bear flag, crypto, hourly | 1,564 (1,563) | 49.7% | 50.8% | 26.3% | 24.0% | +0.06 R |
| Bear flag, all markets, 4-hour | 584 (581) | 56.6% | 52.2% | 31.3% | 26.1% | +0.23 R |
| Bear flag, forex, hourly | 172 (171) | 46.5% | 49.4% | 23.4% | 24.7% | −0.17 R |
Read the table in pairs of columns. On the daily timeframe, 52.3% of bull flag patterns were higher 10 days after the breakout. That sounds bullish until you see that 54.5% of random days on the same assets were too: most markets rise a little more often than they fall. The excess return over the rest of the market after 10 days is −0.11%, with a 95% confidence interval from −0.49% to +0.27%. Zero is inside the interval: no clear edge.
The 2:1 trade tells the same story. The daily bull flag setup reached 2R 31.8% of the time and averaged +0.18 R per trade before costs, which looks attractive. But the same entry, stop and target distances placed on random dates of the same assets reached the target 33.7% of the time and averaged +0.22 R. The positive expectancy comes from the general upward drift of share prices, not from the timing of the flag. Fees and slippage would come on top.
The bear flag is weaker. On daily data it reached 2R only 19.2% of the time, for an expectancy of −0.21 R, against −0.16 R on random dates: shorting the breakdown of a daily bear flag lost money on average, before costs.
Beyond these rows, the 10-bar move shows a few gaps, none of them proven. Hourly bear flags that broke downward fell a little more than their market: all markets together, 1,736 cases with an average excess return of +0.08% in the expected direction, mostly crypto (1,564 cases, +0.09%), though only 49.4% were lower 10 bars later against 50.7% for random bars; both rows are rated No clear edge. Several rows went the other way and moved against the expected direction relative to their market: bear flags that broke upward on hourly, 4-hour and daily charts (on daily charts, all markets together, 323 cases, 52.3% higher 10 days later against 52.6%, an excess return of −0.90%), weekly bull flags that broke downward (36 cases, −2.72%) and 4-hour forex bull flags that broke upward (59 cases). Only the last passes a simple test, rated Weak, below chance, and it does not survive our correction for multiple testing; the others are rated No clear edge.
Which setups did better?
Pattern size made no clear difference on direction. On daily bull flags detected at the smallest swing scale (1 ATR, n 64), 50.0% were higher 10 days later, with an excess return of +0.96% (95% interval −0.29% to +2.31%). At the widest scale, 4 ATR (n 87), the excess was −0.17%. Both intervals include zero. These breakdowns are descriptive and not corrected for multiple testing: treat them as a lead to test, not as a discovery. Results showed no trend over time: the excess return was +0.04% in the first half of the history and −0.26% in the second, both close to zero.
How often does the flag pattern form?
Not that often, once you require a real pole and a clean channel: one bull flag every 7,631 daily bars across all markets, and one bear flag every 9,387 hourly bars on crypto.
Note that fees and slippage are not included in any of these figures. The All measurements table, with every market, timeframe and verdict, is available in the statistics section of this page. The method is published in our methodology.
Real examples of the flag pattern
The gallery of this section shows real flags picked by our bench (best and worst results, textbook shapes, most recent cases and typical draws), with their actual outcome. Four cases on daily crypto charts follow it in detail; they are not among the cards, which show hourly charts for crypto.
Real occurrences from our test bench, each on its market's main timeframe. Crypto examples come from liquid assets only (the largest coins). Best and Worst are the best and worst 2:1 trade results, Textbook the cleanest shapes (chosen on geometry alone, never on the outcome), Most recent the latest detections among the assets the gallery draws from, Typical a random draw. Shaded area: the pattern. Dashed lines: entry, stop loss (SL) and 2:1 target (TP) of the tested trade. Dotted line: 10 bars after the signal. A result above +2 R or below −1 R means a bar opened past the target or the stop, and the trade was closed at that open. From the bear flag gallery, we left out 1 card with a shape that does not read as the definition on this page. It still counts in the statistics, and is not replaced: our bench picks a fixed number of cards per category.
Case study: a bull flag that reached its target
On September 6, 2024, BTC/USDT started a rally from 52,550 to 66,498, reached on September 27. Price then pulled back in a short falling channel to 58,946 on October 10. On October 14, 2024, it closed at 66,084, above the consolidation: entry there, stop at 58,441.9 below it, 2:1 target at 81,368.1. Ten days after the breakout BTC was 3.2% higher, and the trade hit its target on November 10, 2024.
Case study: a bull flag breakout that failed
MKR/USDT rose from 502 on January 3, 2023 to 746 on January 14, then drifted down in a falling channel: a low at 630 on January 18, a lower high at 738 on January 21 and a lower low at 614 on January 30. On February 7, a single bar ran from 694 to a close at 790, far above the upper line of the flag (718.57). Because the trade opened at that close and the stop sat on the lower line of the flag at 603.33, the risk was close to a quarter of the entry and the 2:1 target sat at 1,163.33. Price never got there: MKR was 8.2% below the entry 10 days later, and it hit the stop on March 11, 2023: a full 1 R loss.
Case study: a bear flag that reached its target
BCH/USDT fell from 719.5 on April 5, 2024 to 400 on May 1, then rebounded to 530.1 in a rising channel. On May 29, 2024 it closed at 465.8, below the consolidation: entry there, stop at 550.39 above it, target at 296.63. Ten days later BCH was 0.8% higher, but the trade survived and hit its target on July 5, 2024.
Case study: a bear flag that failed
On May 24, 2023, ETH/USDT broke down from a bear flag at 1,799.89, with a stop at 1,875.72. Instead of continuing down, price rallied: ten days later it was 5.1% higher, and the stop was hit on May 28, 2023. More real cases, winners and losers, on other markets and timeframes, are in the gallery of this section.
Backtesting your flag trading strategy
Why backtesting is crucial for success
Backtesting is how traders find out whether a trading idea works before risking money in the market. Like all chart patterns, flags suffer from hindsight. Looking back at a chart, the flag patterns that worked are easy to see and the ones that failed are easy to forget. A backtest counts both. It is the only way to know whether your version of the strategy beats chance on your market.
Measuring win rates and risk-reward ratios
A win rate means nothing without the reward-to-risk ratio and a benchmark. A 2:1 trade needs to win more than one time in three to break even. Our daily bull flag reached 2R 31.8% of the time, and the same trade on random dates 33.7%: the useful number is the difference, not the win rate.
Improving your strategy through iterative testing
Good trading research is slow and boring by design. The principles are simple. Change one rule at a time (volume, trend filter, flag size), write it down before looking at the results, and compare each version with random entries using the same stop and target distances. Knowledge of the pattern is not enough: you learn what works only from the record of every trade, depending on your market and your timeframe. That is exactly the test our bench runs at scale.
Paper trading before live trading
Paper trading on a demo account is the next step after a backtest: trade the next 30 flag patterns in real time without money, with the same trading rules, and compare the results with the backtest. Live trading adds slippage, fees and emotions that no backtest shows.
Flag patterns in 2026 markets
Adapting to algorithmic trading environments
Flag breakout levels are easy to compute, so they are visible to every scanner and algorithm. That may be one reason the signal alone does not beat chance in our data: an obvious signal can be priced in quickly once a level is seen by everyone. This is an explanation we have not tested.
Using automated tools for pattern recognition
Automated scanners help traders identify flag patterns on hundreds of markets at once. Some charting platforms and scanners offer flag detection and breakout alerts. Check the rule each tool uses: the minimum pole size, the maximum retracement and the channel tolerance change the list of flags, and the results with it.
The impact of high-impact news on pattern reliability
Earnings, central bank decisions and economic data can turn a flag into a gap in either direction. A gap through the stop exits at the opening price, beyond the planned loss. Closing or reducing a flag trade before scheduled news avoids that risk.
Frequently asked questions about flag patterns
Is a flag pattern bullish or bearish?
Both exist. A bull flag appears after a rally and is a bullish continuation pattern; a bear flag forms after a drop and is a bearish continuation pattern. The direction comes from the pole.
How reliable are flag patterns in predicting price continuation?
In our data the breakout went in the direction of the pole far more often than against it (1,111 upside against 338 downside breaks on daily bull flags), but random simulated prices give about the same split, because it comes from how the pattern is built, and what follows does not beat chance in our tests. The daily bull flag trade reached 2R 31.8% of the time against 33.7% on random dates.
What is the optimal holding period after a breakout?
Holding periods varied a lot. On daily bull flags, winning trades reached 2R after a median of 35 bars, and half of them took between 21 and 60 bars. Losing trades hit the stop after a median of 19 bars.
Can flag patterns be used for day trading and swing trading?
Yes. For day trading and swing trading alike, the flag pattern appears on every timeframe. We tested four timeframes, from one hour to one week. No timeframe showed an edge over random dates.
How do I distinguish a fake breakout from a real one?
You cannot know in advance: some breakouts fail, whatever the filter. Waiting for a close beyond the channel removes intraday spikes, and a stop on its other side limits the cost of a false breakout. In our daily data on long trades, the trades that failed were stopped after a median of 19 bars.
Should I trade flag patterns during earnings or major news?
The risk is a gap beyond your stop. If you trade through news, reduce the position size to account for it.
Are flag patterns effective in cryptocurrency markets?
Not on their own. On hourly crypto data, bear flags reached 2R slightly more often than random trades and bull flags slightly less often, but with an expectancy near zero and no difference that passed our statistical test. See the crypto markets section above.
What is the difference between a flag and a rectangle pattern?
The flag is small, slopes against the trend and follows a sharp pole. A rectangle is a flat range between horizontal support and resistance, with no pole needed.
Can flag patterns appear on any timeframe?
Yes. We found them on hourly, 4-hour, daily and weekly charts, on shares, ETFs, indices, commodities, forex and crypto.
Summary
- A flag is a sharp pole followed by a small parallel channel that slopes against the trend, retracing at most 60% of the pole.
- Bull flag patterns broke upward 1,111 times on daily data against 338 downward; bear flag patterns broke down 831 times against 323 upward.
- The daily bull flag trade reached 2R 31.8% of the time, against 33.7% for the same trade on random dates: no clear edge.
- The daily bear flag trade had an average expectancy of −0.21 R before costs.
- Volume did not change the results much, and the 200-day moving average filter did not help.
Final thoughts on risk management
Risk management matters more than pattern recognition in trading. If you trade the flag pattern, treat it as a clean place to define risk, not as a reason to expect profits. Set the stop beyond the flag before the trade, size the position on that distance, skip signal bars that close far from the stop, and keep the risk per trade small. Good risk management also means accepting that most flag trades will not reach their target: on daily bull flags, the 2:1 trade reached its target 31.8% of the time. The edge, if any, has to come from what you add to the pattern, and from testing it honestly.
This page is educational information, not investment advice. Past results do not guarantee future ones, and investors should size every trade for the possible loss.
About the author and the data. Written by Amaury, founder of PatternsWizard, who is passionate about finance, quantitative trading and data analysis. He built the PatternsWizard test bench, which detects each setup with fixed, published rules on full market history: crypto, forex, US stocks, ETFs, indices and commodities. Trades and win rates are compared with random bars on the same assets, excess returns with the rest of the market, with error margins and a correction for multiple testing, and the whole pipeline is checked on random-walk prices, where nothing can be predicted. Statistics on this page were generated on November 5, 2026. The full methodology explains every step.
