15 Aug 2026
The Open High Low (OHL) scan for NSE stocks
What the OHL condition actually measures, why open = low reads as buyer control, and how to run both sides of it across the NSE on end-of-day data, free.
Open equals low. That is the entire condition, and when it holds, something specific is true about the session: not a single trade printed below the opening price. Every seller who wanted out during the day found a buyer at or above the open. There was no dip to buy because buyers never allowed one.
The sell side mirrors it exactly. Open equals high means the first price of the morning was the best price anyone got all day, and everything after it was distribution.
No indicator, no parameter, no lookback window. Three numbers off the day's bar and an equality check. That is why OHL scans are among the most-searched screeners in India, and also why people read more into them than is there.
What the signal is about
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 condition filters for sessions where the opening conviction held across the whole six and a quarter hours.
It says nothing about why. I have seen open-equals-low days on stocks with no news at all, and days when the entire sector was bid. The bar cannot tell those apart, and neither can the scan.
The intraday version and the EOD version
The classic OHL routine is intraday: check the condition at 9:20 or 9:30 am, enter, exit by the close. At 9:20 the signal is a forecast, because the rest of the day can still violate it.
On end-of-day data it becomes a completed fact about the whole session. I think that is the better version even though it costs you the entry. You cannot act at 9:20 on an EOD scan. What you get instead is a reading that ten quiet minutes at the open cannot fake, and swing traders use it as a conviction stamp, the kind of bar that shows up at the start of moves and near the support of established trends.
The scan, in Sift
The buy side is two conditions:
where open == low and change > 1RunThe change > 1 filter matters more than it looks. A flat stock that opened at its low and closed up 0.1% qualifies on the equality, but nothing happened. Requiring a close at least 1% up keeps the list to sessions where control turned into movement.
The sell side is the mirror:
where open == high and change < -1RunBoth are prebuilt: 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 was followed by anything, which is the part every OHL tutorial skips.
What to check before trusting it
Liquidity first. In a thinly traded stock, open = low can be an accident of ten trades, which is why both presets run on the top 500 stocks by turnover.
Then 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 it. Glance at the bar anyway.
Then follow-through, measured. Run the hit-rate replay on the scan page. OHL is a short-horizon signal, so whatever edge it has shows up in the next few sessions or nowhere. The replay is close-to-close and ignores costs, so read it as a sketch.
Where it fits
An OHL buy bar 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. Open either preset, add one of those lines in the editor, and replay both versions against each other. The momentum scan family is where I go for the context conditions.