Studies CRT series

Not this time

CRT 15m (New York candles) on XAUUSD

CRT on 15m New York candles, written as fixed rules and tested on XAUUSD 5-minute data from October 2021. In the out-of-sample windows (May 2023 to Oct 2026) it took 1785 trades and averaged +0.007R per trade, +13.3R in total, before trading costs. 4 of 5 test windows made money. Verdict: reject. Not this time. One of 24 CRT tests.

One of 24 tests in a study series. See all 24 side by side
Instrument
XAUUSD
Timeframe
M5
Period
Oct 2021 – Oct 2026
Status
Complete
Published
26 Oct 2026
Engine run
run_05d31fc47c
Out-of-sample result

Result

Before trading costs Out-of-sample
Engine verdictBefore trading costs Out-of-sample
Not this time

Rejected: 58% probability the true Sharpe is above zero (one fixed rule set was tested, so there is no search to deflate for); p = 0.122 against block-bootstrapped price series. Also failed: robust to resampled trades, survivable drawdown, drawdown

What the verdict means
Expectancy+0.007Raverage result per trade, in units of risk
Total+13.3Rsum of every out-of-sample trade
Trades1,785out-of-sample trades taken
Win rate38.2%share of trades that made money
Profit factor0.99gross profit divided by gross loss
Max drawdown−58.2Rworst fall from a peak

Out-of-sample equity

Before trading costs Out-of-sample
−40R
−20R
0R
+20R
+40R
−50R
May 2023202420252026Oct 2026
Cumulative R, out-of-sampleDrawdown from peakworst −58.2R

The walk-forward test windows stitched end to end, in R (one R is the amount risked on a trade). No trade on this curve was used to choose the parameters that took it.

Method

15-minute candles, new york clock, built from 5-minute bars. C1 is a candle, C2 the next one. If C2 trades beyond one side of C1 only and closes back inside it, the trade is the other way: enter at the open of the first 5-minute bar after C2 closes, stop at C2's wick, target at C1's other side, flat at the close of the next 15-minute candle, fifteen minutes after entry. Pairs: pairs inside 01:00 to 13:00 New York (C1 opens at 01:00 or later, C2 closes by 13:00). Only setups with at least 1:1 planned reward to risk at C2's close. One position at a time, at most 2 trades a day, taken in time order. 1% risk per trade. Every rule was written down before the test and nothing was optimised.

Data: the broker's MetaTrader 5 5-minute bars, 1 October 2021 to 26 October 2026. A signal fills at the next bar's open; if one bar touches both the stop and the target, the stop counts.

The test is a rolling walk-forward with five folds, each a training window of about 19 months and a test window of about 8 months; only trades in the test windows (May 2023 to October 2026) count. Nothing was fitted in the training windows because nothing was tunable. Results are in R, the amount risked per trade, before trading costs.

This is one of 24 CRT tests (4 timeframes, 2 markets, 3 reward-to-risk floors). With that many, one can look good by chance alone.

Verdict: reject. Not this time. Out of sample, these rules averaged +0.007R per trade over 1785 trades on XAUUSD, +13.3R in total, and 4 of 5 test windows made money. All figures are before trading costs. This is one of 24 CRT tests; see studies/crt/report.md for all of them side by side.

Run run_05d31fc47c, IDFX engine, 26 October 2026. Rules: studies/crt/rules.md.

The idea

Take one candle as a range (C1). If the next candle (C2) trades beyond one side of it, sweeping the orders resting there, but then closes back inside the range, the move failed. CRT trades back towards the other side of the range, with the stop at the sweep's wick, and expects the move in the candle after that (C3).

CRT (Candle Range Theory) is popularised by the trader known as Romeo (@Romeotpt on X). Its sweep-and-reclaim idea builds on "Turtle Soup" by Linda Raschke and Larry Connors (Street Smarts, 1995), which ICT later adapted. The rules here are one precise reading of CRT, written down before the test; community descriptions differ in the details.

The rules, exactly as tested

Every rule was written down before the test and none was optimised.

  • Candles: 15-minute candles, New York clock, built from 5-minute bars.
  • Pairs: pairs inside 01:00 to 13:00 New York (C1 opens at 01:00 or later, C2 closes by 13:00).
  • Short: C2's high goes above C1's high, C2's low stays at or above C1's low, and C2 closes back inside C1. Long is the mirror image. Both sides swept, or a close outside C1: no trade.
  • Minimum reward to risk: 1:1, measured at C2's close (distance to the target ÷ distance to the stop). The target is not moved; a setup offering less is skipped.
  • Entry: market, at the open of the first 5-minute bar after C2 closes.
  • Stop: C2's wick (its high for a short, its low for a long).
  • Target: C1's other side (its low for a short, its high for a long).
  • Time exit: the close of the next 15-minute candle, fifteen minutes after entry (the end of C3), if neither stop nor target was hit.
  • Trades: one position at a time, at most 2 trades a day, taken in time order; a setup that comes while a trade is open is skipped. 1% of the account at risk per trade.

