Markets › Metals · XAUUSD spot, 1-hour bars from 1-minute data

Engulfing Candle Strategy Backtest: 22 Years of Gold on the 1-Hour Chart

The bullish and bearish engulfing patterns are among the first candlestick setups every trader learns. We traded every one on gold's 1-hour chart from 2004 to 2026, with the textbook stop, two targets and two popular filters.

XAUUSD (spot gold) · 1-hour bars · bullish and bearish engulfing, stop at the engulfing candle, 1R and 2R targets · Protocol v1.0 plus the 8 Oct 2026 rules

Buried · Costs

The pattern beat chance. The spread beat the pattern.

BornFrozen 21 Oct 2026 (eg_spec.md), before any pattern was computed
Died21 Oct 2026

Variants tried: 4 · Passed every gate: 0 · Beat the random control: 4 · Holdout opened: yes (already used)

Short answer: not after costs. On 22 years of gold 1-hour bars the engulfing pattern made a small profit before costs and beat the same trades on random days, but with the stop at the engulfing candle (a median of $2.98 away) the $0.30 round trip took about 0.15 R a trade, and every version lost: -0.134 R a trade with a 1R target, -0.088 R with a 2R target and a 200 EMA trend filter.How much costs took here, compared across all 54 of our tests →Compare all 14 gold strategies we tested →

00The verdict in three lines

  • We tested the engulfing candle strategy on gold (XAUUSD) 1-hour bars from 2004 to October 2026: enter after a bullish or bearish engulfing candle, stop at the engulfing candle's low or high, target 1R or 2R; two versions add a reversal-context filter or a 200 EMA trend filter. $0.30 an ounce a round trip.
  • The pattern beat random timing, and still lost money. Before costs it made +0.012 R to +0.056 R a trade; the cost was about 0.146 R a trade, because the median stop was only $2.98. Net: -0.134 R (1R target) to -0.088 R (with the trend) a trade over 6,254 to 12,186 trades.
  • Buried, cause Costs, for all four versions. The lesson is about stop size, not about candlesticks.

01What is an engulfing candle?

An engulfing pattern is a two-candle formation where the second candle's body completely covers the body of the first, in the opposite colour.

  • Bullish engulfing pattern: a down candle followed by an up candle that opens at or below the down candle's close and closes above its open. It is read as buyers overpowering sellers, and taught as a buy signal, especially after a decline.
  • Bearish engulfing pattern: an up candle followed by a down candle that opens at or above its close and closes below its open; taught as a sell signal, especially after a rise.
  • Engulfing candle stop loss: the textbook stop is just beyond the engulfing candle, below its low for a bullish pattern and above its high for a bearish one; the target is a multiple of that risk.

On gold's 1-hour chart the pattern is common: 17,823 engulfing patterns in 22 years (9,001 bullish, 8,822 bearish), about 13.8% of all bars, close to a thousand a year recently.

02The engulfing candle strategies we tested

  • Entry: at the open of the next minute after the engulfing candle closes: long after a bullish engulfing, short after a bearish one. One trade at a time.
  • Stop: the engulfing candle's low (long) or high (short). R = the distance from entry to stop.
  • EG-1R and EG-2R: every pattern, target 1R or 2R.
  • EG-2R-REV: the reversal context: a bullish engulfing only when the candle before it closed below the 20-bar moving average (it came after a decline), a bearish one only above it.
  • EG-2R-200: the trend filter: longs only above the 200-bar EMA, shorts only below.
  • Stops and targets are checked minute by minute (the stop first when both fall in the same minute); a gap through a level fills at the gapped price.

We fixed these four versions, the costs and the gates on 21 October 2026, before computing a single pattern. Related candlestick test: the inside bar on EUR/USD.

03How we tested it

XAUUSD from the IC Markets MetaTrader 4 history, 1-minute bars from June 2004 to 7 October 2026 on the New York clock, built into 129,857 one-hour bars, the same file as our other gold tests. Costs: $0.30 an ounce a round trip, as in every gold test on this site; no slippage beyond gapped fills, which flatters the result. Periods: 2004 to 2012, 2013 to 2019, and a holdout from 2020 already used by earlier gold tests. First-period bar t ≥ 2.0 (a pattern not tested before here). Control: every trade moved to another day at the same time, same direction, same stop and target distances, 500 times. Engine check: hand-worked patterns (equal opens, a doji, a close exactly at the open, a gap through the stop, stop and target in the same minute, both filters, one position at a time) and an independent re-implementation that matched every one of the 33,541 trades; the self-test caught one rounding issue in the 20-bar average before any result was computed (eg_selftest_result.txt).

