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

9 EMA VWAP cross

The 9 EMA VWAP crossover is a common intraday setup: when a fast moving average crosses the day's volume-weighted average price, momentum is taken to have shifted. This version trades NIFTY futures on 5-minute bars and adds two filters, the 21 EMA must point the same way and VWAP itself must not be flat, then uses an ATR-based stop with a target at twice the risk.
Trades NIFTY futures when the 9 EMA crosses the session VWAP on 5-minute bars, if the 21 EMA agrees and VWAP is sloping, with an ATR stop and 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 month11.4
Typical hold1.2 hours
Profitable months7 of 12
Longest losing run8 trades
Made money inTrend days (+₹1,37,406 over 43 trades)Sessions that closed below their openAfter VIX below 11.5
Lost money inQuiet sessions (−₹66,209 over 48 trades)After VIX between 11.5 and 14.5Weekly expiry days
Default settings
Symbol
Bar minutes
Fast
Slow
Slope bars
VWAP flat %
ATR period
ATR mult
Rr
Entry from
Last entry
Square off
Lots
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
Next tick after a 5-minute 9 EMA cross of VWAP with the 21 EMA and a sloping VWAP, 09:30-14:45
Legs
BUY FUT · near month · Near month · 1 lotSELL FUT · near month · Near month · 1 lot
Exits
stop 1.5 x the 14-bar ATRtarget 2 x the stop distancetime 15:15
Re-entry
Only on a new cross after the previous trade has closed
Bars
BAR_MINUTES bars of the near-month future, anchored at 09:15. EMA(FAST) and EMA(SLOW) of the closes run across sessions; the VWAP is the session VWAP of the future (traded quantity weighted), read at each bar's last tick.
Slope
VWAP slope = change of the VWAP over the last SLOPE_BARS bars, in % of its value then; "flat" when its size is below VWAP_FLAT_PCT.
Entry
long - EMA(FAST) crosses above the VWAP at a bar close (at or below it the bar before), EMA(FAST) is above EMA(SLOW) and the VWAP is not flat. Short - the mirror. Signal bars closing ENTRY_FROM .. LAST_ENTRY; LOTS filled at the first tick after the signal bar, one trade at a time.
Stop
ATR_MULT x ATR(ATR_PERIOD) of the signal bar from the fill (Wilder ATR on the same bars).
Target
RR x the stop distance.
Exit
stop, target or SQUARE_OFF.
Re-entry
only on a new cross, after the previous trade has closed.
2

Results

PRE-BUILT · DEFAULTS
NIFTY · 2025-10-01 → 2026-09-30 · 137 trades · before costs
Net P&L+₹66,481
Win rate40%
Max drawdown−₹46,358
Avg per trade+₹485
Profit factor1.27
Worst trade−₹5,297
3

Where it made and lost money

The result came almost entirely from trend days. Sessions that closed near their high or low made ₹1,37,406 over 43 trades with a 67% win rate, because a cross of VWAP early in a trending day keeps running to the 2R target. Quiet sessions with a range under 0.75% lost ₹66,209 over 48 trades and won only 19%: the 9 EMA drifts back and forth across a nearly flat VWAP and each cross runs into the 1.5-ATR stop. Down days made ₹75,097 over 76 trades, showing the short side did well. Calm evenings with VIX below 11.5 came before ₹34,842 over 33 trades.

Kind of session on the entry day
Quiet session (range under 0.75%)−₹66,20948 trades19% won
Trend day (closed near the high or low)+₹1,37,40643 trades67% won
Choppy day (wide range, closed mid-range)−₹4,71646 trades37% won
Session direction on the entry day
NIFTY closed above its open−₹8,61661 trades33% won
NIFTY closed below its open+₹75,09776 trades46% won
Expiry day (NIFTY weekly)
Expiry day−₹1,67632 trades34% won
Other days+₹68,157105 trades42% won
How the entry day opened
Gap up of 0.4% or more+₹4,62814 trades43% won
Flat open+₹56,906101 trades41% won
Gap down of 0.4% or more+₹4,94722 trades36% won
Day of the week
Monday+₹17,57725 trades40% won
Tuesday−₹6,68830 trades33% won
Wednesday+₹21,87221 trades48% won
Thursday−₹4,81025 trades36% won
Friday+₹42,29335 trades46% won
India VIX the evening before
VIX below 11.5 (calm)+₹34,84233 trades52% won
VIX 11.5-14.5 (normal)−₹7,47258 trades31% won
VIX above 14.5 (nervous)+₹39,11046 trades43% won
Trend going in
Uptrend (NIFTY above its 20-day average)+₹25,81462 trades42% won
Downtrend (NIFTY below its 20-day average)+₹40,66675 trades39% won
The same trades, split by the market conditions around each entry, before costs.
4

