Markets › Futures · ES futures, 60-minute
TheStrat Trading Strategy Backtest: 2-1-2, 3-1-2 and 2-2 Reversals on 6 Years of ES Futures
Number every candle 1, 2 or 3, wait for a combo, take it only when every timeframe points the same way, enter on the break of the trigger bar. We made TheStrat's best-known combos mechanical and backtested them on ES futures 60-minute bars from 2020 to 2026, with costs and against random days.
Buried · No proven edgeSeven trades in ten won. The other three cost more.
Variants tried: 4 · Passed every gate: 0 · Best: 3 of 6 · Holdout opened: yes (already used)
Short answer: not in our test. TheStrat's 2-1-2 with full timeframe continuity, traded on ES futures 60-minute bars from 2020 to 2026 with the method's first target, made -$30 a trade after costs and won 71% of its trades; the 3-1-2 made -$71. The 2-2 reversal made +$20 a trade but rested on the short side and a few big days. No version showed a proven edge.
00The verdict in three lines
- Does TheStrat work? Not in our test on ES futures: the 2-1-2 with full timeframe continuity made -$30 a trade after costs (259 trades, 2020 to 2026), the 3-1-2 -$71 (67 trades), and the 2-1-2 without the filter -$24 (717 trades).
- High win rates, small wins. 63% to 71% of trades won, because the method's first target was a median of 0.18 to 0.31 R away; the losers, at the full stop, cost more.
- The 2-2 reversal made +$11,123 and beat random days, but only on the short side, flat in the holdout and negative without its ten best trades. All four buried; no proven edge.
01TheStrat in brief
TheStrat is the method of Rob Smith, a trader who developed it over a long career. It reads price with no indicators, only by how each candle relates to the one before it.
- 1, the inside bar: the high is not above the prior high and the low not below the prior low (a pause).
- 2, the directional bar: it takes out one side of the prior bar: 2U the high, 2D the low.
- 3, the outside bar: it takes out both sides (a broadening).
- Combos: short sequences of these numbers, such as the 2-1-2 (a directional bar, a pause, a break), the 3-1-2 and the 2-2 reversal (a bar that takes out the side opposite to the previous bar).
- Full timeframe continuity (FTFC): trade only in the direction in which the current monthly, weekly, daily and 60-minute candles all point, price above each one's open for longs and below for shorts.
The guides we found name the candles and the combos but rarely the exits. We took the entry, stop and first target from public descriptions of the method (LuxAlgo's library page and the TradingView script “TheStrat Suite”): enter one tick beyond the trigger bar, stop beyond its other side, first target at the extreme of the bar before it. These are secondary sources, not Rob Smith's own material; the levels for the 3-1-2 and the 2-2 are the same logic applied by us.
02How we made the rules mechanical
| Version | Trigger bar | Entry (one tick beyond) | Stop (one tick beyond) | First target |
|---|---|---|---|---|
| 2-1-2 (STRAT-212) | a 1 after a 2U or 2D | either side of the 1: up (continuation after a 2U, reversal after a 2D) or down | the other side of the 1 | the high (low) of the 2 |
| 3-1-2 (STRAT-312) | a 1 after a 3 | either side of the 1 | the other side of the 1 | the high (low) of the 3 |
| 2-2 (STRAT-22) | a 2D (a 2U for a short) | its high: the next bar reverses up | its low | the high of the bar before it |
| 2-1-2, no filter (STRAT-212-NOFTFC) | STRAT-212 without the FTFC condition, to measure what the filter adds | |||
- Bars: 60-minute bars on the clock hours, overnight included, as charting platforms show ES. Equal highs and lows are not broken.
- Orders: work only during the next 60-minute bar; a fill must come between 09:31 and 15:00 New York (the trigger bar can be an overnight bar), with FTFC agreeing at the fill price and the target beyond it. If one side is refused, the other side stays working.
- Exits: the stop, the first target, or the session close at 16:00. One trade at a time; one contract.
On the 60-minute chart 16.3% of bars were 1s, 73.1% were 2s and 10.6% were 3s. Over the regular session, all four timeframes agreed upward 20.9% of the time and downward 10.8%; the rest of the time FTFC was mixed and no trade could be taken.
03How we tested it
ES (E-mini S&P 500) futures, NinjaTrader's back-adjusted 1-minute history with the overnight session, 2 January 2020 to 25 September 2026, 1,737 usable days. Costs: $30.76 a round trip (commission and one tick of slippage on each fill), as in every ES test on the site, with 1.5 and 2.5 times that shown too. Periods: development 2020 to 2023, validation January 2024 to March 2025, holdout April 2025 to September 2026, already used by earlier ES tests; first-period bar t ≥ 2.5, because breakouts of a single bar have been tried before. Control: every trade moved to another trading day at the same minute, with the same stop and target distances, 500 times. Engine check: 32 checks on hand-made days (each combo, FTFC refusing a fill and the other side then filling, a gap fill, an order expiring, both orders in one minute, the entry window, an early close) and an independent re-implementation that matched every trade of all four versions; 15 of 16 deliberate bugs put into the engine were caught, and the 16th could not change any trade (strat_selftest_result.txt).
04Results: does TheStrat work?
| Version | Setup | Trades | Win rate | Gross per trade | Net per trade | Net total | Profit factor | Verdict |
|---|---|---|---|---|---|---|---|---|
| STRAT-212 | 2-1-2 (an inside bar after a 2), with FTFC | 259 | 71.4% | +$0 | -$30 | -$7,854 | 0.79 | Buried |
| STRAT-312 | 3-1-2 (an inside bar after an outside bar), with FTFC | 67 | 62.7% | -$40 | -$71 | -$4,773 | 0.64 | Buried |
| STRAT-22 | 2-2 reversal, with FTFC | 569 | 68.5% | +$50 | +$20 | +$11,123 | 1.10 | Buried |
| STRAT-212-NOFTFC | 2-1-2 without the FTFC filter | 717 | 67.4% | +$7 | -$24 | -$17,092 | 0.86 | Buried |
Cumulative net dollars by month, one contract. * Holdout already used before this test.
05Why seven wins in ten still lost
| Version | Target hit | Stop | Session close | Median risk | Median target | Win rate needed (before costs) | Median time in trade |
|---|---|---|---|---|---|---|---|
| STRAT-212 | 82.2% | 15.8% | 1.9% | 12.25 pts | 0.18 R | 85% | 9 min |
| STRAT-312 | 67.2% | 25.4% | 7.5% | 13.00 pts | 0.31 R | 76% | 19 min |
| STRAT-22 | 70.3% | 19.3% | 10.4% | 16.50 pts | 0.31 R | 76% | 26 min |
| STRAT-212-NOFTFC | 75.0% | 21.8% | 3.2% | 12.75 pts | 0.26 R | 80% | 15 min |
The first target is the extreme of the bar before the trigger; in the 2-1-2 and the 3-1-2 the trigger bar is inside that bar, so the target is close: in 92% or more of the trades it was less than 1R away. The stop is on the other side of the trigger bar, a median of 12.25 points for the 2-1-2. A trade that risks 1R to make 0.18 R needs to win about 85% of the time just to break even before costs; the 2-1-2 won 71.4%. Traders often hold part of the position for later targets; we tested the first target only, as the method's first exit.
06Did full timeframe continuity help?
| Version | Break | Trades | Net per trade | Net total |
|---|---|---|---|---|
| STRAT-212 | continuation | 161 | -$35 | -$5,590 |
| STRAT-212 | reversal | 98 | -$23 | -$2,264 |
| STRAT-212-NOFTFC | continuation | 314 | -$58 | -$18,184 |
| STRAT-212-NOFTFC | reversal | 403 | +$3 | +$1,091 |
Not here. With FTFC the 2-1-2 kept 259 of the 717 trades it would otherwise have taken, and lost -$30 a trade against -$24 without the filter. In the first period, where the filter mattered most, both lost (-$48 and -$58 a trade). Without the filter the reversals (a break against the 2 bar) roughly broke even after costs while the continuations lost; with the filter both lost. The unfiltered version passed three gates, more than any other, but lost clearly in 2020 to 2023 (t -2.17).
07The 2-2 reversal: the one that made money
The 2-2 reversal, buying when a bar takes out the high of a 2D (and selling the mirror), with FTFC, made +$11,123 over 569 trades, +$20 a trade after costs, and did better than 99.4% of the random-day sets, whose median lost $30 a trade. Three things keep it from being an edge:
- One side: the shorts made +$15,543, the longs lost $4,421.
- A few days: its ten best trades made +$18,030; without them it lost $6,907.
- Not in every period: t 0.87 in 2020 to 2023, a validation profit factor of 1.12, and -$304 in the holdout.
The short side of the 2-2 reversal is a hypothesis worth its own frozen test on new data; it is not a result we can stand behind. We later ran the same frozen rules, unchanged, on 22 years of gold, where the 2-2 reversal lost money after costs and did not beat random days: TheStrat on gold.
08TheStrat or a random day?
| Version | Trades | Real net per trade | Moved trades, median | Moved, 5th to 95th | Percentile (95 needed) |
|---|---|---|---|---|---|
| STRAT-212 | 259 | -$30 | -$31 | -$68 to +$9 | 50.6 |
| STRAT-312 | 67 | -$71 | -$26 | -$121 to +$50 | 22.8 |
| STRAT-22 | 569 | +$20 | -$30 | -$68 to +$4 | 99.4 |
| STRAT-212-NOFTFC | 717 | -$24 | -$30 | -$56 to -$7 | 64.4 |
The same trades placed on random days, with the same close targets, lost a little after costs (a median of about -$31 a trade). Only the 2-2 reversal clearly beat them; the 2-1-2 sat in the middle, and the 3-1-2 did worse than most random sets.
09By period and by year
| Version | 2020 to 2023 (trades) | Jan 2024 to Mar 2025 (trades) | Holdout* Apr 2025 to Sep 2026 (trades) | t, first period | PF, second period |
|---|---|---|---|---|---|
| STRAT-212 | -$48 (154) | +$73 (38) | -$48 (67) | -1.26 | 2.91 |
| STRAT-312 | -$91 (36) | +$16 (17) | -$127 (14) | -1.23 | 1.13 |
| STRAT-22 | +$28 (345) | +$21 (91) | -$2 (133) | 0.87 | 1.12 |
| STRAT-212-NOFTFC | -$58 (437) | +$38 (118) | +$25 (162) | -2.17 | 1.33 |
| Year | STRAT-212 net (trades) | STRAT-312 net (trades) | STRAT-22 net (trades) | STRAT-212-NOFTFC net (trades) |
|---|---|---|---|---|
| 2020 | -$2,062 (52) | -$1,265 (7) | +$5,856 (101) | -$8,813 (126) |
| 2021 | -$1,170 (36) | +$710 (7) | -$1,362 (65) | -$9,237 (115) |
| 2022 | -$3,809 (32) | -$1,446 (8) | +$8,183 (92) | -$7,666 (107) |
| 2023 | -$383 (34) | -$1,268 (14) | -$3,189 (87) | +$200 (89) |
| 2024 | +$1,515 (30) | +$64 (15) | +$3,742 (73) | +$2,551 (91) |
| 2025 | -$374 (41) | -$570 (10) | -$7,483 (86) | +$5,606 (101) |
| 2026 (to 25 Sep) | -$1,571 (34) | -$997 (6) | +$5,376 (65) | +$268 (88) |
* The holdout was already used by our earlier ES tests. Net per trade by period, one contract.
The 2-1-2 with FTFC had a profit factor of 2.91 in the validation period, but on only 38 trades, too few to count; the 3-1-2 had 67 trades in all.
10Costs
| Version | Before costs | $30.76 (base) | x1.5 | x2.5 | Cost in R |
|---|---|---|---|---|---|
| STRAT-212 | +$0 | -$30 | -$46 | -$76 | 0.058 R |
| STRAT-312 | -$40 | -$71 | -$87 | -$117 | 0.050 R |
| STRAT-22 | +$50 | +$20 | +$4 | -$27 | 0.045 R |
| STRAT-212-NOFTFC | +$7 | -$24 | -$39 | -$70 | 0.058 R |
The 2-1-2 made about nothing before costs (+$0 a trade with FTFC, +$7 without); the 3-1-2 lost before costs. The cost is a small share of the stop (about 0.06 R), but a large share of a target a fifth of that size.
11The gates
| Version | 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 moved-trade control | 5. Positive without the 10 best trades | 6. Holdout net positive (already used) |
|---|---|---|---|---|---|---|---|
| STRAT-212 | 259 | pass | fail | fail | fail | fail | fail |
| STRAT-312 | 67 | fail | fail | fail | fail | fail | fail |
| STRAT-22 | 569 | fail | pass | fail | pass | fail | fail |
| STRAT-212-NOFTFC | 717 | pass | pass | fail | fail | fail | pass |
| Version | Cause | Gates failed | Verdict |
|---|---|---|---|
| STRAT-212 | Costs | 2, 3, 4, 5, 6 | Buried |
| STRAT-312 | No proven edge | 1, 2, 3, 4, 5, 6 | Buried |
| STRAT-22 | Fragile | 1, 3, 5, 6 | Buried |
| STRAT-212-NOFTFC | Costs | 3, 4, 5 | Buried |
No trade touched a known gap in the data. Costs for the two 2-1-2 versions in the protocol's sense (positive before costs, negative after, though barely positive), no proven edge for the 3-1-2 (negative before costs) and fragile for the 2-2 reversal (positive, but not without its ten best trades). Taken together: no proven edge.
TWhat this shows, and what to take into your own tests
What the results show
- TheStrat's 2-1-2 and 3-1-2, traded on ES 60-minute bars with full timeframe continuity and the method's first target, lost money from 2020 to 2026: -$30 and -$71 a trade after costs.
- They won often (71% of the 2-1-2 trades) because the first target was close: a median of 0.18 R against a stop on the other side of the trigger bar. At that size a trade needs to win about 85% of the time to break even before costs.
- The 2-2 reversal made +$11,123 over 569 trades and beat random days, but all of it came from shorts, it was flat in the holdout, and without its ten best trades it lost $6,907.
What remains unknown
- The rest of the method: other combos (the 1-2-2 RevStrat, the 3-2-2, Pivot Machine Gun), other timeframes, actionable signals on several timeframes at once, later targets and the trader's judgement.
- Rob Smith's own rules for stops and targets: we used the levels published by secondary sources, and our own extension of them to the 3-1-2 and the 2-2.
- Other markets, such as stocks and SPY options, where many traders apply the method.
Why it was buried
None of the four versions passed the first-period test, and none stayed positive without its ten best trades. The first target sits so close to the entry that most trades won a few points while the stop, on the other side of the trigger bar, cost several times more; costs then took what was left. The 2-2 reversal is the only hint, and it rests on the short side and on a handful of big days.
What you can apply to your own tests
- Before trusting a high win rate, compare it with the break-even rate your target and stop imply: a 0.2R target needs to win more than eight times in ten.
- Test a filter by running the same rules with and without it: here full timeframe continuity left fewer trades and no better result.
- If one side carries the whole result, as the shorts did in the 2-2 reversal, treat it as a separate hypothesis for a new, frozen test, not as a finding.
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?
Not in our backtest of its best-known combos on ES futures: 259 trades of the 2-1-2 with full timeframe continuity at -$30 each after $30.76 of costs, and the same rules without the filter at -$24. Win rates were high because the first target was close, a median of 0.18 R, so the losers cost more than the winners made.
What is a 2-1-2 in TheStrat?
A directional bar (a 2, which takes out one side of the bar before it), then an inside bar (a 1), then a break of the inside bar. The entry is one tick beyond the inside bar, the stop beyond its other side, and the first target the extreme of the 2 bar. A break in the same direction as the 2 is a continuation, in the opposite direction a reversal.
What is full timeframe continuity?
Trading only in the direction in which the current monthly, weekly, daily and 60-minute candles all point: price above each one's open for longs, below for shorts. In our ES data it was aligned upward about 21% of the regular session and downward 11%; it did not improve the 2-1-2.
What is the 2-2 reversal win rate?
69% in our test (569 trades on ES with full timeframe continuity), for +$20 a trade after costs. All of the profit came from shorts, and without its ten best trades it lost money.
How was TheStrat backtested?
On ES 1-minute data with the overnight session, built into 60-minute bars, with the bar numbers, the combos, full timeframe continuity, the entry, stop and first target written down before any result, 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.
12Check our arithmetic
strat_spec.md
strat_lib.js · strat_ref.js · strat_selftest.js · strat_run.js
control_audit_lib.js · em_lib.js · gh_lib.js · hourly_lib.js · ma_lib.js · rb_lib.js · rsi2_protocol.js · data_holes.json · data_manifest.md
strat_selftest_result.txt · strat_results.txt · strat_summary.json
STRAT-212 · STRAT-312 · STRAT-22 · STRAT-212-NOFTFC
Code provenance: our own code, written from the published descriptions of TheStrat cited above and the readings in the specification. We have no connection with Rob Smith, TrendSpider, LuxAlgo or TradingView.
13Data notes
Source. NinjaTrader's back-adjusted continuous ES contract, 1-minute bars on the New York clock with the overnight session; the 60-minute bars and the day, week and month opens are built from it (a trading day runs from 18:00 to 17:00). Back-adjustment shifts old prices by the roll gaps, which changes no bar number and no distance in points. Fills: stop orders at their level, or at a minute's open if it opened beyond it; a flat $30.76 a round trip. Known holes in the file are listed in data_holes.json; no trade of this test touched one.
14Corrections
28 Oct 2026, addition: a link in section 07 to our replication of these rules on gold. No result changed.