04Results: does the engulfing candle strategy work?

VariantRuleTradesWin rate (95% range)Gross per tradeCost per tradeNet per tradeNet totalProfit factorVerdict
EG-1REvery engulfing pattern, target 1R12,18649.9% (49% to 51%)+0.012 R−0.146 R-0.134 R-1,632 R0.77Buried
EG-2REvery engulfing pattern, target 2R8,82533.9% (33% to 35%)+0.028 R−0.142 R-0.113 R-999 R0.85Buried
EG-2R-REVOnly after a move the other way (reversal context), target 2R6,27634.1% (33% to 35%)+0.031 R−0.145 R-0.114 R-716 R0.85Buried
EG-2R-200Only in the direction of the 200 EMA, target 2R6,25435.2% (34% to 36%)+0.056 R−0.143 R-0.088 R-549 R0.88Buried
-1750 R-1500 R-1250 R-1000 R-750 R-500 R-250 R0 R200620102014201820222026validationholdout*EG-1REG-2REG-2R-REVEG-2R-200

Cumulative net R by month (1 R = the distance from entry to the stop). * Holdout already used before this test.

Engulfing pattern win rate: 49.9% with a 1R target and 33.9% with a 2R target, almost exactly what a coin flip gives with those targets before costs. The median trade lasted 1.4 hours (1R) to 2.8 hours (2R).

05Why it lost: the stop is too close for the cost

The cost of a trade is fixed in dollars ($0.30 an ounce), but results are measured against the risk, the distance to the stop. On gold's 1-hour chart the engulfing candle is usually small, so the stop is close: the median R was $2.98, and a third of the trades had a stop under $2.09.

Stop distance (thirds of EG-1R trades)Average cost per trade, EG-1REG-1R net per trade (trades)EG-2R net per trade (trades)EG-2R-REV net per trade (trades)EG-2R-200 net per trade (trades)
Small stop (under $2.09)0.294 R-0.278 R (4,053)-0.266 R (2,821)-0.249 R (2,092)-0.239 R (2,081)
Medium ($2.09 to $4.30)0.103 R-0.098 R (4,057)-0.101 R (2,917)-0.084 R (2,061)-0.072 R (2,051)
Large ($4.30 and over)0.041 R-0.026 R (4,076)+0.015 R (3,087)-0.010 R (2,123)+0.046 R (2,122)

The smaller the stop, the worse the result: the cost takes a bigger bite of each trade. With the largest stops the plain 2R and the trend-filtered versions were slightly positive. That split was not part of the rules, so we do not treat it as a filter; it shows where the money was lost. You can check your own numbers with our trading cost calculator.

06Engulfing pattern or random entry?

VariantTradesReal net per tradeRandom days, medianRandom, 5th to 95thPercentile (95 needed)
EG-1R12,186-0.134 R-0.171 R-0.195 R to -0.149 R99.6
EG-2R8,825-0.113 R-0.161 R-0.197 R to -0.123 R98.4
EG-2R-REV6,276-0.114 R-0.160 R-0.202 R to -0.119 R96.4
EG-2R-2006,254-0.088 R-0.156 R-0.197 R to -0.110 R99.6

The control places every trade on another day at the same time, with the same stop and target distances. Moved trades lost more than the real ones in every version, so the pattern did pick slightly better moments. (A moved trade that lands on a weekend, or overlaps the previous one, is skipped, so each control run keeps a little over half of the trades.) Beating chance is one gate of six; the pattern still lost money.

07By period and by year

