Belt-hold (CDLBELTHOLD)
Summary
Single-candle pattern with a long real body that opens at (or near) its extreme. A bullish belt-hold is a long white candle with no/very short lower shadow; a bearish belt-hold is a long black candle with no/very short upper shadow. A white hit is bullish (opens at the low, closes strong); a black hit is bearish (opens at the high, closes weak).
Formula
One candle. Requires real body > BodyLong average (long body), then either: white body (close>=open) AND lower shadow < ShadowVeryShort average -> bullish; OR black body (close<open) AND upper shadow < ShadowVeryShort average -> bearish. No prior-trend or gap conditions are checked.
Notes
- Does not verify the prior trend that the pattern's bullish/bearish reading classically assumes.
- Bulkowski's testing ranks the bullish Belt-Hold's 71% reversal rate 11th of 103 patterns for pure reversal reliability (bearish reverses 68% of the time) — though its overall post-breakout performance rank is a more middling 62nd/63rd of 103. (thepatternsite.com)
Inputs
inOpen— Open price of each barinHigh— High price of each barinLow— Low price of each barinClose— Close price of each bar
Outputs
outInteger— +100 for a bullish (white) belt-hold, -100 for a bearish (black) belt-hold, 0 otherwise
Output Values
| Value | Meaning |
|---|---|
| -100 | Bearish belt-hold — opens at (or near) the high and sells off hard into the close, showing strong seller conviction |
| 0 | No pattern |
| 100 | Bullish belt-hold — opens at (or near) the low and rallies hard into the close, showing strong buyer conviction |
Properties
Numerical Stability: Start-Independent
| ☐ Overlap Input |
| ✅ Independent Y-Axis i |
| ✅ Candlestick i |
| ☐ Can Output NaN or ±Inf |
| ☐ Identity at Period 1 |
Implementation
TA-Lib Definition: cdlbelthold.c · cdlbelthold.yaml
| Native | File |
|---|---|
| C | ta_CDLBELTHOLD.c |
| Rust | cdlbelthold.rs |
| Java | Core_CDLBELTHOLD.java |
TA-Lib is also available for Python, R and more using a wrapper.
Aliases
Belt-hold, Belt Hold Line