Is the Engulfing Candle Profitable? 396 Backtests on USD/JPY
Engulfing candle win rates on USD/JPY over two years, measured against the bars that flipped colour without engulfing, with false-break rates and a tradable threshold.
An engulfing candle is two bars. The second one is the opposite colour to the first, and its body covers the first one's body. A large up bar after a down bar is read as a buy; a large down bar after an up bar is read as a sell.
Two separate things are packed into that. The colour flips, and the body covers. Colour flips are not rare: the hourly chart of 2025 held 3,166 of them, and only 839 covered the previous body.
So the comparison here is not against all bars. It is against the 2,327 pairs that flipped colour and failed to cover. If the covering carries the pattern, those two groups have to behave differently.
On the hourly chart they did. Ten bars later the engulfing signals had moved their own way 53.40% of the time against 49.12% for the plain flip, and 2024 gave the same ordering at 52.81% against 48.98%. On the 15-minute chart the gap is +0.50 points in one year and -0.37 in the other.
What the engulfing condition actually tests
The test Formiq's backtester runs looks at the bodies only.
- Long: the previous bar closed down, this bar closed up, this bar opened at or below the previous close and closed at or above the previous open
- Short: the mirror of that
Wicks play no part. The shape that also covers the previous high and low is a different one, the outside bar, and both are counted separately here.
Write-ups usually add three requirements: cover the wicks too, make the new body much larger than the old one, and take it only after a move in the opposite direction. All three are measured below.
Settings and how to add a threshold
Nothing is drawn. The pattern is two candles that are already on the chart, so no line and no lower pane appears.
The condition has no numbers
| Condition | Numeric field | Default |
|---|---|---|
| Engulfing | none | fires whenever the body covers the previous body |
There is no field for how much bigger the new body has to be. The condition either fires or it does not, about 800 times a year on the hourly chart, 3,300 on the 15-minute and 200 on the 4-hour.
Adding a threshold with a second condition
To filter by size, switch on a second condition beside it. Every filter in this article was built that way.
| What to filter on | Condition to add | Setting |
|---|---|---|
| The engulfing bar's body is solid | Marubozu | body ratio 0.5 to 0.9 |
| The engulfing bar's range is large | Large candle | ATR multiple 1.0 to 2.0, body ratio 0.5 |
| Take only the side the average points | MA slope | period 20 or 50, compared five bars back |
The marubozu condition is body divided by range, at or above a threshold, so beside the engulfing condition it keeps the signals whose body is solid rather than mostly wick. The MA slope condition passes longs while the average is rising and shorts while it is falling, which turns the pattern into a with-the-trend entry.
The published trading rule
Enter at the close of the bar that completes the pattern, in the direction it points. The usual exit is the opposite engulfing candle, and the usual stop is the far end of the engulfing bar: the low for a long, the high for a short. Both are measured here.
How this was measured
| Item | Value |
|---|---|
| Pair | USD/JPY |
| Timeframes | 15-minute, hourly, 4-hour |
| Period | 1 January 2024 to 31 December 2025 |
| Detection | the same code the backtest runs, bar by bar |
| Control | pairs that flipped colour without covering the previous body |
| Horizon | the close 1, 5, 10 and 20 bars after the signal bar |
| Exits | the opposite engulfing candle, and a fixed ten-bar hold |
| Conditions | the plain pattern plus 10 filters, 11 in total |
| Runs | 11 conditions x 2 exits and one spread-free pass x 3 timeframes x 4 windows = 396 |
| Spread | 0.3 pips, fixed |
| Lot | 0.1 |
| Fill | at the close |
The filters gate the entry only. The exit is always the plain pattern. If a filter gated the exit as well, a stricter filter would leave positions open longer and the comparison would become a comparison of holding times.
Against the colour flip that did not engulf
The share of signals whose close ten bars later had moved the pattern's way:
| Timeframe | Year | Engulfing | Hit rate | Colour flip only | Hit rate | Difference |
|---|---|---|---|---|---|---|
| 15-minute | 2025 | 3301 | 50.08% | 9182 | 49.58% | +0.50 |
| 15-minute | 2024 | 3274 | 49.97% | 9532 | 50.34% | -0.37 |
| Hourly | 2025 | 839 | 53.40% | 2327 | 49.12% | +4.28 |
| Hourly | 2024 | 818 | 52.81% | 2297 | 48.98% | +3.83 |
| 4-hour | 2025 | 198 | 54.04% | 601 | 50.25% | +3.79 |
| 4-hour | 2024 | 215 | 47.91% | 561 | 50.62% | -2.72 |
The hourly chart is the only one where the difference is positive in both years. The 15-minute chart stays inside half a point either way, so whether the body was covered did not separate anything. The 4-hour chart is +3.79 in 2025 and -2.72 in 2024, changing sign between the years.
In pips the hourly gap is wider than the hit rate suggests. Engulfing signals moved an average of +4.28 pips (2025) and +4.59 pips (2024) over ten bars, while plain colour flips moved -1.58 and -2.39. The differences are 5.87 and 6.98 pips.
Does covering the wicks help?
Splitting the signals into bars that covered the previous range entirely (the outside bar) and bars that covered only the body:
| Timeframe | Year | Outside bar | Hit rate | Body only | Hit rate |
|---|---|---|---|---|---|
| 15-minute | 2025 | 919 | 48.97% | 2382 | 50.50% |
| 15-minute | 2024 | 868 | 50.69% | 2406 | 49.71% |
| Hourly | 2025 | 229 | 51.97% | 610 | 53.93% |
| Hourly | 2024 | 199 | 51.26% | 619 | 53.31% |
| 4-hour | 2025 | 61 | 52.46% | 137 | 54.74% |
| 4-hour | 2024 | 67 | 46.27% | 148 | 48.65% |
Body-only was the higher of the two in five of the six cells. The exception is the 15-minute chart in 2024, by 0.98 points. On the hourly chart body-only led by 1.96 and 2.05 points.
Covering the wicks requires the bar's high and low to clear the previous bar's, which admits bars that travelled a long way in both directions. The test does not identify why that reads worse. What it shows is that adding the requirement cut the signal count to about a quarter without raising the hit rate.
Keeping only the solid bodies
Filtering on the engulfing bar itself: body divided by range at 0.7 or more, so wicks take up no more than 30% of the bar.
| Timeframe | Year | All engulfing | Hit rate | Body fills 70%+ | Hit rate |
|---|---|---|---|---|---|
| 15-minute | 2025 | 3301 | 50.08% | 1264 | 51.82% |
| 15-minute | 2024 | 3274 | 49.97% | 1271 | 50.59% |
| Hourly | 2025 | 839 | 53.40% | 282 | 56.38% |
| Hourly | 2024 | 818 | 52.81% | 264 | 55.30% |
| 4-hour | 2025 | 198 | 54.04% | 65 | 56.92% |
| 4-hour | 2024 | 215 | 47.91% | 70 | 50.00% |
All six cells improved, by between 0.62 points (15-minute, 2024) and 2.98 points (hourly, 2025). Of every filter measured here, this is the only one with no exception across three timeframes and two years.
The signal count falls to roughly a third: 839 becomes 282 on the hourly chart, 198 becomes 65 on the 4-hour.
How often is it a false signal?
The usual stop sits at the far end of the engulfing bar, so that is the level to test. For a bullish engulfing, does price break the bar's low first, or travel the same distance upward first? No exit and no holding period enters the count.
| Timeframe | Year | Group | Signals | Broke the far end first | Broke on the next bar |
|---|---|---|---|---|---|
| Hourly | 2025 | Engulfing | 840 | 51.73% | 21.79% |
| Hourly | 2025 | Colour flip only | 2331 | 55.95% | 32.43% |
| Hourly | 2025 | Body fills 70%+ | 283 | 50.35% | 10.60% |
| Hourly | 2024 | Engulfing | 818 | 48.40% | 20.54% |
| Hourly | 2024 | Colour flip only | 2297 | 53.77% | 32.35% |
| Hourly | 2024 | Body fills 70%+ | 264 | 43.73% | 15.53% |
Across all six cells the plain pattern broke first 48.40 to 53.27% of the time, the colour flip 53.67 to 57.28%, and the solid-bodied pattern 43.73 to 50.71%. The plain pattern was above half in five of the six. With a stop and a target the same distance apart, it is close to a coin toss.
Next-bar failures run 17.21 to 21.79% for the plain pattern, 32.35 to 34.40% for the colour flip and 10.60 to 15.53% once the body has to fill 70% of the range. Roughly one engulfing signal in five loses its far end on the very next bar, and the median failure arrives two bars in.
A false break is therefore the ordinary case rather than an accident. Filtering on the body brings it down to about one in ten, at the cost of two thirds of the signals.
Reversal or continuation?
Splitting each set by the close-to-close move over the five bars leading into the pair: against the pattern's direction is the textbook reversal, with it is a continuation.
| Timeframe | Year | Reversal | Hit rate | Continuation | Hit rate |
|---|---|---|---|---|---|
| 15-minute | 2025 | 1701 | 50.44% | 1593 | 49.72% |
| 15-minute | 2024 | 1595 | 50.60% | 1676 | 49.40% |
| Hourly | 2025 | 430 | 51.16% | 408 | 55.64% |
| Hourly | 2024 | 406 | 49.75% | 411 | 55.72% |
| 4-hour | 2025 | 88 | 56.82% | 109 | 51.38% |
| 4-hour | 2024 | 109 | 53.21% | 106 | 42.45% |
The answer flips with the timeframe. The hourly chart favoured continuation in both years by 4.48 and 5.97 points. The 4-hour chart favoured reversal in both years by 5.44 and 10.76. The 15-minute chart favoured reversal by 0.72 and 1.20.
Taking only engulfing candles that follow a move the other way is therefore a decision that cannot be made before the timeframe is. Added on the hourly chart over these two years, it keeps the weaker half.
Trading all 396 runs
Entering at the close of the completing bar and holding until the opposite engulfing candle, at 0.3 pips of spread and 0.1 lots, on the hourly chart:
| Filter | 2025 trades | 2025 win rate | 2025 net pips | 2024 trades | 2024 win rate | 2024 net pips |
|---|---|---|---|---|---|---|
| none (plain pattern) | 439 | 43.28% | +813.8 | 426 | 42.96% | +2180.8 |
| body / range ≥ 0.5 | 334 | 45.21% | +319.0 | 341 | 44.28% | +2339.3 |
| body / range ≥ 0.6 | 280 | 47.14% | +761.3 | 279 | 43.73% | +2237.3 |
| body / range ≥ 0.7 | 210 | 47.62% | +1182.6 | 204 | 44.12% | +2249.1 |
| body / range ≥ 0.8 | 135 | 53.33% | +1478.2 | 112 | 42.86% | +1091.8 |
| body / range ≥ 0.9 | 29 | 51.72% | +145.7 | 46 | 43.48% | +949.9 |
| range ≥ 1.0 x ATR | 222 | 50.00% | +615.1 | 204 | 47.06% | +1924.6 |
| range ≥ 1.5 x ATR | 110 | 48.18% | +44.6 | 100 | 46.00% | +1186.3 |
| range ≥ 2.0 x ATR | 40 | 40.00% | -121.8 | 47 | 46.81% | +1085.1 |
| 20-period MA direction | 254 | 44.49% | +643.8 | 243 | 41.56% | +1894.2 |
| 50-period MA direction | 232 | 46.12% | +1226.9 | 233 | 42.92% | +1608.7 |
Ten of the eleven conditions finished both years in profit on the hourly chart. The exception is the 2.0 x ATR filter, which took 40 trades in 2025.
The other two charts are not like that. Two of eleven cleared both years on the 15-minute chart (the 2.0 x ATR filter and the 20-period MA direction), and four on the 4-hour (the plain pattern, the 0.5 and 0.6 body ratios, and the 50-period MA direction). The plain pattern lost money in both years on the 15-minute chart, at -679.7 and -725.2 pips.
With a fixed ten-bar exit instead
Closing after ten bars rather than waiting for the opposite pattern also left ten of eleven profitable in both years on the hourly chart, and the win rates line up more cleanly.
| Filter | 2025 trades | 2025 win rate | 2025 net pips | 2024 trades | 2024 win rate | 2024 net pips |
|---|---|---|---|---|---|---|
| none (plain pattern) | 356 | 51.40% | +1000.9 | 368 | 54.08% | +2449.2 |
| body / range ≥ 0.5 | 284 | 51.76% | +884.0 | 306 | 51.31% | +1248.3 |
| body / range ≥ 0.6 | 251 | 54.18% | +727.7 | 256 | 50.78% | +1628.3 |
| body / range ≥ 0.7 | 194 | 57.22% | +1656.6 | 179 | 55.31% | +1212.8 |
| body / range ≥ 0.8 | 132 | 58.33% | +1104.6 | 104 | 57.69% | +920.6 |
| body / range ≥ 0.9 | 32 | 56.25% | +155.6 | 45 | 53.33% | +556.3 |
Raising the body ratio from 0.5 to 0.8 lifts the win rate from 51.76% to 58.33% in 2025 and from 51.31% to 57.69% in 2024, while the trade count falls from 284 to 132. At 0.9 the 2025 sample is 32 trades and the year returns +155.6 pips.
Splitting 2025 in half
| Filter | 2025 | Jan-Jun | Jul-Dec |
|---|---|---|---|
| none (plain pattern) | +813.8 | +659.3 | +116.0 |
| body / range ≥ 0.5 | +319.0 | +76.4 | +204.2 |
| body / range ≥ 0.6 | +761.3 | +253.5 | +469.4 |
| body / range ≥ 0.7 | +1182.6 | +305.3 | +838.8 |
| body / range ≥ 0.8 | +1478.2 | +618.7 | +821.1 |
| body / range ≥ 0.9 | +145.7 | +243.2 | -97.5 |
Five of the six were profitable in both halves, which is more than most indicators in this series manage. The 0.9 ratio is the one that broke, at -97.5 pips in the second half.
Last year's winner, held through this year
Taking whichever condition earned the most in 2024 and running it unchanged through 2025:
| Timeframe | 2024 winner | 2024 net pips | 2025 net pips | 2025 rank | 2025 median of 11 |
|---|---|---|---|---|---|
| 15-minute | 50-period MA direction | +1680.6 | -444.3 | 9th | +63.7 |
| Hourly | body / range ≥ 0.5 | +2339.3 | +319.0 | 8th | +643.8 |
| 4-hour | body / range ≥ 0.8 | +1405.9 | -261.1 | 8th | -114.1 |
All three finished below the following year's median. Ten of the eleven conditions made money in both years on the hourly chart, and the one that earned most in 2024 still landed 8th of 11 in 2025. Ranking the filters by last year's profit did not help over these two years.
Stops, targets and cost
The exit sets the win rate
| Entry | Stop / target | 2025 trades | 2025 win rate | 2025 net pips | 2024 net pips |
|---|---|---|---|---|---|
| plain pattern | none | 439 | 43.28% | +813.8 | +2180.8 |
| plain pattern | 30 / 60 | 614 | 35.18% | +448.2 | +1600.7 |
| plain pattern | 60 / 30 | 639 | 53.68% | +515.4 | +274.1 |
| plain pattern | 50 / 50 | 593 | 41.48% | +47.4 | +875.1 |
| body ≥ 0.7 | none | 210 | 47.62% | +1182.6 | +2249.1 |
| body ≥ 0.7 | 30 / 60 | 246 | 39.02% | +878.0 | +1194.5 |
| body ≥ 0.7 | 60 / 30 | 251 | 56.18% | +513.6 | +989.8 |
| body ≥ 0.7 | 50 / 50 | 244 | 45.08% | +590.2 | +1397.2 |
Same entries, and the plain pattern's win rate moves from 35.18% to 53.68%. The 60 / 30 exit that produces the highest win rate also produces the smallest 2024 result of the four, at +274.1 pips. A "60% win rate engulfing strategy" can be manufactured from the exit alone.
Cost
| Timeframe | Filter | Trades | Spread paid | Break-even spread |
|---|---|---|---|---|
| 15-minute | none | 1795 | 538.5 | -0.08 |
| 15-minute | body ≥ 0.7 | 944 | 283.2 | 1.58 |
| Hourly | none | 439 | 131.7 | 2.15 |
| Hourly | body ≥ 0.7 | 210 | 63.0 | 5.93 |
| Hourly | body ≥ 0.8 | 135 | 40.5 | 11.25 |
| 4-hour | none | 99 | 29.6 | 13.07 |
Spread paid matched trade count times 0.3 pips in every run. The break-even spread is the width at which the 2025 result reaches zero.
The plain pattern on the 15-minute chart breaks even at -0.08 pips, so it loses at zero spread too. The trade count is not what sinks it; the entry is. The hourly chart with a 0.8 body ratio has room out to 11.25 pips, on 135 trades a year.
Related articles
- Candlestick pattern win rates: 17 patterns including this one, over the same two years and the same kind of control
- Do fair value gaps really fill?: another price-action claim measured against ordinary bars
- Do morning and evening stars reverse price?: a three-bar reversal, measured the same way
- Double tops and double bottoms tested: reversal rates for multi-bar shapes over the same two years
- What Heikin Ashi actually changes: a chart that rewrites the candles themselves
Notes
The data is USD/JPY from 1 January 2024 to 31 December 2025. Fills are at the close, the spread is fixed at 0.3 pips, and the lot is 0.1. Detection uses the same code path as the backtest and reads bars from before the test window. Because the horizons run out to 20 bars, that many bars at the end of each year are excluded from the counts. In the false-break test, a bar that touches both the far end and the target cannot be ordered from a candle, so it is counted as the failure. The body-ratio filters are built from the marubozu condition, so the engulfing test itself is unchanged.
Questions people ask
- What is the win rate of the engulfing candle?
- On the hourly chart, the close ten bars after the pattern had moved its way 53.40% of the time in 2025 (839 signals) and 52.81% in 2024 (818). The bars that flipped colour without covering the previous body managed 49.12% and 48.98%, so the pattern is worth 4.28 and 3.83 points over them. On the 15-minute chart the pattern reads 50.08% and 49.97%, which is +0.50 and -0.37 against the same control.
- How often does an engulfing candle fail?
- Taking the far end of the engulfing bar as the invalidation and the same distance as the target, price broke the far end first in 48.40 to 53.27% of cases across three timeframes and two years, above half in five of the six. It broke on the very next bar 17.21 to 21.79% of the time, roughly one signal in five. A plain colour flip fails more often (53.67 to 57.28%, and 32.35 to 34.40% on the next bar); an engulfing bar whose body fills at least 70% of its range fails less (43.73 to 50.71%, and 10.60 to 15.53%).
- Should the engulfing candle cover the wicks as well?
- It did worse when it did. Splitting the signals into bars that covered the whole previous range and bars that covered only the body, the body-only half had the higher hit rate in five of six cells. On the hourly chart it was 53.93% against 51.97% in 2025 and 53.31% against 51.26% in 2024.
- Is the engulfing candle a reversal or a continuation signal?
- That depended on the timeframe. Splitting by the five-bar move into the pattern, the hourly chart favoured continuation in both years (55.64% against 51.16% in 2025, 55.72% against 49.75% in 2024). The 4-hour chart favoured reversal in both years by 5.44 and 10.76 points, and the 15-minute chart favoured reversal by 0.72 and 1.20.
- Can I backtest the engulfing candle in Formiq?
- Yes. The backtest condition list has an engulfing entry with no numeric fields. The body-ratio filters in this article were built by switching on the marubozu condition beside it and changing its body ratio.
Formiq is a free browser-based FX terminal with replay practice and no-code backtesting. Open the chart or see what the free plan includes.