Bearish Engulfing

A Bearish Engulfing pattern is a two-candle reversal where a red candle completely engulfs the body of the previous green candle, signalling that sellers overwhelmed buyers in a single session.

What it measures

Candle 1 is green (close > open). Candle 2 is red (close < open) and its body strictly contains candle 1's body — candle 2 opens at or above candle 1's close and closes at or below candle 1's open.

Parameters

NameDefaultRangeNote
min_body_ratio1.51.0–3.0Candle 2's body must be at least this multiple of candle 1's body.
require_uptrendtruetrue, falseRestrict signals to candles printed after an uptrend. Filters range noise.

How it behaves

Bearish engulfing at the top of an uptrend, especially at resistance, marks the moment sellers regain control. The signal strengthens with candle-2 volume and with a location at a validated resistance level or upper deviation band.

When it misleads

Same failure modes as its bullish counterpart, mirrored: pointless in ranges, and often just a countertrend bounce in strong uptrends. Combine with an uptrend context and a level to filter out the majority of noise engulfings.

Backtest result

Sourced backtest in preparation — we're running the rule on our own historical candles before publishing numbers we can stand behind.

FAQ

How is a Dark Cloud Cover different?
Dark Cloud Cover is the softer version — candle 2 closes below the midpoint of candle 1 but not below its open. Engulfing is the full-body reversal; Dark Cloud Cover is partial.
Should volume confirm the pattern?
Ideally, yes. A bearish engulfing on above-average volume is far more decisive than one on shrinking volume — the latter often marks temporary profit-taking rather than a real regime change.
Do gaps count as engulfing?
If candle 2 gaps open at or above candle 1's close and then closes below candle 1's open, yes. Session gaps often produce the largest engulfing patterns on daily charts.

Build a strategy with Bearish Engulfing

Drop the block into the Nodlow builder and backtest on real historical data.

Try it in the builder