Why bullish and bearish labels can be confusing
Thomas Bulkowski describes bullish three-line strike as a theoretical continuation of an uptrend, although his sample more often broke downward. His bearish version follows a decline but more often broke upward. The names identify the traditional pattern family, not the color of candle four or a confirmed order direction. When comparing TradingView community scripts, inspect their definitions before comparing labels.
- Bulkowski reports 69 bullish-pattern observations and a 65% bearish-reversal classification; for the bearish pattern he reports 85 observations and an 84% bullish-reversal classification. These are his historical pattern statistics, not this page's measurements or win rates for an executable strategy.
- He warns that the small samples make the apparent performance unreliable. Those figures do not establish an advantage on your TradingView symbol, timeframe or custom detector.
- The fourth close is already near one end of the formation. A closing breakout through that nearer boundary can be easier to reach. Compare trigger distances as well as direction counts.
| Pattern name used here | Candles 1 to 3 | Candle 4 | Traditional hypothesis | Competing hypothesis |
|---|
| Bullish three-line strike | Bullish bodies progressing upward | Bearish body covering the three bodies | Uptrend resumes | Uptrend reverses downward |
| Bearish three-line strike | Bearish bodies progressing downward | Bullish body covering the three bodies | Downtrend resumes | Downtrend reverses upward |
Write a four-candle definition with a separate trend filter
Label consecutive completed candles 1 through 4, oldest first. O, H, L and C mean ordinary open, high, low and close. The following stricter research variant makes body coverage and tolerances explicit. Its five-close trend filter, two-tick body minimum and opening restrictions are illustrative choices, not TradingView defaults or a reproduction of Bulkowski's sample.
- For each candle, the body endpoints are min(O, C) and max(O, C). Take the minimum and maximum across all three bodies; do not check only candle 3.
- Body coverage does not require candle 4 to exceed every earlier wick. Full-range engulfing would additionally require H4 >= max(H1, H2, H3) and L4 <= min(L1, L2, L3). Treat that as a separate variant.
- A fourth open exactly equal to the upper body edge fails the bullish variant because the rule requires one tick beyond it. Doji bodies fail the minimum-body condition.
- Reject missing prices, insufficient trend history, nonpositive tick size and invalid OHLC where H < max(O, C) or L > min(O, C). Compare prices on the instrument's tick grid without rounding failed observations into matches.
- A two-candle engulfing test has no requirement for three consecutive directional bodies or their preceding trend. A last pair can engulf while the complete three-line strike test fails.
| Requirement | Bullish-pattern variant | Bearish-pattern variant |
|---|
| Before candle 1 | The five immediately preceding closes rise strictly in sequence | The five immediately preceding closes fall strictly in sequence |
| Candles 1, 2 and 3 | Each C > O; C1 < C2 < C3; H1 < H2 < H3 | Each C < O; C1 > C2 > C3; L1 > L2 > L3 |
| Openings of candles 2 and 3 | Each open lies inside or at the endpoints of the preceding body | Same containment rule |
| All four body sizes | Absolute difference between close and open is at least two minimum ticks | Same minimum |
| Candle 4 direction | C4 < O4 | C4 > O4 |
| Cover the upper body edge | O4 >= maximum body endpoint of candles 1 to 3 + one tick | C4 >= maximum body endpoint of candles 1 to 3 + one tick |
| Cover the lower body edge | C4 <= minimum body endpoint of candles 1 to 3 - one tick | O4 <= minimum body endpoint of candles 1 to 3 - one tick |
Recalculate bullish and bearish OHLC examples
These invented price sequences use a 0.01 tick and are not historical trades. The bullish example has five preceding closes of 95, 96, 97, 98 and 99. The bearish mirror has preceding closes of 105, 104, 103, 102 and 101. Each tuple below is (open, high, low, close).
- Both pass the stated body-based variant. The bullish fourth high, 107, is below candle 3 high, 107.5; the bearish fourth low, 93, is above candle 3 low, 92.5. Both therefore fail the additional full-range variant.
- Bullish boundary case: change only O4 to 106.00. It touches the upper body edge but misses the 106.01 minimum, so the candidate fails. At 106.01 it passes that boundary.
- Partial engulfing case: change bullish C4 to 102.90. Candle 4 covers candle 3 body from 103 to 106, but not the full 100-to-106 envelope. This is insufficient for three-line strike.
- Trend failure: replace the bullish preceding closes with 99, 98, 99, 98 and 99. The four-bar shape stays the same but fails the specified prior-trend test. Keep it outside the filtered sample.
| Bar | Bullish-pattern example | Bearish-pattern example |
|---|
| 1 | (100, 103, 99, 102) | (100, 101, 97, 98) |
| 2 | (101, 105, 100.5, 104) | (99, 99.5, 95, 96) |
| 3 | (103, 107.5, 102.5, 106) | (97, 97.5, 92.5, 94) |
| 4 | (106.5, 107, 98.5, 99.5) | (93.5, 101.5, 93, 100.5) |
| First three body envelope | 100 to 106 | 94 to 100 |
| Fourth real body | 99.5 to 106.5: covers envelope by 0.5 at each end | 93.5 to 100.5: covers envelope by 0.5 at each end |
| Full four-bar range | 98.5 to 107.5 | 92.5 to 101.5 |
Test both interpretations with one confirmation rule
At candle 4 close, save U = max(H1, H2, H3, H4) and D = min(L1, L2, L3, L4). Inspect the next five completed chart bars, candles 5 through 9. The first close at least one tick above U records an upward confirmation; the first close at least one tick below D records a downward confirmation. Stop classifying that event after its first confirmation. This is a proposed experiment, not a reported backtest.
- Use the identical five-bar window, tick buffer, candle-close timing and full-range boundaries for both hypotheses. Do not confirm reversal at candle 4 close while making continuation wait for a later breakout.
- For the bullish example, upward confirmation needs a close of at least 107.51 and downward confirmation at most 98.49. From C4 = 99.5, those distances are 8.01 and 1.01. Identical rules do not imply equally distant targets.
- For the bearish mirror, upward confirmation needs 101.51 and downward confirmation 92.49. From C4 = 100.5, the distances are 1.01 and 8.01. Report distance divided by U - D when comparing markets.
- Count both variants on the same symbol, timeframe, session, adjustment setting and date window. Evaluate each candidate independently and disclose overlapping events; their outcomes are not independent observations.
- Publish continuation, reversal, expired and incomplete counts separately. If reporting a direction share among confirmed cases, also show confirmation count divided by all candidates so expiry is not hidden.
| First eligible outcome | Bullish-pattern interpretation | Bearish-pattern interpretation |
|---|
| Close >= U + one tick | Continuation confirmed | Reversal confirmed |
| Close <= D - one tick | Reversal confirmed | Continuation confirmed |
| No qualifying close by candle 9 | Unconfirmed at expiry | Unconfirmed at expiry |
| Dataset ends before candle 9 without a confirmation | Incomplete observation | Incomplete observation |
Check wick breaks, late confirmation and failed follow-through
Use the bullish example with U = 107.5 and D = 98.5. The following rows are alternative paths. No earlier eligible bar confirms unless the row explicitly says so. Candle color alone does not decide the outcome.
- For a follow-through audit, inspect the five completed bars after confirmation. Record a failure if a close reaches the opposite buffered boundary; mark incomplete follow-up separately. This evaluates persistence, not trading profit.
- A close-based classification cannot resolve the intrabar ordering of entry and stop prices. A gap may also prevent execution at a threshold. Strategy testing needs its own entry, exit, cost and fill assumptions.
- Freeze the definition before reviewing held-out history. Changing body coverage, trend length or confirmation horizon after seeing outcomes creates a different experiment.
| Following bars | Recorded result | Reason |
|---|
| Candle 5 low 98.20, close 99.00 | Pending | A wick below D is not a closing confirmation |
| Candle 5 close 98.50 | Pending | Boundary equality misses the one-tick buffer |
| Candle 5 close 98.49 | Reversal at candle 5 close | First close meets the lower threshold |
| Candle 5 close 107.51 | Continuation at candle 5 close | First close meets the upper threshold |
| Candle 5 high 108, low 98, close 100 | Pending | Both wicks cross; the close crosses neither boundary |
| Closes of candles 5 to 9 remain within 98.5 to 107.5; candle 10 closes 108 | Expired without confirmation | Candle 10 is outside the predeclared window |
| Candle 5 closes 98.49; candle 6 closes 108 | Reversal confirmation followed by opposite-boundary failure | Retain the original event rather than relabel it as continuation |
Review detections on TradingView before testing a strategy
Use ordinary candlesticks and record the exchange-qualified symbol, timeframe, session and dates. TradingView documents Heikin-Ashi OHLC as synthetic, so a shape detected there does not describe the same traded-price sequence. Wait for candle 4 to finish before evaluating its body and mark any later confirmation on the bar where it becomes known.
- Compare a detector against both valid OHLC examples and every rejected boundary case above. A community indicator with different rules may disagree without either implementation being broken.
- Give Pine Script AI Coding Agent the complete written rule table, tick buffer and confirmation window. Request separate shape, continuation, reversal, expiry and failure markers. Review the generated source and syntax-check it before running chart alerts.
- Use AI Chart Analysis with readable screenshots of accepted and rejected samples to review visible trend context. Preserve candle timestamps and verify exact O, H, L and C in TradingView: a screenshot cannot settle a one-tick comparison or show hidden history.
- Only after the detector matches the written cases should you specify orders and test costs, exits and position sizing. This page contains no live scan, detector execution or measured strategy advantage.