Dragonfly Doji (CDLDRAGONFLYDOJI)
Summary
Single-candle pattern: a doji (open and close nearly equal) sitting at the top of the range, with no meaningful upper shadow and a long lower shadow. A reversal signal, but its bullish/bearish meaning depends on the prior trend (the code does not judge direction). A hit marks a dragonfly doji; treated as a potential reversal, but direction (bullish/bearish) must be read from the trend it appears in.
Formula
Single candle. realbody <= BodyDoji average (doji body) AND upper shadow < ShadowVeryShort average (no/very short upper shadow) AND lower shadow > ShadowVeryShort average (lower shadow present, not very short). No color, gap, or trend test.
Notes
- Does not verify the prior trend that determines the pattern's bullish/bearish meaning.
- Bulkowski's testing found this reverses the prior trend only about 50% of the time — statistically no better than a coin flip — and ranks 98th of 103 candlestick patterns for post-breakout performance. (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 when the pattern is present, 0 otherwise; never -100. The +100 does not itself imply bullishness (must be read against the trend)
Output Values
| Value | Meaning |
|---|---|
| 0 | No pattern |
| 100 | Dragonfly Doji detected — a potential reversal; direction (bullish/bearish) must be read from the prevailing trend, which this function does not check |
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: cdldragonflydoji.c · cdldragonflydoji.yaml
| Native | File |
|---|---|
| C | ta_CDLDRAGONFLYDOJI.c |
| Rust | cdldragonflydoji.rs |
| Java | Core_CDLDRAGONFLYDOJI.java |
TA-Lib is also available for Python, R and more using a wrapper.
Aliases
Dragonfly Doji