Variant2004 to 2012, net per trade (trades)2013 to 2019 (trades)Holdout* 2020 to Oct 2026 (trades)t, first periodPF, second period
EG-1R-0.185 R (3,579)-0.161 R (4,316)-0.063 R (4,291)-7.460.72
EG-2R-0.151 R (2,718)-0.139 R (3,127)-0.051 R (2,980)-4.160.82
EG-2R-REV-0.118 R (1,878)-0.140 R (2,275)-0.083 R (2,123)-2.560.82
EG-2R-200-0.125 R (1,807)-0.122 R (2,308)-0.019 R (2,139)-3.550.84
YearEngulfing patternsEG-1R net (trades)EG-2R net (trades)EG-2R-REV net (trades)EG-2R-200 net (trades)
2004 (from July)161-42 R (141)-42 R (111)-20 R (75)-20 R (67)
2005345-109 R (289)-82 R (230)-53 R (169)-28 R (126)
2006405-53 R (328)-14 R (281)-32 R (188)-5 R (171)
2007515-132 R (391)-99 R (299)-77 R (206)-60 R (188)
2008624-14 R (468)+3 R (392)+67 R (249)-21 R (251)
2009684-110 R (498)-86 R (398)-38 R (262)-40 R (261)
2010654-112 R (502)-73 R (382)-69 R (273)-49 R (261)
2011659-15 R (480)+2 R (335)+8 R (233)+5 R (259)
2012762-75 R (482)-19 R (290)-8 R (223)-9 R (223)
2013866-85 R (550)-76 R (420)-28 R (325)-41 R (306)
2014913-127 R (600)-92 R (439)-33 R (293)-71 R (318)
2015913-80 R (575)-35 R (414)-34 R (307)-35 R (298)
2016895-90 R (646)-54 R (441)-33 R (315)+3 R (300)
2017928-119 R (630)-28 R (447)-95 R (317)-30 R (339)
2018991-105 R (636)-72 R (467)-51 R (369)-52 R (367)
20191,060-90 R (679)-78 R (499)-44 R (349)-54 R (380)
2020978-54 R (661)-2 R (455)-28 R (327)-22 R (322)
20211,036-97 R (635)-25 R (399)-38 R (292)-23 R (301)
2022994-36 R (645)-66 R (470)-21 R (320)+0 R (316)
2023932-55 R (603)-5 R (381)-13 R (301)-5 R (296)
2024944-38 R (649)-1 R (472)-19 R (348)+17 R (323)
2025757+1 R (535)-22 R (411)-33 R (277)-3 R (302)
2026 (to 7 Oct)807+7 R (563)-31 R (392)-24 R (258)-5 R (279)

EG-1R lost money in every year from 2004 to 2024 and was roughly flat in 2025 and 2026.

08The gates

VariantTrades1. PF ≥ 1.2 in validation2. ≥ 50 trades in each period3. t ≥ 2.0 on development4. Above the 95th percentile of the moved-entry control5. Positive without the 10 best trades6. Holdout net positive (already used)
EG-1R12,186failpassfailpassfailfail
EG-2R8,825failpassfailpassfailfail
EG-2R-REV6,276failpassfailpassfailfail
EG-2R-2006,254failpassfailpassfailfail
VariantCauseGates failedVerdict
EG-1RCosts1, 3, 5, 6Buried
EG-2RCosts1, 3, 5, 6Buried
EG-2R-REVCosts1, 3, 5, 6Buried
EG-2R-200Costs1, 3, 5, 6Buried

The data-gap check removed 680, 726, 513 and 453 trades open across a suspect gap in the data; no verdict changed. Costs means positive before costs and negative after: the pattern found something, but not enough to pay for trading it with this stop.

TWhat this shows, and what to take into your own tests

What the results show

  • On 22 years of gold 1-hour bars the engulfing candle had a small edge before costs (+0.012 R to +0.056 R a trade) and picked better moments than the same trades on random days, but with the stop at the engulfing candle's extreme the round-trip cost was about 0.146 R a trade, so every version lost money.
  • The typical stop was only $2.98 away. Gold's 1-hour engulfing candles are small and common (13.8% of all bars), and $0.30 a round trip is a tenth of a $3 risk.
  • Filters changed little: trading only with the 200 EMA trend lost least (-0.088 R a trade), the reversal-context version lost as much as trading every pattern.

What remains unknown

  • A version with a minimum stop or a wider stop. On trades whose stop was over $4.30 the trend-filtered version was slightly positive, but that split was not in the rules, so it is a question for a new test, not a result.
  • Daily or 4-hour engulfing candles, where the same cost is a much smaller share of the risk, and other markets.
  • A broker with lower costs. At half the cost the versions would still have lost on average, but by less.

