Markets › Futures · ES futures, 1-minute
Initial Balance Breakout on ES Futures: Does It Hold Up on the S&P 500?
On NQ the initial balance breakout beat chance but fell short of our gates. We ran the same rules, unchanged, on every ES session from 2020 to 2026 to see whether the S&P 500 would confirm it.
Buried · No proven edgeIt worked on the Nasdaq. The S&P did not follow.
Variants tried: 3 (the same as on NQ) · Passed every gate: 0 · Beat the random control: 0 · Holdout opened: yes (already used)
Short answer: no. The initial balance breakout rules that beat chance on NQ, run unchanged on ES futures from 2020 to 2026, made -$1, +$11 and +$4 a trade for the three versions over 1,621 trades each, and none did better than the same trades on random days.How much costs took here, compared across all 54 of our tests →Did the same rules work on other markets? The cross-market scoreboard →
00The verdict in three lines
- We took the initial balance breakout rules from our NQ test (first-hour range 9:30 to 10:30 New York, buy a break above or sell a break below until 13:30, three stop and target versions) and ran them unchanged on ES futures: one contract, $30.76 a round trip, 1,621 trades per version from 2020 to September 2026.
- The S&P 500 did not confirm the Nasdaq. Net per trade: -$1 (IB-X1), +$11 (IB-MID), +$4 (IB-CLOSE). None beat the same trades on random days, and all three lost money in the most recent period.
- Buried: one gate of six for every version. The two markets usually broke the same way on the same day; for the two versions that beat chance on NQ, the move after the break on ES was smaller relative to the risk, and costs took what was left.
01Why test the initial balance breakout on ES
The initial balance (IB) is the range of the first hour of the regular session, a Market Profile idea from J. Peter Steidlmayer at the Chicago Board of Trade; the full explanation, with the IB extension and midpoint, is in the NQ article. There, two versions with the stop beyond the other side of the IB made money after costs and beat the same trades on random days (the 97.2th and 95.4th percentile), but failed our first-period t-statistic and validation profit factor gates.
A result like that needs a second market before anyone should trade it. ES, the S&P 500 future, is the obvious one: the same exchange, the same session, the most traded index future. We froze the same rules, hours, gates and control on 21 October 2026, after the NQ result and before computing anything on ES, and changed nothing: no version dropped, none added, no filter. Two things to keep in mind: ES and NQ move together on most days, so a pass on ES would not have been an independent confirmation; and a failure on ES does not erase the NQ result, it puts it in context.
02The rules (the same as on NQ)
- Initial balance: high and low of the 60 one-minute bars from 9:30 to 10:30 New York; days with more than 3 bars missing, or closing before 12:30, are skipped.
- Entry: from 10:30, a buy stop one tick above the IB high and a sell stop one tick below the IB low; the first one touched is the trade. One trade a day; no entry after 13:30.
- IB-X1: stop one tick beyond the other side; target the 1x IB extension. IB-MID: stop at the IB midpoint; same target. IB-CLOSE: stop beyond the other side; no target.
- Exit: stop, target, or the session close (16:00, or the exchange's early close).
03How we tested it
ES (E-mini S&P 500 futures), NinjaTrader 1-minute history, back-adjusted, January 2020 to 25 September 2026: 1,733 sessions with a usable initial balance. $50 a point. Costs: $30.76 a round trip per contract (commission plus one tick, $12.50, of slippage on each fill), as in all our ES tests. Periods: 2020 to 2023, 2024 to March 2025, and a holdout from April 2025 already used by our earlier ES tests. First-period bar t ≥ 2.5, as on NQ (opening range breakouts have been tried many times on these markets). Control: every trade moved to another day at the same minute, same direction, same stop and target distances, 500 times. Engine check: the NQ engine with the ES point value and cost, the same hand-worked days and an independent re-implementation that matched all 4,863 ES trades; it passed on its first run (ibbes_selftest_result.txt).
04Results: initial balance breakout on ES
| Variant | Rule | Trades | Win rate (95% range) | Gross per trade | Net per trade | Net per trade (R) | Net total, 1 contract | Profit factor | Verdict |
|---|---|---|---|---|---|---|---|---|---|
| IB-X1 | Stop beyond the other side of the IB, target a 1x IB extension | 1,621 | 51.3% (49% to 54%) | +$29 | -$1 | -0.011 R | -$2,412 | 1.00 | Buried |
| IB-MID | Stop at the IB midpoint, target a 1x IB extension | 1,621 | 40.7% (38% to 43%) | +$42 | +$11 | -0.005 R | +$17,994 | 1.03 | Buried |
| IB-CLOSE | Stop beyond the other side, no target, out at the close | 1,621 | 47.5% (45% to 50%) | +$35 | +$4 | -0.001 R | +$6,376 | 1.01 | Buried |
Cumulative net dollars per contract by month. * Holdout already used before this test.
How the trades ended
| Variant | Hit the 1x extension | Stopped | Closed at the session close | Median risk | Median minutes held | Largest drawdown (closed trades) |
|---|---|---|---|---|---|---|
| IB-X1 | 30.4% | 28.9% | 40.7% | 24.75 pts (+$1,238) | 219 | -$49,587 |
| IB-MID | 25.0% | 53.0% | 22.0% | 12.38 pts (+$619) | 117 | -$36,619 |
| IB-CLOSE | – | 30.3% | 69.7% | 24.75 pts (+$1,238) | 292 | -$46,821 |
Almost all of the profit of IB-MID and IB-CLOSE came in 2022. Over the other years together, every version lost money (year table in section 07).
05ES vs NQ: the same signals, a different result
On the 1,621 days ES traded, NQ also traded on 1,522, and in the same direction on 87.6% of them. The difference is not in the signal but in what followed it:
| Variant | NQ net per trade | ES net per trade | Gross per trade, R (NQ / ES) | Cost per trade, R (NQ / ES) | Control percentile (NQ / ES) | Gates passed (NQ / ES) |
|---|---|---|---|---|---|---|
| IB-X1 | +$85 | -$1 | +0.044 R / +0.019 R | 0.007 R / 0.030 R | 97.2 / 85.2 | 4 / 1 |
| IB-MID | +$35 | +$11 | +0.045 R / +0.054 R | 0.015 R / 0.059 R | 81.8 / 93.6 | 1 / 1 |
| IB-CLOSE | +$105 | +$4 | +0.046 R / +0.029 R | 0.007 R / 0.030 R | 95.4 / 77.2 | 4 / 1 |
For IB-X1 and IB-CLOSE (stop beyond the other side of the IB), on NQ the price travelled further after a break in units of the risk taken, and one contract's cost was a small slice of that risk (the median IB-X1 risk was 127.5 NQ points, $2,550, against $15.76). On ES the median risk was 24.75 points ($1,238) against $30.76, so the cost took about four times the share, while the IB-X1 move before costs was less than half as large. With the tighter midpoint stop, ES did a little better than NQ before costs, but the cost of that smaller risk was even heavier.
06How often does ES break the initial balance?
On the 1,733 sessions, the first level broken by 13:30 was the IB high on 50.4% of days and the IB low on 43.1%; on 6.5% price stayed inside the first-hour range until 13:30. No single minute reached both levels.
By initial balance size (descriptive, net per trade)
| IB size (thirds of all days) | IB-X1 (trades) | IB-MID (trades) | IB-CLOSE (trades) |
|---|---|---|---|
| Small IB (under 19 pts) | -$18 (550) | -$19 (550) | -$17 (550) |
| Medium (19 to 31.75) | -$27 (544) | +$28 (544) | -$12 (544) |
| Large (31.75 pts and over) | +$42 (527) | +$26 (527) | +$42 (527) |
Days with a large initial balance did better, but that split was not in the rules and much of it is 2022, when the balances were large; choosing a filter after seeing this table would be fitting the past. On NQ it was the other way round: small balances did better than large ones in all three versions.
07Break or random entry, by period and by year
| Variant | Trades | Real net per trade | Random days, median | Random, 5th to 95th | Percentile (95 needed) |
|---|---|---|---|---|---|
| IB-X1 | 1,621 | -$1 | -$30 | -$72 to +$16 | 85.2 |
| IB-MID | 1,621 | +$11 | -$25 | -$58 to +$17 | 93.6 |
| IB-CLOSE | 1,621 | +$4 | -$19 | -$69 to +$36 | 77.2 |
| Variant | 2020 to 2023 (trades) | 2024 to Mar 2025 (trades) | Holdout* Apr 2025 to Sep 2026 (trades) | t, first period | PF, second period |
|---|---|---|---|---|---|
| IB-X1 | +$7,542 (954) | +$1,149 (304) | -$11,103 (363) | 0.21 | 1.01 |
| IB-MID | +$14,886 (954) | +$3,574 (304) | -$466 (363) | 0.52 | 1.03 |
| IB-CLOSE | +$28,630 (954) | +$2,386 (304) | -$24,641 (363) | 0.70 | 1.02 |
| Year | Median IB size (points) | IB-X1 net (trades) | IB-MID net (trades) | IB-CLOSE net (trades) |
|---|---|---|---|---|
| 2020 | 19.50 | -$12,740 (237) | -$3,865 (237) | -$11,803 (237) |
| 2021 | 18.75 | -$15,718 (231) | -$13,437 (231) | -$18,806 (231) |
| 2022 | 35.50 | +$43,117 (238) | +$45,854 (238) | +$56,529 (238) |
| 2023 | 20.25 | -$7,116 (248) | -$13,666 (248) | +$2,709 (248) |
| 2024 | 20.75 | -$5,497 (249) | +$5,685 (249) | -$2,847 (249) |
| 2025 | 30.00 | +$1,056 (242) | +$244 (242) | -$3,581 (242) |
| 2026 (to 25 Sep) | 35.50 | -$5,514 (176) | -$2,820 (176) | -$15,826 (176) |
Long trades made money and short trades lost in all three versions (IB-X1: +$13,503 on 874 longs, -$15,915 on 747 shorts).
08The 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 moved-entry control | 5. Positive without the 10 best trades | 6. Holdout net positive (already used) |
|---|---|---|---|---|---|---|---|
| IB-X1 | 1,621 | fail | pass | fail | fail | fail | fail |
| IB-MID | 1,621 | fail | pass | fail | fail | fail | fail |
| IB-CLOSE | 1,621 | fail | pass | fail | fail | fail | fail |
| Variant | Cause | Gates failed | Verdict |
|---|---|---|---|
| IB-X1 | Costs | 1, 3, 4, 5, 6 | Buried |
| IB-MID | Fragile | 1, 3, 4, 5, 6 | Buried |
| IB-CLOSE | Fragile | 1, 3, 4, 5, 6 | Buried |
The data-gap check removed 1 trade from each version; no verdict changed. IB-X1 is Costs (positive before costs, negative after); IB-MID and IB-CLOSE are Fragile (slightly positive, negative without their ten best trades). Together with the NQ test: one market where the initial balance breakout beat chance without passing, one where it did not beat chance at all. A convincing edge has not been demonstrated on either.
TWhat this shows, and what to take into your own tests
What the results show
- The rules that looked promising on NQ, applied unchanged to ES from 2020 to September 2026, did not hold up: -$1, +$11 and +$4 a trade for the three versions on 1,621 trades each, all three negative in the most recent period.
- The two markets gave the same signal on most days (the same direction on 87.6% of the days both traded), but on ES the break earned less before costs (+0.019 R a trade against +0.044 R on NQ) and the cost took a bigger bite of each trade.
- None of the three beat the same trades placed on random days (the best reached the 93.6th percentile; 95 is needed), and none of them stayed positive once its ten best trades were removed.
What remains unknown
- Why the Nasdaq and not the S&P. NQ moves more relative to its cost and trended harder in these years; we did not test either explanation.
- Other markets, other hours, and the filters IB traders add. We tested the same three rules as on NQ and nothing else.
- Whether the NQ result was luck. A second market that fails does not prove it; it does mean one positive market is not enough.
Why it was buried
On ES the initial balance breakout earned about 0.019 R a trade before costs, and the cost (one tick each way plus commission) was about 0.030 R, so IB-X1 finished at -$2,412. The other two stayed slightly positive only thanks to 2022 (+$56,529 for IB-CLOSE, a year the S&P fell); without their ten best trades all three are negative, and every one lost money in the holdout.
What you can apply to your own tests
- Test a promising result on a second market with the rules frozen. It is the cheapest way to find out whether you found an edge or a lucky sample.
- Do not move to the market that worked and forget the one that did not. Both results belong in the record.
- Compare the gross edge per trade with the cost per trade in the same units (R). The same break can be worth it on one contract and not on another.
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 initial balance breakout work on ES futures?
Not in our test: 1,621 trades per version from 2020 to September 2026, one contract, $30.76 a round trip. The best version made +$11 a trade, no version beat the random-entry control, and the holdout period from April 2025 ended negative for all three.
Why did the initial balance breakout work on NQ but not on ES?
The two markets broke the same way on 87.6% of the days both traded, but with the stop beyond the other side of the range the move after the break on ES was smaller relative to the risk (0.019 R a trade before costs, against 0.044 R on NQ) and the cost took about four times the share of each trade. We did not test the reasons behind that difference.
How often does ES break the initial balance?
By 13:30 New York the first break was of the high on 50.4% of sessions and of the low on 43.1%; on 6.5% price stayed inside the first-hour range.
How big is the initial balance on ES?
The median first-hour range was 18.75 points in 2021 and 35.5 in 2022; at $50 a point, a stop beyond the other side of the range risked a median of $1,238 per contract.
How was the strategy tested?
On ES futures 1-minute data from 2020 to 2026, one contract, with the rules frozen from the NQ test 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.
09Check our arithmetic
ibbes_spec.md
ibbes_lib.js · ibbes_ref.js · ibbes_selftest.js · ibbes_run.js
control_audit_lib.js · em_lib.js · gh_lib.js · hourly_lib.js · ma_lib.js · rb_lib.js · rsi2_protocol.js
ibbes_selftest_result.txt · ibbes_results.txt · ibbes_summary.json
Code provenance: our own code, written from the specification; Market Profile and the initial balance are cited for the idea only.
10Data notes
Source. NinjaTrader ES 1-minute history, back-adjusted continuous contract, on the New York clock; prices differ from a single contract month by the roll adjustments, not in the size of intraday moves. Fills: stop entries at the level, or at the minute's open if it opened beyond it; stops and targets the same way; inside a minute that reaches both, the stop is assumed first. One tick of slippage per fill is in the cost.
11Corrections
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. 22 Oct 2026, navigation: added a link to the new guide comparing versions with and without a stop loss across our tests. No result changed.
+More tests and guides
- Initial balance breakout strategy
- Vwap strategy backtest
- Noise area breakout es
- Intraday momentum strategy es
- Did the stop loss help? This test next to the other with-and-without pairs
- 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