Data and test

  • XAUUSD (gold), 5-minute bars from the broker's MetaTrader 5 feed, 1 October 2021 to 26 October 2026, stamped on the broker's New York-close clock.
  • A signal fills at the next bar's open. If one bar touches both the stop and the target, the stop counts.
  • Rolling walk-forward, five folds; only the test windows count. Nothing was fitted in the training windows, because every rule was fixed.
Fold Training window Test window Trades Average per trade
1 Oct 2021 – May 2023 May 2023 – Jan 2024 355 +0.003R
2 Jun 2022 – Jan 2024 Jan 2024 – Sep 2024 356 +0.001R
3 Feb 2023 – Sep 2024 Sep 2024 – Jun 2025 358 -0.053R
4 Oct 2023 – Jun 2025 Jun 2025 – Feb 2026 358 +0.038R
5 Jul 2024 – Feb 2026 Feb 2026 – Oct 2026 358 +0.048R

Results (out of sample, before trading costs)

Trades 1785 (about 517 a year)
Win rate 38.2%
Average result per trade +0.007R
Profit factor 0.99
Total +13.3R
Worst peak-to-trough fall 58.2R (47.6% of the account at 1% risk)
Longest losing streak 16 trades
Test windows that made money 4 of 5

How the trades ended: 923 stop, 585 at the end of C3, 277 target.

Longs and shorts: longs 867 trades, +0.021R each, +17.8R; shorts 918 trades, -0.005R each, -4.5R.

Planned reward to risk at the fill: median 2.08, middle half 1.41 to 3.22. 22 trades filled below 1:1 because the next bar opened a little away from C2's close.

Gap cases (pre-run addendum in rules.md): 0 entries opened beyond C2's wick and 0 beyond the target; 0 entries came at the first bar after a market break.

The reward-to-risk trials

The same rule with a stricter filter, run as trials. The 1:1 rule above is the main result.

Minimum reward to risk Trades Win rate Average per trade Total Windows profitable Verdict
1:1 1785 38.2% +0.007R +13.3R 4 of 5 reject
1:2 1748 33.0% +0.050R +86.8R 3 of 5 reject
1:4 1185 22.5% +0.053R +62.6R 2 of 5 reject

The full five years, for context. The same fixed rules over the whole period, including the first training window: 2615 trades, +0.034R per trade, +88.8R. Context only, never the result.

The verdict

Reject. Rejected: 58% probability the true Sharpe is above zero (one fixed rule set was tested, so there is no search to deflate for); p = 0.122 against block-bootstrapped price series. Also failed: robust to resampled trades, survivable drawdown, drawdown.

  • Sample size: passed. 1785 out-of-sample trades
  • Positive expectancy: passed. expectancy of +0.007R per trade before trading costs
  • Walk-forward efficiency: not applicable. not applicable: every parameter is fixed, so nothing was fitted on the training windows and there is no fit to decay; the fixed rules are judged by their out-of-sample expectancy and fold consistency
  • Fold consistency: passed. 80% of walk-forward folds were profitable
  • Sharpe significance: failed. 58% probability the true Sharpe is above zero (one fixed rule set was tested, so there is no search to deflate for)
  • Beats shuffled price: failed. p = 0.122 against block-bootstrapped price series
  • Parameter sensitivity: passed. nudging the pinned values keeps 82% of their score
  • Robust to resampled trades: failed. 57% of trade sequences resampled with replacement end profitable
  • Survivable drawdown: failed. 29.4% chance of halving the account at the configured risk
  • Drawdown: failed. maximum drawdown of 47.6%

Reshuffled price series scored as well or better in 4 of 40 tries (p = 0.12). Resampling the trades puts the average between -0.049R and +0.064R in 90% of cases.

24 tests. This is one of 24 CRT tests run together. With that many, one or two can look good by chance alone, so no single one should be read on its own.

Limitations

  • Before trading costs. Spread, commission and slippage would make the result worse.
  • 3.5 years out of sample, not 5. The first 19 months are the first training window.
  • One precise reading of CRT. Other candle times, sweep definitions or exits are different strategies and were not tested here.
  • One price feed. Another broker's or TradingView's candles differ slightly.
  • 5-minute bars. A bar that touches both the stop and the target counts as a loss.
  • TradingView's strategy export differs on a few trades: when an entry opens beyond C2's wick, TradingView's armed stop is already passed and it closes at the open; and when a bar opens beyond the target and then reaches the stop, TradingView takes the target. The free indicator matches the backtest trade for trade.
  • A backtest. It is not live trading or a funded-account result.

The data

Everything on this page comes from one file, published as it was written. Fetch it, check it, or hand it to your own tools.

/studies/crt-15m-gold.json