Why it was buried

The pattern was not useless: on average it was right a little more often than the same trade placed on another day. But a 1-hour engulfing candle on gold is usually a few dollars tall, so the stop at its low or high is close, and costs that look tiny in dollars are large in units of risk. On the third of trades with the smallest stops (under $2.09) the cost alone averaged 29% of the risk, and those trades lost 0.278 R each.

What you can apply to your own tests

  • Divide your cost by your stop distance before you trust any candlestick setup. On small timeframes this one number decides the result.
  • Compare with random entries that use the same stop and target. A pattern can beat chance and still lose money.
  • If you add a minimum stop size after seeing a result like this, treat it as a new rule to test on new data, not a fix.

A note on the numbers: drawdown figures are measured on closed trades unless a table says it includes open losses. Open losses inside a trade are not counted in a closed-trade drawdown, so real account risk is higher, especially for systems with no stop. Backtests are not live trading.

FAQCommon questions

What is a bullish engulfing pattern?

A down candle followed by an up candle whose body covers the down candle's body: it opens at or below the down candle's close and closes above its open. It is taught as a buy signal, especially after a decline. A bearish engulfing pattern is the mirror image.

Does the engulfing candle strategy work?

Not in our gold test: 12,186 trades with a 1R target lost 0.134 R each after costs, and the filtered 2R versions lost too. The pattern did slightly better than random timing; the problem was the cost relative to the stop.

What is the win rate of the engulfing pattern?

49.9% with a 1R target and 33.9% with a 2R target on gold 1-hour bars, close to what random entries with the same targets give before costs.

Where should the stop loss go on an engulfing candle?

The textbook stop is beyond the engulfing candle's low (bullish) or high (bearish). On gold's 1-hour chart that put the median stop only $2.98 away, so a $0.30 cost was a large share of the risk, and the trades with the smallest stops lost the most.

How was the strategy tested?

On XAUUSD 1-minute data from 2004 to 2026, built into 1-hour bars, $0.30 an ounce a round trip, with rules written and dated before the data was run, costs included on every trade, results split into development, validation and holdout periods, a random-entry control as the benchmark, and every variant reported. Read the protocol.

09Check our arithmetic

Frozen specificationThe pattern definitions, the four versions, costs, periods, gates and control, dated before any pattern was computed.
eg_spec.md
CodeThe engine (its readings of the rules at the top), the independent re-implementation, the self-test and the run (node eg_run.js). Needs your own gold 1-minute history.
eg_lib.js · eg_ref.js · eg_selftest.js · eg_run.js
Shared code it usesThe gold loader, bar builder, statistics and control helpers.
control_audit_lib.js · em_lib.js · fx_data.js · gh_lib.js · gx_lib.js · hourly_lib.js · ma_lib.js · rb_lib.js · rs_lib.js · rsi2_protocol.js
ResultsSelf-test result, the console output of the run and all numbers.
eg_selftest_result.txt · eg_results.txt · eg_summary.json
Trade logs (CSV)Every trade: the engulfing candle, entry and exit (New York time), direction, entry, stop, exit, R in dollars, exit reason, gross and net R, net dollars per ounce.
EG-1R · EG-2R · EG-2R-REV · EG-2R-200

Code provenance: our own code, written from the specification.

10Data notes

Source. IC Markets MetaTrader 4 XAUUSD 1-minute bid history (a demo server), the file of our other gold tests; in many weeks of 2004 to 2010 its time labels are an hour early, which moves whole 1-hour bars in time without changing them, and nothing in these rules depends on the time of day. Trades open across a suspect gap in the data are listed in the gap check above. Fills: the open of the first minute after the engulfing candle; stops and targets at their level, or the minute's open if it gapped through.

11Corrections

22 Oct 2026, navigation: added links to the gold strategies guide, which now includes this test. No result changed. 22 Oct 2026, navigation: added a link to the new guide comparing trading costs across all our tests. No result changed. 22 Oct 2026, navigation: added a link to the new guide comparing trend following and mean reversion across all our tests. No result changed.

+More tests and guides