About this strategy

  1. Build 5-minute bars of the near-month NIFTY future with a 9 EMA and 21 EMA, and track the session VWAP; the EMAs restart on each new contract.
  2. Long signal: the 9 EMA crosses above VWAP at a bar close, the 9 EMA is above the 21 EMA, and VWAP has moved at least 0.01% over the last 3 bars. A short signal is the mirror.
  3. Take signals from bars closing between 09:30 and 14:45, one trade at a time.
  4. Buy or sell one lot at the first tick after the signal bar.
  5. Stop 1.5 times the 14-bar ATR away; target twice that distance.
  6. Exit on the stop, the target or at 15:15; a new trade needs a fresh cross.

Why traders use it

VWAP is where the day's average participant stands, and the 9 EMA is a quick read of recent momentum, so a cross marks the moment short-term buying or selling overtakes the day's average. The 21 EMA filter keeps trades with the slightly bigger trend, and the slope filter skips the flat, directionless VWAP of quiet days. An ATR stop scales with volatility, and a 2-to-1 target means a win rate of about 34% is enough to break even before costs.

Works best whenTrend days that close near their high or low, which made ₹1,37,406 over 43 trades in this test, especially down days and sessions after a calm VIX evening below 11.5.
Struggles whenQuiet sessions with a range under 0.75%, which lost ₹66,209 over 48 trades, as the 9 EMA kept crossing a nearly flat VWAP. Weekly expiry days and evenings with VIX between 11.5 and 14.5 were also weak.

The year in plain words

On NIFTY from 1 Oct 2025 to 30 Sep 2026 the strategy took 137 trades, about 11 a month, and won 40%: 49 reached the 2R target, 79 hit the ATR stop and 9 were closed at 15:15. With wins almost twice the size of losses, net P&L was ₹66,481 before costs, a profit factor of 1.27, and ₹34,403 after ₹20 per order and slippage. March made ₹48,106 and October ₹24,609, while May lost ₹15,333. Costs took about half the profit, and the gains depended on trend days.

What the settings do

Bar minutesThe bar length. Longer bars give fewer, slower crosses.FastThe EMA length that must cross VWAP. A shorter EMA crosses more often.SlowThe trend EMA the fast EMA must be on the right side of.Slope barsHow many bars back the VWAP slope is measured.VWAP flat %The smallest VWAP change, in percent over the slope window, that counts as not flat. Raising it skips more quiet sessions.ATR periodThe ATR length used for the stop.ATR multThe stop distance in ATRs. A wider stop survives more noise but loses more per stop.RrThe target as a multiple of the stop distance.Entry fromThe earliest signal-bar close that can trigger a trade.Last entryThe latest signal-bar close that can trigger a trade.Square offWhen any trade still open is closed.

Risks

  • Most of the profit came from trend days; a year with fewer of them could easily lose.
  • The slope filter does not stop all quiet-day crosses, and those mostly hit the stop.
  • Costs on each round trip took about half of the before-costs profit here.
  • Losing runs of 8 trades in a row occurred, which tests discipline.

Who it suits

Intraday futures traders familiar with VWAP and EMAs who can monitor or automate 5-minute signals, have margin for a NIFTY lot, and accept a 40% win rate with larger winners.

5

Questions traders ask

What is the 9 EMA VWAP crossover strategy?

It buys when the 9-period EMA crosses above the session VWAP and sells when it crosses below. The cross is read as short-term momentum moving above or below the day's average price. This version adds a 21 EMA trend filter and a VWAP slope filter.

Is the 9 EMA VWAP strategy profitable on NIFTY?

In this backtest from 1 Oct 2025 to 30 Sep 2026 it made ₹66,481 before costs and ₹34,403 after ₹20 per order and bid-ask slippage, with a ₹46,358 drawdown before costs. Statutory charges are not included. Past results do not guarantee future ones.

Why check the VWAP slope?

On quiet days VWAP is nearly flat and the fast EMA crosses it repeatedly without any real move. Requiring VWAP to be sloping filters out some of those days. In this test quiet sessions were still the main source of losses.

Why is VWAP taken from futures and not the index?

VWAP needs traded volume, and the NIFTY index itself has none. The near-month future trades heavily and tracks the index closely, so its session VWAP is used.

6

Before you rely on it

WHERE THE RULES WERE UNCLEAR · OUR CHOICESTimeframe 5 minutes (sources: 5-15); slope over 3 bars and the 15:15 square-off are ours (spec interpretation). VWAP needs volume, so it is the future's VWAP, not the index's. The merged options variant (buy a 1-strike ITM call / put, 8% premium target, stop-and-reverse) is not built here - this file trades the future. Rolled series: the EMAs restart on each new futures contract (no signal until EMA(SLOW) has SLOW bars of the new contract), so the roll jump is never read as a cross. signals at the bar close, fills at the next tick; stop and target are checked tick by tick. Gross of costs.
Also known as9 EMA VWAPEMA VWAP crossover9EMA x VWAP crossover on NIFTY, buy 1-strike ITM CE/PE, 8% premium target, flip on opposite crossema 9 vwap itm option signals
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.