Two-hour range breakout
A slower version of the opening range breakout. Instead of the first 5 or 15 minutes, it lets NIFTY futures trade for two full hours and uses the 09:15 to 11:15 high and low as the range. A 5-minute close beyond either side triggers a trade, the opposite side of the range is the stop, and the target equals the range's width.How it trades
Results
PRE-BUILT · DEFAULTSWhere it made and lost money
In this test, trend days that closed near the high or low made ₹2,55,394 over 72 trades with an 81% win rate, while quiet sessions lost ₹1,58,030 over 94 and choppy days ₹1,08,824 over 69. A late-morning break only pays when the afternoon keeps going; on other days the price drifts back into the two-hour range and the trade ends at 15:15 with a loss, or reaches the far-side stop. Direction going in also mattered: with NIFTY below its 20-day average the strategy made ₹89,892 over 123 trades, while above it lost ₹1,01,353 over 112.
About this strategy
- Record the high and low of the near-month NIFTY future from 09:15 to 11:15.
- From 11:15, watch 5-minute bars; a bar closing above the range high signals a buy, one closing below the range low a sell.
- Enter one lot at the first tick after the signal bar; signal bars count up to 14:45.
- Set the stop at the other side of the range: the range low for a long, the range high for a short.
- Set the target one range width away from the fill price.
- Allow at most one long and one short per day, never both at once, and square off at 15:15.
Why traders use it
By late morning the opening rush, gap reactions and early stop runs are usually over, and the two-hour range reflects where the market has actually found buyers and sellers. A break of that larger range is harder to fake than a break of a 5-minute candle, and the afternoon session has room for a trend to develop. The trade-off is a wide stop, since the whole range sits between entry and exit.
The year in plain words
With default settings on NIFTY futures from 1 Oct 2025 to 30 Sep 2026, the strategy took 238 trades, won 51% of them, and lost ₹16,205 before costs (profit factor 0.97). Most trades, 176, ran to the 15:15 square-off, with only 31 hitting the target and 31 the stop; the wide range rarely left time for either. March was the standout at ₹62,444, but June to September lost every month. Costs mattered a great deal: after ₹20 per order and bid-ask slippage the loss was ₹75,159, and the drawdown before costs reached ₹1,30,090.
What the settings do
Risks
- The stop sits at the far side of a two-hour range, so a single loss can be large; the worst was ₹16,497.
- Most trades end at the time exit, so results depend on where the market happens to be at 15:15.
- A reversal after a long breakout can be followed by a short on the same day, giving two losses.
- Futures need margin and carry full exposure to fast moves.
Who it suits
Intraday futures traders who prefer to stay out of the opening and trade a single afternoon setup, with the margin and patience for wide stops and a result that swings sharply from month to month.
Questions traders ask
What is a two-hour opening range breakout?
It uses the high and low of the first two hours, 09:15 to 11:15, as the day's reference range. A close above the high is a buy signal and a close below the low a sell signal, with the opposite side of the range as the stop.
Is the two-hour ORB profitable on NIFTY?
Not in this backtest. From 1 Oct 2025 to 30 Sep 2026 on default settings it lost ₹16,205 before costs and ₹75,159 after ₹20 per order and bid-ask slippage, with statutory charges extra. One strong March did not offset losses in other months. Past results do not guarantee future ones.
Why is the stop at the other side of the range?
If the price breaks one side and then travels all the way to the other, the breakout has clearly failed. Using the opposite side gives the trade room through normal pullbacks, but it makes each loss as large as the whole range.
Can it trade BANKNIFTY futures?
Yes. Change the symbol to BANKNIFTY, whose futures still list monthly. A points-based target set for one index will not suit another, so the width-based target is the more portable choice.