Markets › Metals · XAUUSD spot (broker data), 60-minute

TheStrat Strategy on Gold: 2-1-2, 3-1-2 and 2-2 Reversals on 22 Years of XAUUSD

We took the TheStrat rules we had frozen and tested on ES futures, changed nothing but the market, and ran them on gold 60-minute bars from 2004 to 2026, with costs and against random days. The question: does what we saw on ES hold on another market?

XAUUSD · 60-minute bars from 1-minute data · 2-1-2, 3-1-2 and 2-2 reversal with full timeframe continuity (FTFC), the method's first target, the New York window of the ES test; four versions · Protocol v1.0 plus the 8 Oct 2026 rules

Buried · Costs

New market, same rules, same result.

BornFrozen 28 Oct 2026 (strat_gold_spec.md), before any bar was numbered on gold
Died28 Oct 2026

Variants tried: 4 · Passed every gate: 0 · Best: 2 of 6 · Holdout opened: yes (already used)

Short answer: not in our test. With the rules of our ES futures test unchanged, TheStrat's 2-1-2 with full timeframe continuity made -$0.21 an ounce a trade after costs on gold 60-minute bars from 2004 to 2026, and the 2-2 reversal, the one version that made money on ES, made -$0.27. No version showed a proven edge.Compare all 17 gold strategies we tested →

00The verdict in three lines

  • Does TheStrat work on gold? Not in our test: the 2-1-2 with full timeframe continuity made -$0.21 an ounce a trade after costs (1,060 trades, 2004 to 2026), the 3-1-2 -$0.47, the 2-2 reversal -$0.27 and the 2-1-2 without the filter -$0.16 (3,206 trades).
  • About zero before costs (except the 3-1-2, which lost $0.17 an ounce before costs). The close first target (a median of 0.31 R for the 2-1-2) gave many small wins, 57% to 64% of trades, and $0.30 an ounce of costs did the rest.
  • The ES result did not replicate: the 2-2 reversal, positive on ES futures, lost on gold. All four buried.

01What we tested

The rules are exactly those of our TheStrat backtest on ES futures, frozen before that test ran: every 60-minute bar numbered 1 (inside), 2U or 2D (directional) or 3 (outside); the 2-1-2, the 3-1-2 and the 2-2 reversal; full timeframe continuity (the fill above the open of the current month, week, day and 60-minute bar for a long, below for a short); a stop order one tick (here one cent) beyond the trigger bar during the next bar only; the stop one tick beyond its other side; the first target at the extreme of the bar before it; and the 2-1-2 without FTFC as a fourth version. We also kept the ES test's New York window, fills from 09:31 to 15:00 and everything closed at 16:00, on purpose: adding the London morning, when gold moves most, would have been a new rule chosen after seeing a result. The entry, stop and target come from published descriptions of the method (LuxAlgo, the TradingView script “TheStrat Suite”), not from Rob Smith's own material.

We chose to run this replication after seeing the ES result, and we have tested 15 other strategies on this gold file (our gold strategies compared); that is why the first-period bar is t ≥ 2.5.

02How we tested it

