Previous-Day Price Levels and Your Trading Strategy: A Backtested Comparison

A 23-year backtested comparison of six previous-day price levels — yesterday's open, close, high, low, ORB high and ORB low — added as filters to the same baseline Nasdaq ORB strategy. The best filter improved Profit Factor nearly nine times more than the worst.

Many trading strategies reference yesterday's high, low, close or open as 'important' levels — but which one actually adds the most edge? This guide presents a 23-year backtested comparison of six different previous-day constructs added to the same Nasdaq ORB baseline strategy, showing exactly how much each filter improved Profit Factor and why time-of-day-matched constructs significantly outperform daily high/low/open/close filters.

Plenty of trading strategies reference previous-day price levels — yesterday's high, yesterday's low, yesterday's close. The reasoning sounds plausible: these are "important levels" where significant volume traded, where stops cluster, where institutional decisions were made. Aligning today's trades with yesterday's structure should improve the odds.

It does — usually. But which level you pick matters far more than most traders realise.

This guide presents a 23-year backtested comparison of six different previous-day constructs added to a baseline Nasdaq ORB (Opening Range Breakout) strategy. Same instrument. Same time period. Same baseline logic. The only thing that changes between tests is the previous-day filter being applied. The goal is to isolate the effect each construct has on performance.

The headline finding: every filter improved Profit Factor, but the best one improved it nearly nine times more than the worst.

The six previous-day constructs

A previous-day construct is any price level taken from yesterday's session that's measurable at the moment of today's trade decision. The six tested here cover the most commonly referenced:

  • Yesterday's open — the first traded price of yesterday's session
  • Yesterday's close — the last traded price of yesterday's session
  • Yesterday's high — the highest price reached during yesterday's session
  • Yesterday's low — the lowest price reached during yesterday's session
  • Yesterday's ORB high — the high of yesterday's first 15-minute opening range (9:30–9:45 ET)
  • Yesterday's ORB low — the low of that same window

The first four are daily-bar levels: simple to define, available on any chart. The last two are intraday levels capturing a specific window of yesterday's session.

In Pine Script, the daily values come from a single security request:

yesterdayHigh = request.security(syminfo.tickerid, "D", high[1],
                                  lookahead = barmerge.lookahead_off)

The ORB values are captured at the first bar of today's opening range, before today's values are reset:

if isFirstOrbBar
    yesterdaysOrbHigh := orbHigh[1]
    yesterdaysOrbLow  := orbLow[1]

Both approaches are simple, deterministic, and easy to add to any strategy.

The baseline strategy

The test bed is a 5-minute ORB strategy running on the NAS100 (Nasdaq 100). Long entries fire when price breaks above the high of the first 15 minutes of the New York session, provided RSI is above 75 at the moment of the breakout. Entries are restricted to the window 9:45–12:45 ET. Stop loss is half the opening range; take profit is the full opening range. Position size is fixed at $100 risk per trade.

Baseline performance across 23 years of data (2003–2026):

  • Profit Factor: 1.394
  • Total trades: 2,505
  • Win rate: 41.16%
  • Total equity (risking $100 per trade): $58,253

A quick note for readers newer to systematic trading: Profit Factor (PF) is gross winning dollars divided by gross losing dollars. A PF of 1.394 means the strategy made $1.39 for every $1.00 it lost across those 2,505 trades. It's the single most important figure when evaluating a strategy because it captures whether the strategy is profitable at scale, independent of how many trades it took or how much capital you ran.

The results

Each filter was added independently to the baseline — for a long entry to fire, today's setup had to satisfy the baseline conditions AND the additional previous-day filter being tested.

