# 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.

Canonical: https://patternsradar.com/blog/open-high-low-scan-nse

Published 2026-08-15. Related scans: https://patternsradar.com/screener/ohl-buy.md, https://patternsradar.com/screener/ohl-sell.md

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)](https://patternsradar.com/screener/ohl-buy.md)** and **[Open = High (OHL sell)](https://patternsradar.com/screener/ohl-sell.md)**. 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](https://patternsradar.com/screener/above-200-dma.md), or within a few percent of its [52-week high](https://patternsradar.com/screener/near-52-week-high.md), is the same signal in a far better neighbourhood. The [momentum scan family](https://patternsradar.com/scans/momentum.md) is the natural place to build those combinations — or open either preset and add conditions in the editor yourself.