Spot gold (XAUUSD), the 1-minute bid history of an IC Markets MetaTrader 4 demo server, June 2004 to 7 October 2026, on the New York clock (corrected for the weeks in which the server's clock was an hour off; the run on the uncorrected clock gave the same verdicts), 4,840 usable days. Costs: $0.30 an ounce a round trip, as in every gold test on the site, with 1.5 and 2.5 times that shown too. Periods: development 2004 to 2012, validation 2013 to 2019, holdout 2020 to 2026, already used by many gold tests. Control: every trade moved to another day at the same minute, with the same stop and target distances, 500 times. Engine check: 36 checks, among them the hand-made days of the ES test rewritten in gold prices, a day with too few minutes, and an independent re-implementation that matched every trade of all four versions on both clocks; all 16 deliberate bugs put into the engine were caught (strat_gold_selftest_result.txt).

03Results: does TheStrat work on gold?

VersionSetupTradesWin rateGross per tradeNet per tradeNet totalProfit factorVerdict
STRAT-2122-1-2, with FTFC1,06057.5%+$0.09-$0.21-$2190.82Buried
STRAT-3123-1-2, with FTFC19764.5%-$0.17-$0.47-$930.69Buried
STRAT-222-2 reversal, with FTFC1,35857.2%+$0.03-$0.27-$3720.82Buried
STRAT-212-NOFTFC2-1-2 without the FTFC filter3,20658.1%+$0.14-$0.16-$5200.86Buried
-$600-$400-$200$020052008201120142017202020232026validationholdout*STRAT-212STRAT-22STRAT-212-NOFTFCSTRAT-312

Cumulative net dollars per ounce by month (one ounce per trade; a standard lot is 100 ounces). * Holdout already used before this test.

How the trades ended

VersionTarget hitStop16:00 closeMedian risk an ounceMedian targetWin rate needed (before costs)Median time in trade
STRAT-21266.0%20.4%13.6%$3.550.31 R76%22 min
STRAT-31262.9%20.3%16.8%$4.380.34 R75%32 min
STRAT-2254.3%19.7%26.0%$4.560.43 R70%51 min
STRAT-212-NOFTFC64.3%19.8%15.9%$3.600.37 R73%26 min

The same mechanics as on ES: in 85% or more of the trades the first target was less than 1R away, so a version needed to win 70% to 76% of its trades to break even before costs, and won 57% to 64%. On gold more trades reached the 16:00 close without touching either level.

04Gold against ES, version by version

VersionES gross per tradeGold gross per tradeES net per tradeGold net per tradeWin rate ES / goldControl percentile ES / goldGates ES / gold
STRAT-212+0.026 R-0.005 R-0.032 R-0.103 R71.4% / 57.5%50.6 / 92.01 / 1
STRAT-312-0.070 R+0.015 R-0.120 R-0.068 R62.7% / 64.5%22.8 / 26.20 / 2
STRAT-22+0.031 R-0.032 R-0.014 R-0.110 R68.5% / 57.2%99.4 / 68.22 / 1
STRAT-212-NOFTFC+0.001 R+0.018 R-0.058 R-0.077 R67.4% / 58.1%64.4 / 100.03 / 2

In R, so the two markets compare directly. The 2-1-2 versions and the 2-2 reversal won less often on gold than on ES; the 3-1-2, with few trades on both markets, a little more often. The 2-2 reversal, which on ES made money after costs and beat 99.4% of the random sets, was about zero on gold before costs (+$0.03 an ounce a trade) and lost after them, in 2004 to 2012 (t -3.14) and in 2013 to 2019 (t -2.86), and sat at the 68.2th percentile of its random sets. On ES we called it a hypothesis for a separate test; gold answers it for this market.

05Did full timeframe continuity help?

VersionBreakTradesNet per tradeNet total
STRAT-212continuation656-$0.22-$142
STRAT-212reversal404-$0.19-$77
STRAT-212-NOFTFCcontinuation1,448-$0.22-$314
STRAT-212-NOFTFCreversal1,758-$0.12-$206

No, as on ES. The filter kept 1,060 of the 3,206 2-1-2 trades and lost more per trade (-$0.21 against -$0.16). Over the New York window FTFC was aligned only 29.4% of the time. The unfiltered 2-1-2 did better than every one of its random sets (the 100.0th percentile), whose median lost $0.31 an ounce a trade, yet it still lost $0.16 after costs and was clearly negative in 2004 to 2012 (t -2.47).

06TheStrat or a random day?

VersionTradesReal net per tradeMoved trades, medianMoved, 5th to 95thPercentile (95 needed)
STRAT-2121,060-$0.21-$0.31-$0.43 to -$0.1992.0
STRAT-312197-$0.47-$0.33-$0.67 to -$0.0126.2
STRAT-221,358-$0.27-$0.31-$0.45 to -$0.1868.2
STRAT-212-NOFTFC3,206-$0.16-$0.31-$0.39 to -$0.24100.0

The same trades on random days lost about $0.31 an ounce a trade: with a target this close, the trade shape loses its cost on an ordinary day. Picking the days by the combo improved that for the 2-1-2 versions, but not by enough to pay the cost.

07By period and by year

Version2004 to 2012 (trades)2013 to 2019 (trades)Holdout* 2020 to Oct 2026 (trades)t, first periodPF, second period
STRAT-212-$0.15 (319)-$0.32 (412)-$0.11 (329)-1.140.61
STRAT-312-$0.44 (52)+$0.30 (77)-$1.37 (68)-0.981.42
STRAT-22-$0.49 (438)-$0.30 (457)-$0.04 (463)-3.140.68
STRAT-212-NOFTFC-$0.22 (994)-$0.23 (1,185)-$0.03 (1,027)-2.470.72
YearSTRAT-212 net per ounce (trades)STRAT-312 net per ounce (trades)STRAT-22 net per ounce (trades)STRAT-212-NOFTFC net per ounce (trades)
2004-----$2 (1)--
2006+$2 (4)--+$5 (5)-$16 (13)
2007-$19 (28)-$2 (2)-$20 (37)-$53 (103)
2008-$11 (62)+$17 (8)-$14 (82)-$56 (169)
2009-$25 (67)-$6 (9)-$23 (82)-$32 (196)
2010-$32 (56)-$3 (10)-$12 (80)-$64 (173)
2011+$44 (57)-$8 (9)-$57 (77)+$28 (171)
2012-$6 (45)-$17 (12)-$92 (74)-$21 (168)
2013+$4 (70)+$24 (11)+$53 (55)-$15 (188)
2014-$44 (73)+$11 (14)-$24 (69)-$64 (194)
2015-$19 (55)-$18 (16)-$16 (53)-$13 (167)
2016-$5 (51)+$1 (7)-$19 (65)-$37 (165)
2017-$39 (55)-$7 (11)-$41 (70)-$70 (159)
2018-$17 (47)+$9 (6)-$63 (66)-$36 (156)
2019-$14 (61)+$3 (12)-$29 (79)-$34 (156)
2020-$19 (49)-$19 (8)-$83 (72)-$2 (156)
2021-$10 (48)-$16 (11)-$26 (44)-$62 (145)
2022-$9 (49)-$28 (12)-$44 (75)+$14 (154)
2023-$6 (52)-$9 (10)-$25 (54)-$77 (152)
2024-$4 (47)+$2 (12)+$15 (66)+$1 (138)
2025+$2 (38)+$1 (11)+$19 (78)+$37 (148)
2026 (to 7 Oct)+$8 (46)-$25 (4)+$124 (74)+$54 (134)

* The holdout was already used by many gold tests. Net per trade by period, one ounce.

In 2020 to 2026 the 2-1-2 versions and the 2-2 reversal were close to break-even after costs (-$0.11, -$0.03 and -$0.04 a trade), still negative; the 3-1-2 lost $1.37 a trade.

08Costs

VersionBefore costs$0.30 (base)x1.5x2.5Cost in R
STRAT-212+$0.09-$0.21-$0.36-$0.660.097 R
STRAT-312-$0.17-$0.47-$0.62-$0.920.083 R
STRAT-22+$0.03-$0.27-$0.42-$0.720.078 R
STRAT-212-NOFTFC+$0.14-$0.16-$0.31-$0.610.095 R

The median stop was $3.55 to $4.56 an ounce, so $0.30 was about a tenth of the risk on every trade; before costs no version made more than $0.14 an ounce a trade.

09The gates

VersionTrades1. PF ≥ 1.2 in validation2. ≥ 50 trades in each period3. t ≥ 2.5 on development4. Above the 95th percentile of the moved-trade control5. Positive without the 10 best trades6. Holdout net positive (already used)
STRAT-2121,060failpassfailfailfailfail
STRAT-312197passpassfailfailfailfail
STRAT-221,358failpassfailfailfailfail
STRAT-212-NOFTFC3,206failpassfailpassfailfail
VersionCauseGates failedVerdict
STRAT-212Costs1, 3, 4, 5, 6Buried
STRAT-312No proven edge3, 4, 5, 6Buried
STRAT-22Costs1, 3, 4, 5, 6Buried
STRAT-212-NOFTFCCosts1, 3, 5, 6Buried

The data-gap check removed 27, 5, 43, 87 trades open across a known gap in the data; no verdict changed. Costs for three versions in the protocol's sense (a few cents positive before costs, negative after) and no proven edge for the 3-1-2 (negative before costs).

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

What the results show

  • TheStrat's 2-1-2, 3-1-2 and 2-2 reversal, with the rules frozen for our ES test, all lost on 22 years of gold 60-minute bars: from -$0.16 to -$0.47 an ounce a trade after costs.
  • Before costs the 2-1-2 versions and the 2-2 reversal were within a few cents of zero (the 3-1-2 lost $0.17); the first target, a median of 0.31 to 0.43 R away, left a cost of $0.30 an ounce about a tenth of the risk to pay.
  • The 2-2 reversal, the only version that made money on ES, lost on gold in the first two periods (t -3.14 and -2.86): the ES result did not replicate.

What remains unknown

  • The rest of the method: other combos, other timeframes, later targets, and an entry window built for gold (the London morning), which we deliberately did not add after seeing the ES result.
  • Rob Smith's own exit rules; we used the levels published by secondary sources.
  • Gold futures with exchange data instead of a broker's spot history.

Why it was buried

On gold, as on ES, the first target sits close to the entry and the stop on the other side of the trigger bar, so wins are small and frequent and the losers cost more. Before costs that came to about nothing; $0.30 an ounce then made every version lose. None passed the first-period test, none stayed positive without its ten best trades, and the 2-2 reversal that looked promising on ES lost here.

What you can apply to your own tests

  • Rerun a promising result on a second market with the rules unchanged before you trade it: here the best ES version lost on gold.
  • Compare your win rate with the one your target and stop require: a 0.3R target needs about 77% winners before costs; these setups won 57 to 65%.
  • A filter that beats random entries can still lose money: the unfiltered 2-1-2 beat every random set and still lost after costs.

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

Does TheStrat work on gold?

Not in our backtest of XAUUSD from 2004 to 2026: 1,060 trades of the 2-1-2 with full timeframe continuity at -$0.21 an ounce each after $0.30 of costs, and 3,206 trades without the filter at -$0.16. Before costs the versions were close to zero.

Did the ES result replicate on gold?

No. The 2-2 reversal, which made money after costs on ES futures and beat random days there, lost on gold, clearly so in 2004 to 2012 (t -3.14).

What is the win rate of TheStrat on gold?

57% to 64% of trades won, because the first target was close (a median of 0.31 R for the 2-1-2). That is below the win rate such a target needs to break even before costs.

How was TheStrat tested on gold?

On XAUUSD 1-minute data built into 60-minute bars, with the rules frozen for our ES test, the same New York entry window, $0.30 an ounce of costs, and 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.

10Check our arithmetic

Frozen specificationThe ES rules replicated, what changed with the market and why the New York window was kept, dated before any bar was numbered on gold.
strat_gold_spec.md
CodeThe engine (its readings of the rules at the top), the independent re-implementation, the self-test and the run (node strat_gold_run.js). Needs the MT4 gold history.
strat_gold_lib.js · strat_gold_ref.js · strat_gold_selftest.js · strat_gold_run.js
Shared code and data checksThe MT4 loader and gold clock, statistics and control helpers, the gold gap list and the data manifest.
control_audit_lib.js · fx_data.js · gh_lib.js · gx_lib.js · hourly_lib.js · ma_lib.js · rsi2_protocol.js · data_holes_xau.json · data_manifest.md
ResultsSelf-test result, the console output of the run (with the bar numbers, the FTFC shares, the refused orders, the hours, the uncorrected clock and the comparison with ES) and all numbers.
strat_gold_selftest_result.txt · strat_gold_results.txt · strat_gold_summary.json
Trade logs (CSV)Every trade: date, trigger bar, entry and exit (New York time), direction, continuation or reversal, entry, stop, target, exit, risk in dollars an ounce, target in R, exit reason, net dollars an ounce and net R.
STRAT-212 · STRAT-312 · STRAT-22 · STRAT-212-NOFTFC

Code provenance: our own code, the ES engine with only the market changed. We have no connection with Rob Smith, TrendSpider, LuxAlgo or TradingView.

11Data notes

Source. A broker's demo history of spot gold (bid prices) on the New York clock; gaps in the data are listed in data_holes_xau.json and never filled. Spot gold has no exchange session, so a usable day is one with at least 300 minutes from 09:31 to 16:00. Fills: stop orders at their level, or at a minute's open if it opened beyond it; a flat $0.30 an ounce a round trip, which understates the wider spreads around news. No position was held over the 17:00 rollover, so no swap applies.

12Corrections

28 Oct 2026, navigation: added links to the gold strategies guide, which now includes this test. No result changed.

+More tests and guides