Markets › Metals · XAUUSD spot (daily bars)

Turtle Trading Backtest: Daily Gold, 2004 to 2026

The original Turtle rules (System 1 and System 2, with and without pyramiding) on 22 years of daily gold, net of costs, with a matched control.

XAUUSD spot · daily bars, 17:00 to 17:00 New York · Protocol v1.0 plus the 8 Oct 2026 rules

Buried · Fragile

Profitable in every period. Still not an edge we can prove.

BornRules, variants, costs and gates frozen 9 Oct 2026 (tt_spec.md), before any Turtle level was computed on gold
Died9 Oct 2026

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

Short answer: promising but not proven. We backtested the original Turtle rules on 22 years of daily gold. All four variants ended positive after costs and in every period, and System 2 beat a matched control, but none passed every gate: without its ten best trades each variant ends below zero, and no development t-statistic reached 2.0.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 Turtle rules are the trend-following system Richard Dennis taught his trainees in 1983: buy a 20-day or 55-day high, sell a 20-day or 55-day low, size and stop by volatility, add units as the trend runs. We tested the published rules unchanged on daily gold from 2004 to 2026: System 1 and System 2, each with one unit and with pyramiding to four units, long and short, with costs, financing scenarios and a matched control fixed in a dated specification before any level was computed.
  • None of the four passed every gate, but all four ended positive after costs and in every period, from +33 R (System 1, one unit) to +225 R (System 2, four units). System 2 beat the time-shifted control (percentiles 98.6 and 97.2).
  • Fragile: without its ten best trades each variant ends below zero, the long side made all the money while gold rose about elevenfold, no development t-statistic reached 2.0, and System 2 traded too rarely for the protocol. It is one of the strongest results on the site so far, and it is still not an edge we can prove.

01What we tested

