QuantsappFaster in the app: live data, alerts, tradingOpen
Log inStart free
Open Backtesting →
Futures · technicalIntradayNIFTYlow complexity

30-min ORB with VWAP filter

A filtered version of the opening range breakout on NIFTY futures. It uses the 09:15 to 09:45 range, skips days when that range is narrower than 40 points, and only acts on a 5-minute close beyond the range that is also on the right side of the session VWAP. The stop sits at the other side of the range and the target is twice the risk.
Trades a 5-minute close beyond the 30-minute opening range of NIFTY futures, only on wide-range days and when the close agrees with VWAP, with a 2R target.
Market viewEither direction (follows the move)
TradesNIFTY near-month futures, 1 lot
RiskOpen-ended (loss not capped by the structure)
CapitalFutures margin
SuitsBeginner
Trades a month19.3
Typical hold4.0 hours
Profitable months5 of 12
Longest losing run8 trades
Made money inTrend days that close near the high or lowEvenings with India VIX below 11.5
Lost money inChoppy wide-range days that close mid-rangeQuiet sessions under 0.75% rangeEvenings with India VIX above 14.5
Default settings
Symbol
Or end
Min or width points
Bar minutes
Entry cutoff
Square off
Stop at
Target r
Lots
Capital
Risk %
Backtest this strategy →Change any setting, pick your own period and run it in the Quantsapp web app. Backtesting is part of the Max plan. Pro+ members can use it now as a free trial.
1

How it trades

What it trades
Universe
NIFTY Intraday · 1 Oct 25 → 30 Sep 26
Enters
First tick after a 5-minute close beyond the 09:15-09:45 range on VWAP's side, until 13:30
Legs
BUY FUT · Near month (close above range high and VWAP) · Near-month future · 1 lotSELL FUT · Near month (close below range low and VWAP) · Near-month future · 1 lot
Exits
stop The opposite side of the 30-minute rangetarget Twice the entry-to-stop distancetime Square off at 14:30
Re-entry
None - one trade a day
Range
the exchange high / low of the near-month future from the open to OR_END. The day is skipped when the range is narrower than MIN_OR_WIDTH_PTS points.
Entry
BAR_MINUTES bars from OR_END. A bar closing above the range high AND above the session VWAP buys LOTS; a bar closing below the range low AND below the VWAP sells - at the first tick after that bar closes. Signal bars must close by ENTRY_CUTOFF. One trade a day, no re-entry.
Stop
STOP_AT "opposite" = the other side of the range, "mid" = the middle of the range (at the level).
Exit
TARGET_R x the entry-to-stop distance as a target (at the level); anything open at SQUARE_OFF is closed.
Size
LOTS. With CAPITAL > 0 the size is instead floor(CAPITAL x RISK_PCT % / (stop distance x lot size)) lots, at least 1 - the source's "1% of capital at risk" rule.
2

Results

PRE-BUILT · DEFAULTS
NIFTY · 2025-10-01 → 2026-09-30 · 232 trades · before costs
Net P&L−₹62,296
Win rate50%
Max drawdown−₹1,81,655
Avg per trade−₹269
Profit factor0.9
Worst trade−₹14,580
3

Where it made and lost money

In this test, trend days that closed near the high or low made ₹2,37,587 over 65 trades with a 75% win rate. Every other kind of day lost: choppy wide-range days ₹1,49,142 over 65 trades and quiet sessions ₹1,40,420 over 100. The minimum range width and the VWAP filter did not separate real breakouts from false ones, so on two-way days the break failed and the trade either drifted to the 14:30 square-off or fell back to the far side of the range. Unusually, calm evenings with India VIX below 11.5 were best, making ₹51,957 over 60 trades, while VIX above 14.5 lost ₹67,301 over 66.

Kind of session on the entry day
Quiet session (range under 0.75%)−₹1,40,420100 trades42% won
Trend day (closed near the high or low)+₹2,37,58765 trades75% won
Choppy day (wide range, closed mid-range)−₹1,49,14265 trades40% won
India VIX the evening before
VIX below 11.5 (calm)+₹51,95760 trades62% won
VIX 11.5-14.5 (normal)−₹36,631104 trades48% won
VIX above 14.5 (nervous)−₹67,30166 trades45% won
Expiry day (NIFTY weekly)
Expiry day+₹23,63447 trades55% won
Other days−₹75,609183 trades50% won
Session direction on the entry day
NIFTY closed above its open−₹57,473114 trades50% won
NIFTY closed below its open+₹5,498116 trades52% won
Trend going in
Uptrend (NIFTY above its 20-day average)+₹2,750114 trades51% won
Downtrend (NIFTY below its 20-day average)−₹54,725116 trades51% won
Day of the week
Monday−₹39,78147 trades47% won
Tuesday+₹8,56143 trades53% won
Wednesday−₹6,32449 trades57% won
Thursday−₹14,68245 trades49% won
Friday+₹6,42645 trades49% won
How the entry day opened
Gap up of 0.4% or more−₹34,37936 trades53% won
Flat open−₹16,790155 trades50% won
Gap down of 0.4% or more−₹80639 trades54% won
The same trades, split by the market conditions around each entry, before costs.
4

