15 Aug 2026

The Open High Low (OHL) scan for NSE stocks

What the OHL strategy actually measures, why open = low is a buy signal, and how to run both sides of it across the NSE — free, on end-of-day data.

The Open High Low strategy is one of the few intraday setups simple enough to state in one sentence: if a stock's open is also its low, buyers were in control from the first print; if its open is also its high, sellers were. No indicator, no parameter, no lookback window — just three numbers from the day's bar and an equality check.

That simplicity is why OHL scans are among the most-searched screeners in India. It is also why they are widely misunderstood. This guide covers what the signal actually measures, both sides of it, and how to run it as a scan you can test.

What "open = low" actually means

Every trade of a session happens somewhere between the day's high and its low. When the low is the open, something specific is true: not a single trade printed below the opening price. Every seller who wanted out during the session found a buyer at or above the open. There was no dip to buy because buyers never allowed one.

That is a statement about control, not about news. A stock can gap up on results and then fade all day — that gap-up will not appear on an OHL buy scan, because the fade took price below the open. The OHL condition filters for sessions where the opening conviction held.

The sell side mirrors it exactly. Open = high means the first price of the morning was the best price anyone got all day; everything after was distribution.

The intraday version and the EOD version

The classic OHL strategy is an intraday routine: check the condition at 9:20–9:30 am, enter, exit by close. At 9:20 the signal is a forecast — the day may still violate it.

On end-of-day data the meaning changes, and arguably improves. By the close, open = low is not a forecast but a completed fact about the whole session: six and a quarter hours of trading in which sellers never once pushed price below the open. Swing traders read it as a conviction stamp — the kind of bar that appears at the start of moves and near the support of established trends.

The trade-off is honest: you cannot enter at 9:20 on an EOD scan. What you get instead is a signal that cannot be faked by ten quiet minutes at the open.

The scan, in Sift

The buy side is two conditions:

where open == low and change > 1

The change > 1 filter matters more than it looks. A flat stock that opened at its low and closed up 0.1% technically qualifies, but nothing happened — the equality is only interesting when the session that never dipped also went somewhere. Requiring a close at least 1% up keeps the list to sessions where control translated into movement.

The sell side is the mirror:

where open == high and change < -1

Both are prebuilt here, running live on today's close: Open = Low (OHL buy) and Open = High (OHL sell). Each page shows the current matches and lets you replay the scan against the past year of sessions to see how often the signal followed through — which is the part every OHL tutorial skips.

What to check before trusting it

Three things separate a usable OHL signal from noise:

  1. Liquidity. In a thinly traded stock, open = low can be an accident of ten trades. Both preset scans run on the top 500 stocks by turnover for this reason.
  2. The size of the day. An OHL bar with a 4% range is a different animal from one with a 0.5% range. The change filter handles the worst of this, but glance at the bar.
  3. Follow-through, measured. Run the hit-rate replay on the scan page. OHL is a short-horizon signal; its edge, where it exists, shows up in the next few sessions or not at all.

Where it fits

OHL is a session-conviction filter, and it combines well with slower context: an OHL buy bar appearing in a stock that is also above a rising 200-day average, or within a few percent of its 52-week high, is the same signal in a far better neighbourhood. The momentum scan family is the natural place to build those combinations — or open either preset and add conditions in the editor yourself.