N is the 20-day average true range (N = (19 × previous N + today's true range) / 20). System 1: buy one tick above the highest high of the previous 20 days, sell short one tick below the lowest low; exit at the opposite 10-day extreme. A System 1 breakout is skipped if the last one (taken or not) would have made money; after a skipped breakout, the 55-day breakout in the same direction is taken instead (the failsafe), so a big trend is not missed. System 2: 55-day breakouts, every one taken, exit at the opposite 20-day extreme. Stop: 2N from the entry. Pyramiding (the 4U variants): one more unit each time price moves N/2 further, up to four, and every unit's stop moves to 2N from the latest one. Entries and exits fill at their level on the 1-minute bars, or at the open when price gaps through it.

R is 2N at the first entry, the risk of one unit; a trade's result in R adds up all its units. Four variants: TT-S1-1U, TT-S1-4U, TT-S2-1U, TT-S2-4U. A few details the published rules leave open were fixed in the code before the run (for example, inside one minute the stop is taken before anything else); they are listed at the top of tt_lib.js.

02Data and costs

XAUUSD spot gold, the 1-minute history of an IC Markets MetaTrader 4 demo server, June 2004 to 7 October 2026, built into 5,702 trading days of 17:00 to 17:00 New York. A CFD quoted per ounce, not gold futures. Periods by the first entry: development 2004 to 2012, validation 2013 to 2019, holdout 2020 to 2026. These periods are not new: the same file and years were used by our earlier gold tests, so the holdout is reported as already used. We chose this test knowing that trend rules have done better than others on gold, which weakens a positive result.

Costs: $0.30 per ounce per round trip for every unit, as in all our gold tests; no slippage beyond gaps, which is optimistic. Positions last weeks, so we also report two financing scenarios (section 05). Engine check: tt_selftest.js checked hand-worked cases (N, breakouts at the level and at a gapped open, the skip rule after a winning and after a losing breakout, the failsafe entry, the 2N stop in the entry minute and gapped through, the 10- and 20-day exits, pyramiding with the stops moved, a day too thin to count), the daily bars, N and the channel levels against naive recomputations, and all four variants trade by trade against an independent re-implementation (tt_selftest_result.txt).

03Results

Net R is the sum of the trades' results after costs; dollars are per ounce per unit, so a trade with four units counts four ounces. The 95% range is the Wilson interval for the win rate. The drawdown includes open losses.

VariantRulesTradesNet after costsR per trade$ per ounceWinners (95% range)Profit factorDrawdown incl. open lossesVerdict
TT-S1-1USystem 1 (20/10), one unit189+33 R+0.18 R+$1,15244.4% (38% to 52%)1.44-6.9 RBuried
TT-S1-4USystem 1 (20/10), up to 4 units189+79 R+0.42 R+$3,09829.6% (24% to 36%)1.35-23.0 RBuried
TT-S2-1USystem 2 (55/20), one unit103+64 R+0.62 R+$2,27036.9% (28% to 47%)2.18-8.5 RBuried
TT-S2-4USystem 2 (55/20), up to 4 units117+225 R+1.92 R+$7,15024.8% (18% to 33%)2.29-25.5 RBuried
-0100200200620102014201820222026validationholdout*TT-S1-1UTT-S2-1UTT-S2-4U

Cumulative net R by month. * Holdout already used before this test. Buy and hold over the same data: $384.00 to $4,109.91 an ounce, +$3,726 an ounce.

By period

VariantDevelopment 2004 to 2012 (trades)Validation 2013 to 2019 (trades)Holdout* 2020 to 2026 (trades)Development tValidation PF
TT-S1-1U+8 R (71)+11 R (61)+15 R (57)0.761.49
TT-S1-4U+6 R (71)+26 R (61)+48 R (57)0.191.34
TT-S2-1U+29 R (40)+5 R (37)+29 R (26)1.421.28
TT-S2-4U+80 R (44)+57 R (41)+88 R (32)1.201.99

Each variant made money in each period. None reached a development t-statistic of 2.0: the results are positive, but uneven enough that 71 or fewer trades per period cannot separate them from luck.

04Where the result comes from

VariantLongs: trades / netShorts: trades / net10 best tradesNet without themAverage unitsAverage days held
TT-S1-1U106 / +47.5 R83 / -14.4 R+44.3 R-11.2 R1.0023
TT-S1-4U106 / +128.3 R83 / -49.2 R+162.4 R-83.2 R3.1718
TT-S2-1U56 / +75.3 R47 / -11.6 R+78.5 R-14.7 R1.0043
TT-S2-4U64 / +256.5 R53 / -31.8 R+293.2 R-68.5 R3.2331

The long side made the money and the short side lost in every variant, while gold rose about elevenfold. The ten best trades are worth more than the whole result: without them each variant ends below zero. That is how trend following works (a few big trends pay for many small losses), and it is also why the protocol cannot call it an edge: a handful of trades decides the result. Pyramiding multiplied both: System 2 with four units made +225 R against +64 R with one, with a drawdown including open losses of -25.5 R against -8.5 R.

Net R by year of the first entry

YearTT-S1-1UTT-S1-4UTT-S2-1UTT-S2-4U
2004 (from June)+0.6 R-9.1 R+1.7 R-6.2 R
2005+2.0 R+4.7 R+1.1 R+9.6 R
2006+3.7 R+16.1 R-1.0 R+4.3 R
2007+2.5 R+4.4 R+12.3 R+49.3 R
2008-2.2 R-12.7 R-2.1 R-7.2 R
2009+3.8 R+7.6 R+3.2 R+14.4 R
2010-2.9 R-5.8 R+1.9 R+6.8 R
2011-2.6 R-6.8 R+1.0 R+7.9 R
2012+2.8 R+7.4 R+11.3 R+0.8 R
2013-0.5 R-3.6 R-2.1 R+23.8 R
2014+2.1 R+3.9 R-1.0 R-2.1 R
2015-3.9 R-6.4 R-2.6 R-5.1 R
2016+5.9 R+14.9 R+2.5 R+7.4 R
2017+0.4 R-7.4 R-4.5 R-13.5 R
2018+1.4 R+7.5 R+5.1 R+16.2 R
2019+5.8 R+16.7 R+8.1 R+30.7 R
2020-2.2 R-4.2 R+0.9 R-0.1 R
2021-0.9 R-10.9 R-1.1 R-4.6 R
2022+5.6 R+19.9 R+1.4 R+1.8 R
2023+0.4 R-6.5 R-1.0 R-16.9 R
2024+2.5 R+18.4 R+6.3 R+23.9 R
2025+9.4 R+30.7 R+24.2 R+93.7 R
2026 (to 7 Oct)-0.2 R+0.3 R-1.7 R-10.2 R

05Financing

A spot gold CFD is financed every night. Two scenarios, next to the baseline (no financing, comparable with our other gold tests): A, 3% a year of the entry price for every calendar day held, charged to longs and shorts alike; B, today's IC Markets swap (long -$0.56, short +$0.39 per ounce per night, Wednesday counting three), applied to every year: not a historical swap, and far higher for longs than the rates of most of these years.

VariantNet, no financingNet, scenario A (3% a year)Net, scenario B (today's swap)
TT-S1-1U+33.2 R+19.5 R-1.6 R
TT-S1-4U+79.2 R+38.9 R-28.0 R
TT-S2-1U+63.7 R+49.0 R+21.1 R
TT-S2-4U+224.8 R+177.6 R+74.6 R

System 2 stays positive in both scenarios. System 1 with one unit ends at -1.6 R with today's swap, and with four units at -28.0 R: for a long-term long position in a CFD, the financing can take most or all of the result.

06Is it the timing or the market?

The benchmark is a time-shifted entry control: the real entry days of each variant are moved together by one random offset of at least 5% of the series, keeping each entry's direction; on the new day the position opens at the first minute, with the same N, stop, exits, pyramiding and costs. The control has the same long and short mix, so it shares gold's rise; it asks whether entering on the breakout day adds anything. 500 runs with fixed seeds; the bar is the 95th percentile of the average net R per trade.

VariantTradesReal average per tradeControl trades (mean)Control medianControl 5th to 95thPercentile (95 needed)
TT-S1-1U189+0.18 R155+0.05 R-0.07 R to +0.18 R94.0
TT-S1-4U189+0.42 R157+0.20 R-0.22 R to +0.60 R82.8
TT-S2-1U103+0.62 R86+0.21 R-0.08 R to +0.51 R98.6
TT-S2-4U117+1.92 R96+0.65 R-0.26 R to +1.67 R97.2

System 2 beat the control with one unit (98.6) and with four (97.2). System 1 came close with one unit (94.0) and not with four (82.8). For System 2 the breakout timing added something the same exits on other days did not, which is the most encouraging number in this test.

07The gates

VariantTrades1. PF ≥ 1.2 in validation2. ≥ 50 trades in each period3. t ≥ 2.0 on development4. Above the 95th percentile of the time-shifted control5. Positive without the 10 best trades6. Holdout net positive (already used)
TT-S1-1U189passpassfailfailfailpass
TT-S1-4U189passpassfailfailfailpass
TT-S2-1U103passfailfailpassfailpass
TT-S2-4U117passfailfailpassfailpass

The bar for the development t-statistic is 2.0 here, because four variants were tried (the protocol raises it to 2.5 above four). Each variant passed three gates: the validation profit factor and the positive holdout for all four, the sample size for System 1 and the control for System 2.

08Verdict by variant

VariantCauseGates failedVerdict
TT-S1-1UFragile3, 4, 5Buried
TT-S1-4UFragile3, 4, 5Buried
TT-S2-1UFragile2, 3, 5Buried
TT-S2-4UFragile2, 3, 5Buried

Fragile on our site means a result that depends on a few trades: here, without its ten best trades each variant ends below zero, and no development t-statistic reached 2.0. Not tested: other markets or a portfolio (the way the Turtles traded), other breakout lengths, unit sizing by account equity, the Turtles' limits on correlated positions, and live fills.

What would change our mind: the same rules, unchanged, on markets and years we have not used, with enough trades to clear the gates, or a forward record on new gold data.

Follow-up (11 Oct 2026): we ran the same rules, unchanged, on daily EUR/USD. System 2 did not beat the control there (percentiles 60.0 and 69.6) and lost in the holdout, which weakens the result above: read the EUR/USD test.

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

What the results show

  • None of the four variants passed every gate, but this is one of the strongest results on the site so far: all four ended positive after costs, in every period, and System 2 beat the time-shifted control (percentiles 98.6 and 97.2).
  • The result rests on a few big trends: without its 10 best trades each variant ends below zero, and the long side made the money while gold rose from about $384 to $4,110 an ounce.
  • System 2 trades too rarely for this protocol (about four or five times a year), and no variant reached a development t-statistic of 2.0.
  • Financing matters: with today's IC Markets swap applied to every night held, System 1 with one unit ends at -1.6 R.

What remains unknown

  • Whether the result holds on other markets: the Turtles traded a portfolio of futures, and we tested one market.
  • The real financing cost over 2004 to 2026: the swap scenario uses today's rates, not historical ones.
  • How much of the result is the trend in gold itself, beyond what the control can separate: the control keeps the same directions and exits, so it shares the drift, but one market and one long trend are a small sample.

Why it did not pass

Trend following on daily bars makes a few large winners and many small losers. Here that pattern paid, but too unevenly to prove an edge: the development t-statistics were 0.76, 0.19, 1.42, 1.20 (2.0 needed), and removing the ten best trades of any variant leaves it below zero. System 2 also made too few trades per period for the protocol's sample-size gate.

What you can apply to your own tests

  • Remove your ten best trades. A trend system that only works with them is a bet on a few trends, which is a real way to trade but a fragile one to evaluate.
  • Count the financing on positions held for weeks. A long-term long position in a CFD pays a swap every night.
  • Compare with the same entries placed on other days, with the same exits. It separates the entry timing from the market's drift better than a random coin flip.
  • Look at long and short separately before trusting a symmetric system on a market that rose for twenty years.

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 Turtle Trading still work?

On daily gold from 2004 to 2026 the original rules made money: +33 R for System 1 with one unit and +64 R for System 2 with one unit, after costs. But the result rests on a few big trends and on the long side of a market that rose about elevenfold, and it did not pass the protocol's significance gates.

Is System 1 or System 2 better?

In this test System 2 (55-day breakouts, 20-day exit) did better per trade and beat the time-shifted control (percentile 98.6); System 1 (20-day breakouts with the skip rule) came close (94.0). System 2 traded only about four or five times a year, too rarely for the protocol's sample-size gate.

Does pyramiding help in Turtle Trading?

It multiplied both the result and the risk: System 2 with up to four units made +225 R against +64 R with one, with a deeper drawdown including open losses, and its ten best trades were worth more than its whole result.

How was Turtle Trading tested?

On XAUUSD spot 1-minute broker data from 2004 to 2026, built into 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. The historical periods had been used by earlier gold tests, which the post states. Read the protocol.

09Check our arithmetic

Frozen specificationRules, variants, costs, gates, control. Dated before any Turtle level was computed on gold.
tt_spec.md
CodeThe engine (with the readings of the rules at the top), the independent re-implementation, the self-test and the run. The run needs your own MT4 gold history.
tt_lib.js · tt_ref.js · tt_selftest.js · tt_run.js
Shared code it usesThe MT4 loader, statistics and control helpers.
control_audit_lib.js · em_lib.js · fb_clock.js · fx_data.js · gh_lib.js · gx_lib.js · hourly_lib.js · ma_lib.js · rb_lib.js · rsi2_protocol.js
ResultsSelf-test result, the console output of the run and of the clock check, and all numbers as one file.
tt_selftest_result.txt · tt_results.txt · tt_results_clock.txt · tt_summary.json
Trade logs (CSV)Every trade of every variant, with units, R, the result in R and dollars, and both financing scenarios.
TT-S1-1U · TT-S1-4U · TT-S2-1U · TT-S2-4U
Data recordFile hashes, the gap audit of the gold file and the clock audit.
data_manifest.md · data_holes_xau.json · clock_audit_compare.txt

Code provenance: our own code, written from the published Turtle rules and the standard true range. No third-party source code is used or published.

10Data notes

Clock. Our clock audit found this file's time stamps one hour early in many weeks of 2004 to 2010. Daily bars split at gold's daily break barely notice it. We ran the whole test again on a copy with corrected time stamps: the same number of trades, the same gates and verdicts:

Clock checkTradesNetControl percentileVerdict
TT-S1-1U189 → 189+33.2 R → +33.3 R94.0 → 94.6Buried (unchanged)
TT-S1-4U189 → 189+79.2 R → +79.5 R82.8 → 82.0Buried (unchanged)
TT-S2-1U103 → 103+63.7 R → +63.7 R98.6 → 98.8Buried (unchanged)
TT-S2-4U117 → 117+224.8 R → +224.6 R97.2 → 97.8Buried (unchanged)

Gaps. The gold file has many suspect gaps inside the trading day, mostly in its thin early years (data_holes_xau.json). Turtle positions last weeks, so about half of all trades are open across at least one. Removing them leaves far fewer trades, but no verdict changes:

VariantTradesRemovedR per tradeVerdict
TT-S1-1U18996+0.18 R → -0.02 RBuried → Buried
TT-S1-4U18993+0.42 R → -0.02 RBuried → Buried
TT-S2-1U10360+0.62 R → +0.14 RBuried → Buried
TT-S2-4U11764+1.92 R → +0.25 RBuried → Buried

Without those trades System 1 is about flat and System 2 keeps a much smaller positive average, so a large part of the result comes from trades that crossed a gap in the data. Source. A broker's demo history, not an exchange record; the early years may contain interpolated bars, and costs are constant across years, which flatters 2004 to 2012.

11Corrections

18 Oct 2026, navigation: added links to the new guide that compares all 11 gold strategy tests. No result changed. Before the run, while writing the self-test, the control's circular range was set to start at the first day with N (day 20), not day 56, so that at offset zero it enters on the real entry days; no rule changed. 11 Oct 2026: added the result of the same rules on EUR/USD, the out-of-market check named above; System 2 did not beat the control there. No result of this test 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