| Filter (close > yesterday's...) | Profit Factor | Trades | Win Rate | Equity | Max Drawdown | |---|---|---|---|---|---| | (none — baseline) | 1.394 | 2,505 | 41.16% | $58,253 | — | | Open | 1.421 | 1,963 | 41.62% | $48,385 | $2,132 (0.21%) | | Close | 1.405 | 2,116 | 41.35% | $50,427 | $2,947 (0.29%) | | High | 1.420 | 1,519 | 41.61% | $37,377 | $2,948 (0.29%) | | Low | 1.406 | 2,362 | 41.36% | $56,387 | $3,087 (0.31%) | | ORB High | 1.480 | 1,521 | 42.60% | $42,014 | $1,410 (0.14%) | | ORB Low | 1.491 | 1,517 | 42.78% | $42,700 | $1,309 (0.13%) |

Max Drawdown shown as worst peak-to-trough equity decline in dollars, with the same value as a percentage of the $1M test account in brackets.

Three things stand out immediately:

  • Every filter helped. All six produced a higher Profit Factor than the baseline. There is no previous-day construct in this test that made the strategy worse. Worth flagging though that yesterday's close is the marginal result of the six — its 0.79% PF lift is small enough that a few extra months of trades could erode it back to baseline. Treat it as the most fragile finding in the set.
  • The magnitude varied dramatically. Yesterday's close lifted PF by 0.79%. Yesterday's ORB low lifted it by 6.96%. The best filter was nearly nine times more impactful than the worst.
  • The ORB-based filters dominated on every dimension that matters. Both ORB filters produced PF improvements roughly 3–4x larger than the best daily H/L/O/C filter, meaningfully higher win rates, and roughly half the maximum drawdown. ORB Low cut max drawdown to $1,309 (0.13% of capital) compared with $2,132–$3,087 (0.21–0.31%) for the daily filters. For prop-firm-style evaluations — where drawdown limits matter more than profit targets — that single column is the most consequential row in the table.

Which raises the obvious question: why?

Why the ORB filters outperform

The key is time-of-day comparison. Today's ORB and yesterday's ORB are both formed in the same fifteen-minute window — 9:30 to 9:45 ET. They reflect institutional positioning at exactly the same moment of two consecutive trading days, responding to the same kind of overnight context: futures movement, European session activity, pre-market news flow, macro positioning.

Comparing today's opening range to yesterday's opening range is therefore an apples-to-apples comparison. It asks a specific question: did the same kind of decision process, run a day apart, place the market higher or lower than it was placed yesterday morning?

Yesterday's daily high, by contrast, is a single number that may have been printed at any point during yesterday's session — at 9:45 in the morning, at noon, at 3:30, or right before the close. The conditions that produced it — liquidity, news flow, macro context — may bear no resemblance to the conditions in play at today's 9:30 open.

> A general principle > > When comparing across days, the most informative levels are those formed in similar contexts. Same time of day. Same kind of liquidity. Same type of participants making decisions. Filters built on this principle tend to add real signal. Filters built on arbitrary single points add noise alongside whatever signal is in there.

Consistency: how often did each filter post a losing year?

Profit Factor measures average per-trade economics. It tells you nothing about whether the equity curve actually behaved itself — whether the strategy spent a year underwater before it eventually got back to making money.

Calendar-year P&L is a simple and surprisingly hard test of robustness. Across the 23 full calendar years in the data (2003–2025):

| Filter (close > yesterday's...) | Losing years | Worst year | |---|---|---| | Open | 1 | 2022 (-$99) | | Close | 1 | 2004 (-$565) | | High | 3 | 2005 (-$1,279) | | Low | 2 | 2007 (-$556) | | ORB High | 0 | 2004 (+$459) | | ORB Low | 1 | 2007 (-$340) |

The same ranking as the Profit Factor table holds, but more sharply. Yesterday's ORB High filter never produced a losing calendar year across more than two decades — including 2008, 2020, and 2022, three of the most regime-disrupting years on record. The other ORB filter posted exactly one small losing year ($340 of risk) and was profitable in every other year.

The daily-bar filters are not bad on this measure, but they are visibly more variable. Yesterday's High loses in three of twenty-three years; its worst year is roughly four times worse than ORB Low's worst year.

This consistency — not the headline PF lift — is what determines whether the strategy is psychologically and financially survivable through the quiet years, and whether it stays inside a prop firm's drawdown rules during the inevitable rough patches.

The quality vs quantity trade-off

Look at the results table again, but this time focus on the Equity column. The filter with the highest Profit Factor (Yesterday's ORB Low, PF 1.491) produces total equity of $42,700. The filter with a much lower Profit Factor (Yesterday's Low, PF 1.406) produces equity of $56,387 — nearly $14,000 more.

What's happening? The ORB Low filter rejects roughly 40% of the baseline's trades. Fewer trades means lower absolute profit, even when each trade is, on average, more profitable. Yesterday's Low rejects only about 6% of trades, so it keeps almost all of the baseline's profit while still nudging quality slightly higher.

This is the quality-vs-quantity trade-off every filter introduces, and it's one of the most important things to understand when designing a systematic strategy.

The right answer depends entirely on what you're optimising for:

  • Trading personal capital: absolute return is what matters most. Yesterday's Low — with its high trade count, near-baseline equity, and modest PF improvement — is harder to dismiss than its small Profit Factor lift might suggest.
  • Targeting a prop firm: consistency, drawdown, and Profit Factor matter more than total trade count. Prop firm evaluations are designed to reward the higher-PF / fewer-trades profile that the ORB filters produce.
  • Combining strategies across instruments: fewer high-quality trades from each strategy is usually preferable, because total trade count comes from the portfolio rather than from any single setup.

There is no universally correct choice. There is only the choice that fits your capital, your goals, and your appetite for variance.

Applying this to your own strategy

The numbers in this guide are specific to one strategy, one instrument, one 23-year window. They are not a recipe to copy. They are a demonstration that previous-day constructs can be measured, ranked, and chosen between with real data — rather than guessed at or assumed.

If you want to apply this to your own strategy:

  1. Test one construct at a time. Adding multiple filters simultaneously makes it impossible to attribute the impact of any single one.
  2. Use a meaningful sample size. A few months of backtest tells you almost nothing. Multiple years across different market regimes tells you something.
  3. Look at Profit Factor, win rate, and drawdown together. No single number captures strategy quality on its own.
  4. Compare against your baseline. A filter that adds complexity but doesn't materially improve performance hasn't earned its place. Complexity has a cost too.

The principle generalises across strategies and instruments. The specific best filter has to be discovered for each setup individually.

Take this further

The analysis in this guide draws on work from my book, The Anatomy of a 5-Minute ORB Trading Strategy — a 19-chapter walk-through of building a fully systematic Nasdaq ORB strategy from scratch, validated across 23 years of real market data.

The book documents every version of the strategy, every filter that worked, every filter that didn't (three full indicator categories were tested and discarded), and the complete Pine Script code at each stage. By the end of it, you'll have a complete working strategy with a 0.13% maximum drawdown over the full 23-year period — and, more importantly, the framework to build and validate your own.

If this guide has been useful, the book is where the rest of the methodology lives.

Trust no one — including me. Validate everything yourself.

— Rob