About this strategy

  1. Record the high and low of the near-month NIFTY future from 09:15 to 09:45; skip the day if the range is under 40 points.
  2. From 09:45, check each 5-minute close: above the range high and above VWAP is a buy signal; below the range low and below VWAP is a sell signal.
  3. Enter one lot at the first tick after the signal bar; signals must come by 13:30, and only one trade a day.
  4. Place the stop at the other side of the range (or at its middle if set).
  5. Set the target at twice the distance from entry to stop.
  6. Square off anything still open at 14:30.
  7. Optionally size by capital: lots chosen so that one stop-out risks a set percentage of capital.

Why traders use it

A plain opening range breakout fires on many days that go nowhere. The two filters try to fix that: a minimum width avoids days when the range is so tight that any wiggle breaks it, and requiring the close to be on the same side of VWAP asks for the day's volume-weighted price to agree with the break. A 2R target and a stop at the range's far side give a fixed reward-to-risk on every trade.

Works best whenIn this test, trend days that closed near their high or low, and calm evenings with India VIX below 11.5, when a confirmed break of the 30-minute range carried on into the afternoon.
Struggles whenChoppy wide-range days and quiet sessions, where the break fails and the trade drifts to 14:30 or back to the far side of the range, and nervous periods with VIX above 14.5, which lost most.

The year in plain words

With default settings on NIFTY futures from 1 Oct 2025 to 30 Sep 2026, the filtered breakout traded 232 days and won 50%, losing ₹62,296 before costs (profit factor 0.90). Losses averaged ₹5,280, more than the ₹4,658 average win. Only 15 trades reached the 2R target and 66 hit the stop; 151 were closed at 14:30. October made ₹57,430, but May lost ₹46,130 and four other months lost over ₹26,000 each. After ₹20 per order and bid-ask slippage the loss reached ₹1,29,827, with a before-costs drawdown of ₹1,81,655.

What the settings do

Or endWhen the opening range closes. A longer range gives fewer breakouts and wider stops.Min or width pointsThe narrowest range, in points, that is traded. A fixed value suits one index level, so scale it if NIFTY moves far from where it was set.Bar minutesThe bar length whose close must break the range and agree with VWAP.Entry cutoffSignal bars must close by this time; later breaks are ignored.Square offWhen an open trade is closed. Most default trades ended here.Stop atOpposite puts the stop at the other side of the range; mid puts it at the range's middle, halving the risk and the target.Target rThe target as a multiple of the entry-to-stop distance. Lower values are reached more often.CapitalZero uses the fixed lots. A rupee amount switches to risk-based sizing, choosing lots from the stop distance.Risk %With risk-based sizing, the percentage of capital lost if the stop is hit.

Risks

  • The stop is the full width of a range at least 40 points wide, so single losses can be large; the worst was ₹14,580.
  • Most trades end at the 14:30 square-off, so the 2R target rarely decides the outcome.
  • A fixed 40-point width filter means different things at different index levels.
  • Futures need margin and carry full exposure to sudden moves.

Who it suits

Intraday futures traders who like the opening range breakout and want to test whether simple filters improve it. The default version lost money, so it fits those who will experiment with the settings rather than trade it unchanged.

5

Questions traders ask

What is a 30-minute opening range breakout?

It marks the high and low of the first 30 minutes, 09:15 to 09:45, and trades a break of either side. This version also requires the range to be at least 40 points wide and the breakout close to be on the same side of VWAP.

Is the 30-minute ORB with VWAP filter profitable?

Not in this backtest. On NIFTY futures from 1 Oct 2025 to 30 Sep 2026 it lost ₹62,296 before costs and ₹1,29,827 after ₹20 per order and bid-ask slippage, with statutory charges extra. Past results do not guarantee future ones.

Why skip narrow opening ranges?

When the first 30 minutes barely move, almost any later wiggle breaks the range, giving false signals. Requiring a width of 40 points is meant to trade only days with real early activity, though in this test it did not prevent losses.

How does risk-based sizing work?

Set “Capital” to a rupee amount and the strategy picks the number of lots so that a stop-out loses about “Risk %” of it, at least one lot. Wide ranges then trade fewer lots and narrow ones more.

6

Before you rely on it

WATCH OUTa single-source README strategy with no published results; 40 points is a fixed width while NIFTY's level moves - scale MIN_OR_WIDTH_PTS when the index is far from ~24,000. Gross of costs.
WHERE THE RULES WERE UNCLEAR · OUR CHOICES- The README gives neither a stop nor a target: the stop at the other side of the range (or its middle) and the 2R target are the spec's interpretation. - "Bar close" has no bar size in the source: BAR_MINUTES = 5 is ours. - VWAP is the session VWAP of the near-month future from its own traded volume (computed per session from the ticks); the source does not say whether it means the index or the future.
Also known as30 min ORBvolatility filtered ORB
Backtests run on historical NSE data with fills at the last traded price. "Before costs" excludes brokerage, taxes and slippage. Quantsapp is not recommending any strategy; it is just a backtesting utility. Past results are not a promise of future returns.

Log in or sign up

Enter your mobile number. New to Quantsapp? The same OTP creates your free account.

+91

By continuing you agree to the Terms of Use and Privacy Policy.