Markets › Futures & Metals · ES futures + XAUUSD spot (daily bars)
Golden Cross Backtest: Daily Bars on S&P 500 Futures & Gold
Buy when the 50-day moving average crosses above the 200-day, sell when it crosses back. Tested on ES futures and spot gold.
Inconclusive · Too few trades3 trades on ES, 15 on gold. Too few to bury it, too few to believe it.
Variants tried: 8 · Passed every gate: 0 · Holdout opened: yes (used before this test)
Short answer: we cannot tell yet. We backtested the 50/200 golden cross on ES futures and spot gold in 8 variants, net of costs: 7 are Inconclusive because they have fewer than 30 trades, 1 was Buried, and none passed every gate. The long-only rule made +$71,402 per contract on ES (3 trades) and +$3,015 per ounce on gold (15 trades), against +$175,925 and +$3,685 for buying and holding.How much costs took here, compared across all 54 of our tests →Did the same rules work on other markets? The cross-market scoreboard →Compare all 14 gold strategies we tested →
00The verdict in three lines
- The golden cross is the 50-day moving average crossing above the 200-day. The ThinkMarkets guide to the pattern treats it as the entry and the death cross (the 50-day crossing back below the 200-day) as the exit. We tested that rule, with simple and exponential averages, long only and long and short: 4 variants on each of two markets, 8 in all, with the rules, gates, costs and a matched shifted-state control fixed in a dated specification before any average was computed.
- The test cannot decide: 7 of the 8 results are Inconclusive, with fewer than 30 trades each. ES gave 2 to 6 trades per variant in 6.0 years of signals (after the 200-day warm-up), gold 11 to 31 in 21.5 years. The protocol asks for 50 trades in each period; at the rates seen here one market needs 35 to 149 years of daily data to reach 50 trades in total. The one result with enough trades to be judged, gold long and short with simple averages (31 trades), was Buried: it failed gates 2, 3, 4 and 5.
- What the numbers do show: on gold the long-only rule made +$3,015 per ounce over 15 trades, against +$3,685 for buying and holding, and its timing beat 97.4% of the shifted-state control runs with the same pattern of episodes. But 7 of 15 trades won, a few big trend trades carry the total, and the death cross as a short signal lost money in every long-and-short result. We cannot tell luck from edge on 15 trades, and ES's 3 trades say even less.
01What we tested
A golden cross is a bullish signal: the 50-day moving average moves above the 200-day. The ThinkMarkets guide to the pattern (published February 2026) calls the golden cross the entry and the death cross the exit, notes that some traders prefer exponential averages, and says the death cross can also mark short setups. We tested exactly those rules:
| Variant | Rule |
|---|---|
| GC-L-SMA | Long on the golden cross (50-day simple average crosses above the 200-day), flat on the death cross. The guide's rule. |
| GC-LS-SMA | Long on the golden cross, short on the death cross, always in the market after the first cross. |
| GC-L-EMA | As GC-L-SMA with exponential averages. |
| GC-LS-EMA | As GC-LS-SMA with exponential averages. |
Signals are read on the daily close and filled at the open of the next session. There are no stops and no targets, because the rule has none. Each variant was run on ES futures and on spot gold, so every number below comes from a rule fixed before the run.
What we did not test, and why: the guide also describes confirmations (volume, RSI above 50, MACD alignment, Stochastic turns) and breakout, pullback and mean-reversion entries. They are discretionary (a “decisive” breakout, a “measured” pullback, “at least two” confirmations) and give no numbers to test, and each one would add variants to a sample that is already small. This is a test of the bare cross, not of everything a trader might add to it.
The guide's numbers. It cites a Fidelity study (an average gain of 14% after the 50-day crosses above the 200-day on the S&P 500), a Quantified Strategies backtest (79% winning trades) and a 73% success rate for golden cross in and death cross out on equity indices. We have not checked the studies behind them. A later section lines them up with ours.
02Data and costs
ES: E-mini S&P 500 futures, back-adjusted continuous 1-minute history, 2 Jan 2020 to 25 Sep 2026 (1,742 trading days). Gold: spot XAUUSD, 1-minute bid history from an IC Markets MT4 demo server, 11 Jun 2004 to 7 Oct 2026 (5,702 trading days). Daily bars are built from the 1-minute bars: a trading day runs from 17:00 New York to 17:00 New York and its close is the last 1-minute close of that day. The 200-day average needs 200 days, so the first signal is possible on 8 Oct 2020 for ES and 29 Mar 2005 for gold.
Two consequences of the data. First, a position needs an observed cross: if the averages already stood in the golden state when they first existed, no trade opens until the next cross. On ES that leaves out the first 17 months: the market rose 810.75 points (+$40,538 per contract) from the first possible fill on 9 Oct 2020 to the first death cross fill on 14 Mar 2022, because the golden cross that began that run happened before our data starts. Second, the gold history has holes: 34 weekdays with almost no data (2 January 2006, 4 July 2006, 20 December 2010 to 13 January 2011 and 6 to 22 March 2012) that the rule does not count as days. No trade was entered or exited on a hole day.
ES is back-adjusted, so its averages are averages of an adjusted series and the dates of its crosses can differ by days from those on the S&P 500 index or an unadjusted chart. Gold is a broker's spot price, not a futures contract.
| Market | Development | Validation | Holdout (already used) |
|---|---|---|---|
| ES | 2020-01-01 to 2023-12-31 | 2024-01-01 to 2025-03-31 | 2025-04-01 to the end of the data |
| Gold | 2004-01-01 to 2012-12-31 | 2013-01-01 to 2019-12-31 | 2020-01-01 to the end of the data |
Trades belong to the period of their entry date. The holdout is not clean on either market: the same data appeared in earlier tests.
| Market | Cost per trade | Also charged |
|---|---|---|
| ES | $30.76: $5.76 commission plus one tick of slippage on each fill | The same $30.76 for each quarterly roll a position is held through (second Thursday of March, June, September, December). A contract is worth about $200,000 to $390,000 over this period, so costs are tiny next to a trade. |
| Gold | $0.30 per ounce per round trip | Overnight financing is not in the baseline: the broker's swap rates are not known and changed with interest rates. The sensitivity below charges 3% a year of the position value for every day held, an assumption, not a measured rate. |
| Gold variant | Net, baseline | Net with 3% a year financing | PF, baseline | PF with financing |
|---|---|---|---|---|
| GC-L-SMA | +247.3% | +203.0% | 7.14 | 4.93 |
| GC-LS-SMA | +192.7% | +128.6% | 2.72 | 1.93 |
| GC-L-EMA | +182.7% | +146.2% | 6.80 | 4.36 |
| GC-LS-EMA | +136.3% | +82.0% | 2.30 | 1.66 |
Financing takes a large share of the result, most of all for the long-and-short versions that are always in the market, but no sign changes. The verdicts use the baseline.
Engine check: before the run, ma_selftest.js checked hand-worked examples (cross days, fills, costs, rolls, first-state rule, exponential averages) and compared the engine trade by trade with an independent re-implementation on the real data, for all four variants on both markets. It printed pass or fail only, no result. Every check passed (ma_selftest_result.txt).
03Results: every variant on both markets
ES results are in dollars per contract after costs, gold results in the sum of the trades' percentage returns after costs, with dollars per ounce next to them. The 95% range is the Wilson interval for the win rate. A “no losing trade” profit factor means every trade won.
ES futures
| Variant | Trades | Net after costs | Winners (95% range) | Profit factor | Holdout* net | Verdict |
|---|---|---|---|---|---|---|
| ES GC-L-SMA | 3 | +$71,402 | 3 of 3 (44% to 100%) | no losing trade | +$52,147 | Inconclusive |
| ES GC-LS-SMA | 6 | +$7,724 | 4 of 6 (30% to 90%) | 1.11 | -$18,170 | Inconclusive |
| ES GC-L-EMA | 2 | +$111,245 | 2 of 2 (34% to 100%) | no losing trade | +$72,110 | Inconclusive |
| ES GC-LS-EMA | 4 | +$85,636 | 3 of 4 (30% to 95%) | 3.90 | +$42,616 | Inconclusive |
ES, weekly sample of the daily closes, back-adjusted. Triangles mark the crosses of the simple averages: green up for a golden cross, red down for a death cross. The first 8 months have no averages (200 days needed).
Spot gold
| Variant | Trades | Net after costs | $ per ounce | Winners (95% range) | Profit factor | Holdout* net | Verdict |
|---|---|---|---|---|---|---|---|
| Gold GC-L-SMA | 15 | +247.3% | +$3,015 | 7 of 15 (25% to 70%) | 7.14 | +89.1% | Inconclusive |
| Gold GC-LS-SMA | 31 | +192.7% | +$2,336 | 10 of 31 (19% to 50%) | 2.72 | +65.0% | Buried |
| Gold GC-L-EMA | 11 | +182.7% | +$2,387 | 3 of 11 (10% to 57%) | 6.80 | +82.9% | Inconclusive |
| Gold GC-LS-EMA | 23 | +136.3% | +$1,464 | 5 of 23 (10% to 42%) | 2.30 | +40.4% | Inconclusive |
Gold, weekly sample of the daily closes. Same markers as above. * Holdout already used before this test. PF = profit factor. Profit factors and t-statistics on so few trades are shown for completeness and are not reliable.
04Every trade
With so few trades, the trade list is the result. ES, simple averages, long and short (the three long trades are the guide's long-only rule; the three shorts are what the death cross added). Net is in dollars per contract after costs.
| Entry | Exit | Side | Days held | Entry price | Exit price | Net after costs | Worst open loss inside the trade |
|---|---|---|---|---|---|---|---|
| 2022-03-14 | 2023-02-07 | short | 330 | 5098 | 4962.75 | +$6,639 | -$21,213 |
| 2023-02-07 | 2025-04-07 | long | 790 | 4962.75 | 5354 | +$19,255 | -$15,938 |
| 2025-04-07 | 2025-07-08 | short | 92 | 5354 | 6557.75 | -$60,249 | -$63,725 |
| 2025-07-08 | 2026-04-15 | long | 281 | 6557.75 | 7133 | +$28,639 | -$3,775 |
| 2026-04-15 | 2026-04-28 | short | 13 | 7133 | 7333.75 | -$10,068 | -$10,363 |
| 2026-04-28 | 2026-09-25 (open) | long | 150 | 7333.75 | 7805.75 | +$23,508 | -$3,675 |
Gold, simple averages, long only (the guide's rule), 15 trades. Net is the percentage return on the entry price after costs; the worst open loss is the largest loss inside the trade, before it was closed.
| Entry | Exit | Side | Days held | Entry price | Exit price | Net after costs | Worst open loss inside the trade |
|---|---|---|---|---|---|---|---|
| 2005-08-16 | 2006-10-23 | long | 433 | 441.8 | 590.5 | +33.6% | -2.9% |
| 2006-12-19 | 2008-09-02 | long | 623 | 616.2 | 816.1 | +32.4% | -2.4% |
| 2009-02-12 | 2012-02-20 | long | 1103 | 937.6 | 1727.67 | +84.2% | -7.8% |
| 2012-02-24 | 2012-05-03 | long | 69 | 1778.21 | 1652.86 | -7.1% | -9.3% |
| 2012-09-21 | 2013-02-22 | long | 154 | 1768.62 | 1577.73 | -10.8% | -12.1% |
| 2014-03-24 | 2014-05-30 | long | 67 | 1330.15 | 1255.73 | -5.6% | -5.9% |
| 2014-07-02 | 2014-09-19 | long | 79 | 1326.08 | 1225.5 | -7.6% | -8.3% |
| 2016-02-29 | 2016-11-22 | long | 267 | 1218.98 | 1213.33 | -0.5% | -1.6% |
| 2017-05-18 | 2018-06-25 | long | 403 | 1259.85 | 1271.37 | +0.9% | -4.4% |
| 2019-01-18 | 2021-02-17 | long | 761 | 1292.24 | 1792.65 | +38.7% | -2.0% |
| 2021-06-29 | 2021-08-10 | long | 42 | 1778.6 | 1728.91 | -2.8% | -5.4% |
| 2021-12-06 | 2022-01-28 | long | 53 | 1782 | 1797.3 | +0.8% | -1.7% |
| 2022-02-14 | 2022-07-06 | long | 142 | 1855.86 | 1766.12 | -4.9% | -5.0% |
| 2023-01-13 | 2023-09-28 | long | 258 | 1895.74 | 1876.14 | -1.1% | -4.8% |
| 2023-12-04 | 2026-06-29 | long | 938 | 2072.6 | 4082.28 | +97.0% | -4.8% |
Three trades (2009 to 2012, 2019 to 2021, 2023 to 2026) produced 89% of the net result; 8 of the 15 lost money, each by less than 11%. That is the usual shape of a trend-following rule: many small losses, a few large winners. The full trade logs for all eight variants are linked at the end of this page.
05Is it the cross or the market?
The benchmark is a circularly shifted state-series control, not a random-entry test. The real series of up and down episodes of the two averages (the state) is shifted by a random offset of at least 5% of its length, so the same episodes fall on other dates; the real prices, the same entry and exit rules and the same costs are applied, and this is done 500 times with fixed seeds. The question: does the real timing of the crosses earn more per trade than the same pattern of episodes placed at other dates? The bar is the 95th percentile.
| Variant | Trades | Real average per trade | Control median | Control 5th to 95th | Percentile (95 needed) |
|---|---|---|---|---|---|
| ES GC-L-SMA | 3 | +$23,801 | +$35,525 | +$25,795 to +$48,223 | 3.6 |
| ES GC-LS-SMA | 6 | +$1,287 | +$12,369 | +$1,238 to +$24,534 | 5.2 |
| ES GC-L-EMA | 2 | +$55,623 | +$54,602 | +$38,032 to +$74,023 | 53.0 |
| ES GC-LS-EMA | 4 | +$21,409 | +$19,020 | +$4,013 to +$42,648 | 57.6 |
| Gold GC-L-SMA | 15 | +16.5% | +10.6% | +6.4% to +15.7% | 97.4 |
| Gold GC-LS-SMA | 31 | +6.2% | +2.7% | -2.0% to +6.4% | 93.2 |
| Gold GC-L-EMA | 11 | +16.6% | +14.7% | +9.0% to +21.8% | 63.8 |
| Gold GC-LS-EMA | 23 | +5.9% | +4.2% | -2.6% to +9.4% | 71.0 |
On gold, the long-only simple-average version reached the 97.4th percentile: its crosses were better timed than 97.4% of the shifted-state control runs. The other three gold results were below the bar (percentiles 63.8 to 93.2). The ES percentiles (3.6 to 57.6) are not informative with 2 to 6 trades. As an illustration only: if eight independent tests each had a 5% chance of clearing the 95th percentile by luck alone, the chance that at least one would is about 34% (1 minus 0.95 to the eighth power). The eight results here are not independent, so the real figure is different; one result over the bar is a lead for a larger test, not a finding.
06Against buying and holding
The same one contract or one ounce, bought at the first possible fill and held to the end of the data with no costs: ES from 4287.25 to 7805.75 (9 Oct 2020 to 25 Sep 2026), gold from 425.2 to 4109.82 (30 Mar 2005 to 7 Oct 2026). The drawdown columns use the daily marked-to-market equity, so they include open losses.
| Variant | Net after costs per contract / ounce | Buy and hold | Worst drawdown incl. open losses | Buy and hold, worst drawdown incl. open losses |
|---|---|---|---|---|
| ES GC-L-SMA | +$71,402 | +$175,925 | $63,195 | $60,350 |
| ES GC-LS-SMA | +$7,724 | +$175,925 | $124,158 | $60,350 |
| ES GC-L-EMA | +$111,245 | +$175,925 | $44,377 | $60,350 |
| ES GC-LS-EMA | +$85,636 | +$175,925 | $73,870 | $60,350 |
| Gold GC-L-SMA | +$3,015 (+496% compounded) | +$3,685 (+867%) | $1,428 | $1,436 |
| Gold GC-LS-SMA | +$2,336 (+231% compounded) | +$3,685 (+867%) | $1,911 | $1,436 |
| Gold GC-L-EMA | +$2,387 (+246% compounded) | +$3,685 (+867%) | $1,824 | $1,436 |
| Gold GC-LS-EMA | +$1,464 (+104% compounded) | +$3,685 (+867%) | $2,347 | $1,436 |
None of the eight beat buying and holding on the dollars. Two of the eight finished with a smaller worst drawdown including open losses: ES long-only with exponential averages ($44,377 against $60,350, on 2 trades) and gold long-only with simple averages ($1,428 against $1,436 per ounce, a difference of $8). The guide's own rule on ES (long-only, simple averages) had a larger one, $63,195. Both averages lag, so the exit arrives after much of a fall. On ES the long-only versions also sat out the first 17 months described above. In these two samples the cross rode the uptrends with a delay and did not make the ride noticeably safer.
07The death cross as a short signal
The guide mentions the death cross for exits, hedges or short setups. Every long-and-short variant lost money on its short side, on both markets:
| Variant | Short trades | Short side, net after costs | Short trades that won | Long side, net after costs |
|---|---|---|---|---|
| ES GC-LS-SMA | 3 | -$63,678 | 33% | +$71,402 |
| ES GC-LS-EMA | 2 | -$25,610 | 50% | +$111,245 |
| Gold GC-LS-SMA | 16 | -54.6% | 19% | +247.3% |
| Gold GC-LS-EMA | 12 | -46.4% | 17% | +182.7% |
The ES short on 7 Apr 2025 lost $60,249 on one contract in 92 days: the death cross came near the low and the market recovered. A death cross can mark a bottom as easily as the start of a decline.
08Can we check the guide's numbers?
| Claim in the guide | Guide | Our data | Can we check it? |
|---|---|---|---|
| Average gain after the 50-day crosses above the 200-day (Fidelity, S&P 500) | 14% | Gold long-only: average trade +16.5%, average winner +41.1%. ES long-only: about +7.6% per trade (approximate, on adjusted prices). | No. A different market, history and measure; 15 and 3 trades. |
| Winning trades of the golden cross strategy (Quantified Strategies) | 79% | Gold long-only: 7 of 15 (25% to 70%). ES long-only: 3 of 3 (44% to 100%). | No. The gold range excludes 79%, the ES range includes it, and neither sample is large enough to settle a rate. |
| Golden cross in, death cross out, success on equity indices | 73% | Same trades as above. | No, for the same reasons. |
A high win rate and an edge are different things: a rule can win most of its trades and still lose money, or win under half of them (as gold's did) and make money from a few large winners. The percentages above are not comparable without the number of trades and the years behind them.
09How much data would settle it?
| Variant | Trades | Trades per year | Years of daily data for 50 trades at that rate |
|---|---|---|---|
| ES GC-L-SMA | 3 | 0.50 | 99 |
| ES GC-LS-SMA | 6 | 1.01 | 50 |
| ES GC-L-EMA | 2 | 0.34 | 149 |
| ES GC-LS-EMA | 4 | 0.67 | 75 |
| Gold GC-L-SMA | 15 | 0.70 | 72 |
| Gold GC-LS-SMA | 31 | 1.44 | 35 |
| Gold GC-L-EMA | 11 | 0.51 | 98 |
| Gold GC-LS-EMA | 23 | 1.07 | 47 |
The protocol asks for at least 50 trades in each of three periods. At these rates that is 105 to 447 years of data on one market. Seventy-five years of an index at the ES rate seen here would give about 38 long trades (simple arithmetic from our rate, not a test). More trades come from pooling several markets, with a result required to hold in each, or from a faster rule, which is a different rule.
10The gates
| Variant | Trades | 1. PF ≥ 1.2 in validation | 2. ≥ 50 trades in each period | 3. t ≥ 2.5 on development | 4. Above the 95th percentile of the shifted-state control | 5. Positive without the 10 best trades | 6. Holdout net positive (already used) |
|---|---|---|---|---|---|---|---|
| ES GC-L-SMA | 3 | fail | fail | fail | fail | fail | pass |
| ES GC-LS-SMA | 6 | fail | fail | fail | fail | fail | fail |
| ES GC-L-EMA | 2 | fail | fail | fail | fail | fail | pass |
| ES GC-LS-EMA | 4 | fail | fail | fail | fail | fail | pass |
| Gold GC-L-SMA | 15 | pass | fail | fail | pass | fail | pass |
| Gold GC-LS-SMA | 31 | pass | fail | fail | fail | fail | pass |
| Gold GC-L-EMA | 11 | pass | fail | fail | fail | fail | pass |
| Gold GC-LS-EMA | 23 | pass | fail | fail | fail | fail | pass |
Gate 2 cannot be passed by any variant here, whatever the results: that is the sample-size problem in one column. The rule fixed in advance is that a result with fewer than 30 trades is Inconclusive whatever its gates show, because a gate failed on a handful of trades is not evidence of anything. The gates are printed for completeness. With 30 trades or more the usual rule applies: Buried if any gate fails. Only gold with simple averages, long and short, got there.
11Verdict by variant
| Variant | Verdict | Reason |
|---|---|---|
| ES GC-L-SMA | Inconclusive | Only 3 trades; the rule needs 30 to read the gates. |
| ES GC-LS-SMA | Inconclusive | Only 6 trades; the rule needs 30 to read the gates. |
| ES GC-L-EMA | Inconclusive | Only 2 trades; the rule needs 30 to read the gates. |
| ES GC-LS-EMA | Inconclusive | Only 4 trades; the rule needs 30 to read the gates. |
| Gold GC-L-SMA | Inconclusive | Only 15 trades; the rule needs 30 to read the gates. |
| Gold GC-LS-SMA | Buried | 31 trades. Cause: no proven edge. Failed gates 2, 3, 4 and 5: the development t-statistic is 0.98 (2.5 needed), the control percentile 93.2 (95 needed) and, without its 10 best trades, the result is -111.9%. |
| Gold GC-L-EMA | Inconclusive | Only 11 trades; the rule needs 30 to read the gates. |
| Gold GC-LS-EMA | Inconclusive | Only 23 trades; the rule needs 30 to read the gates. |
What this test covers, exactly: the bare 50/200 golden cross and death cross on daily bars of ES futures (6.0 years, back-adjusted) and spot gold (21.5 years, broker data), simple and exponential averages, long only and long and short, with the costs above. “Inconclusive” means the data cannot say; it is neither “works” nor “does not work”.
What we did not test: longer index histories, other averages (20/100, 10/50 and so on, which we left alone on purpose), the guide's confirmations and pullback entries, stops and targets, other markets, and a pooled test across markets.
What would change our mind: a larger test, declared in advance, with at least 30 trades per variant and ideally 50 in each period, on data we have not looked at, or a result that holds in several markets at once.
TWhat this shows, and what to take into your own tests
What the results show
- The test cannot decide. 7 of the 8 results are Inconclusive because they have fewer than 30 trades: ES gave 2 to 6 trades per variant in 6.0 years of daily bars, gold 11 to 31 in 21.5 years.
- On gold the long-only golden cross made +$3,015 per ounce over 15 trades (buying and holding: +$3,685) and its timing beat 97.4% of the shifted-state control runs with the same episodes. But 7 of 15 trades won (95% range 25% to 70%), its development t-statistic is 1.54, and without its 10 best trades it is -36.0%.
- The death cross as a short signal lost money in all four long-and-short results: -$63,678 per contract on ES and -54.6% (summed trade returns) on gold with simple averages.
- For the guide's own rule (long only, simple averages) the worst drawdown in daily marked equity, including open losses, was larger than buy and hold on ES ($63,195 against $60,350) and about the same on gold ($1,428 against $1,436 per ounce). None of the eight beat buying and holding on the dollars.
What remains unknown
- Whether the golden cross works on a stock index over decades. Our ES history is 6.0 years; the 14%, 79% and 73% quoted in the ThinkMarkets article come from longer histories that we did not test.
- Results pooled across many markets, which would give enough trades. We ran ES and gold separately.
- The confirmations and pullback entries described in the article, which it leaves discretionary.
- Gold futures and real overnight financing on gold. Our financing figure is a 3% a year assumption shown as a sensitivity.
Why it is inconclusive, not buried
The rule is slow, so it rarely trades: roughly one trade every 2 years on ES and every 1.4 years on gold for the long-only version. With 3 and 15 trades the profit factors and t-statistics swing wildly (gold's long-only profit factor is 7.14 on 15 trades), a win rate has a 95% range of 25% to 70%, and three or four big trend trades decide the total. The data is not evidence against the idea and not evidence for it. What it does show is that the extras people attach to the cross, such as shorting the death cross, lost money here, and that the cross did not make buying and holding noticeably safer in these samples.
What you can apply to your own tests
- Count the trades before you read the profit. A 50/200 cross gave about one trade every 2 years on ES and every 1.4 years on gold.
- Put an interval on the win rate. 7 winners in 15 trades is 47%, but the 95% range runs from 25% to 70%.
- Compare with buy and hold in the same units, and with a control that keeps the same episodes as your signal but moves them in time.
- Test the exit and the short side separately from the entry.
- When someone quotes a win rate, ask how many trades, over how many years, in which market.
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 the golden cross strategy work?
Our test could not decide. Across ES futures and spot gold, 7 of 8 variants had too few trades to judge (3 on ES, 15 on gold for the long-only rule), and none passed every gate. On gold the long-only rule beat 97.4% of the shifted-state control runs with the same pattern of episodes, but its development t-statistic is 1.54 and a few big trades carry the result.
How often does a golden cross happen?
Rarely. In 6.0 years of ES daily bars the long-only rule traded 3 times; on gold it traded 15 times in 21.5 years. At those rates one market needs 35 to 149 years of daily data to reach 50 trades.
What is the win rate of the golden cross?
On gold, 7 of 15 long trades won (47%, 95% range 25% to 70%); on ES, 3 of 3 (95% range 44% to 100%). Both samples are too small to settle a rate, and a low win rate can still make money from a few large winners.
Does the death cross work as a short signal?
Not in our test. Shorting the death cross lost money in all four long-and-short results: -$63,678 per contract on ES and -54.6% (summed trade returns) on gold with simple averages.
How was the golden cross tested?
On ES futures and spot gold in daily bars, 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.
12Check our arithmetic
ma_cross_spec.md
ma_lib.js · ma_run.js · ma_selftest.js · fx_data.js · control_audit_lib.js · hourly_lib.js · rsi2_protocol.js
ma_selftest_result.txt · ma_results.txt · ma_summary.json
ES GC-L-SMA · ES GC-LS-SMA · ES GC-L-EMA · ES GC-LS-EMA · Gold GC-L-SMA · Gold GC-LS-SMA · Gold GC-L-EMA · Gold GC-LS-EMA
Code provenance: our own code, written from the standard definitions of the averages. No third-party source code is used or published. The guide's numbers are quoted as stated by ThinkMarkets and were not independently verified.
13Data notes
Added 8 Oct 2026, after a data audit; no result, gate or verdict on this page changed. The ES 1-minute file used here (NinjaTrader, back-adjusted; hashes in data_manifest.md) has holes: 10 windows of missing data inside sessions or whole sessions, listed in data_holes.json (for example 19 to 23 October 2020, 6 to 7 November 2022, 27 to 28 November 2025). They are shared with the NQ and gold files from the same source, and we did not fill them. We removed every trade that was open across one of them and recomputed the gates and verdicts (the benchmark percentile is taken from the original run) (the daily test compares dates, so it counts any trade whose dates span a hole date: stricter still): 8 trade-hole overlaps summed over the 4 ES variants, no verdict changed. Some individual gates changed in 3 of the 4 variants (GC-L-SMA: gate 6 PASS->FAIL; GC-L-EMA: gate 6 PASS->FAIL; GC-LS-EMA: gate 6 PASS->FAIL), none of which decides a verdict. The full table is in hole_sensitivity.txt.
The prices are also back-adjusted: each contract roll shifts older prices by a fixed amount so that the series has no jump at the roll. Results in R and in dollars are right; older prices are not the prices that traded. The gold series is broker history, whose whole-day holes are listed in the specification (34 weekdays); gaps inside a day were not audited for gold, and the test above was not run on it.
14Corrections
8 Oct 2026, after outside reviews, no result changed: (1) the multiple-testing sentence in section 05 is now labelled as an illustration that assumes eight independent tests (about 34%), which these eight results are not; (2) the benchmark is described as a circularly shifted state-series control instead of a random control, in the gate list, the summaries and section 05. 8 Oct 2026, after a data audit, no result, gate or verdict changed: (3) the specification said “ES has no holes”; that was true only for whole days (days with fewer than 30 bars), and the ES file has shorter holes inside days, now listed in the new Data notes section; the wording in the specification was corrected and a check without the trades open across the holes changed no verdict. 18 Oct 2026, navigation: added links to the new guide that compares all 11 gold strategy tests. 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 cross-market scoreboard, which includes this test. 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
- Best gold trading strategy
- Golden cross 1 hour backtest
- Macd crossover strategy backtest
- Supertrend indicator backtest
- Gold opening range breakout backtest
- Trend following vs mean reversion: this test next to the others of its style
- Free prop firm challenge calculator
- What all the backtests found so far
- The backtesting protocol
- How to backtest a trading strategy without fooling yourself
- Backtesting glossary