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

Dual Thrust breakout

Dual Thrust is a classic intraday breakout system that sets its trigger levels from the day's open and the recent price range. It measures how far NIFTY has typically swung over the last five sessions, places a buy level and a sell level half that distance above and below today's open, and trades NIFTY futures in the direction of the first break. Every position is closed by 15:15.
Buys or sells NIFTY futures when price moves half of the recent five-day range away from today's open, and closes the position by 15:15.
Market viewEither direction (follows the move)
TradesNIFTY near-month futures, 1 lot
RiskOpen-ended (loss not capped by the structure)
CapitalFutures margin
SuitsIntermediate
Trades a month3.4
Typical hold2.3 hours
Profitable months6 of 12
Longest losing run3 trades
Made money inTrend days that close near the high or lowIndia VIX between 11.5 and 14.5Flat openings
Lost money inChoppy, wide-range sessionsIndia VIX above 14.5
Default settings
Symbol
N days
K1
K2
Exit time
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
first tick beyond open +/- 0.5 x five-day range
Legs
BUY FUT · near month · Current month · 1 lotSELL FUT · near month · Current month · 1 lot
Exits
signal opposite level hit: reverse oncetime 15:15
Re-entry
One reversal a day only
Range
over the previous N_DAYS completed sessions (daily futures bars, exchange OHLC): HH = highest high, LC = lowest close, HC = highest close, LL = lowest low, range = max(HH - LC, HC - LL).
Levels
upper = today's open + K1 x range, lower = today's open - K2 x range (today's open = the exchange session open carried in bt.history("fut").extra["day_open"]).
Trade
first futures tick above upper -> buy LOTS; below lower -> sell LOTS (filled at that tick). If the opposite level then trades, reverse at that tick - once: one entry per side per day, so after the reversal the position rides to the square-off.
Exit
EXIT_TIME square-off.
2

Results

PRE-BUILT · DEFAULTS
NIFTY · 2025-10-01 → 2026-09-30 · 41 trades · before costs
Net P&L+₹29,886
Win rate51%
Max drawdown−₹32,097
Avg per trade+₹729
Profit factor1.42
Worst trade−₹10,069
3

Where it made and lost money

Because every trade is held to 15:15 with no stop, the result is simply how far the day travelled after the break. Trend days that closed near their high or low made ₹79,451 over 31 trades with a 68% win rate. The six choppy days, wide ranges that closed mid-range, lost ₹39,995 between them and none won: price broke a level and then swung all the way back. Volatility going in also mattered. Entries after an India VIX close between 11.5 and 14.5 made ₹47,586 over 18 trades, while 11 after VIX above 14.5 lost ₹17,758, as nervous sessions broke the levels on noise and reversed.

India VIX the evening before
VIX below 11.5 (calm)+₹5812 trades42% won
VIX 11.5-14.5 (normal)+₹47,58618 trades61% won
VIX above 14.5 (nervous)−₹17,75811 trades45% won
Session direction on the entry day
NIFTY closed above its open−₹13,75915 trades47% won
NIFTY closed below its open+₹43,64526 trades54% won
Expiry day (NIFTY weekly)
Expiry day+₹8469 trades44% won
Other days+₹29,04032 trades53% won
Trend going in
Uptrend (NIFTY above its 20-day average)+₹5,77719 trades47% won
Downtrend (NIFTY below its 20-day average)+₹24,10922 trades55% won
Day of the week
Monday+₹2,9856 trades50% won
Tuesday+₹10,3958 trades50% won
Wednesday−₹5,40211 trades36% won
Thursday+₹4,5137 trades57% won
Friday+₹1,8338 trades62% won
Kind of session on the entry day
Quiet session (range under 0.75%)−₹9,5714 trades0% won
Trend day (closed near the high or low)+₹79,45131 trades68% won
Choppy day (wide range, closed mid-range)−₹39,9956 trades0% won
How the entry day opened
Gap up of 0.4% or more−₹8,0766 trades33% won
Flat open+₹49,21328 trades57% won
Gap down of 0.4% or more−₹11,2527 trades43% won
The same trades, split by the market conditions around each entry, before costs.
4

About this strategy

  1. Over the last five completed sessions, take the highest high, lowest low, highest close and lowest close of the NIFTY future.
  2. Set the range as the larger of (highest high minus lowest close) and (highest close minus lowest low).
  3. Place the buy level at today's open plus half the range and the sell level at the open minus half the range.
  4. Buy one lot of the future when it first trades above the buy level, or sell one lot when it first trades below the sell level.
  5. If the opposite level is later hit, reverse the position once; after that it rides to the close.
  6. Square off at 15:15.

Why traders use it

Anchoring the levels to the day's open and a multi-day range makes them adapt to volatility: wide in busy weeks, tight in quiet ones. The range formula looks at both closes and extremes, so a single spike does not distort it. Price must travel a meaningful distance from the open before a trade is taken, which filters out much of the opening noise. The rules are short and mechanical, so the system is easy to automate.

Works best whenTrend days that open quietly and then move steadily in one direction, especially with India VIX in a normal range; those days produced most of the profit in the backtest.
Struggles whenWide-ranging choppy days that break a level and then swing back to close mid-range, and nervous high-VIX sessions with large gaps, where the levels are broken on noise.

The year in plain words

On NIFTY futures from 1 Oct 2025 to 30 Sep 2026 the levels were broken on 41 days, about three a month. The strategy made ₹29,886 before costs with a 51% win rate and a profit factor of 1.42, and ₹23,169 after ₹20 per order and bid-ask slippage. No trade needed the reversal; all 41 were held to 15:15. Results split sharply by day type: trend days that closed near their high or low made about ₹79,450 across 31 trades, while six choppy days lost nearly ₹40,000. January and February 2026 together made over ₹31,700, and March lost ₹13,774.

What the settings do

N daysHow many past sessions define the range. More days give a steadier, usually wider range and fewer trades.K1The fraction of the range added to the open for the buy level. A smaller value triggers longs sooner and more often.K2The fraction of the range subtracted from the open for the sell level. Setting it differently from K1 tilts the system towards one side.Exit timeWhen any open position is closed for the day.

Risks

  • A full futures lot is held through the day without a stop beyond the single reversal, so a reversal against the trade is taken in full.
  • The worst trade lost about ₹10,000, and the maximum drawdown before costs was about ₹32,100.
  • With only around 40 trades a year, a few bad days can dominate a quarter.
  • Breakouts are filled at the breaking tick in the backtest; live fills in fast markets can be worse.

Who it suits

Intraday futures traders who want a volatility-adjusted breakout system with few trades, have the margin for a NIFTY lot and can tolerate holding a position all afternoon without a tight stop.

5

Questions traders ask

What is the Dual Thrust strategy?

It is an intraday breakout system. It builds a range from the last few days' highs, lows and closes, adds a fraction of it to today's open for a buy trigger and subtracts a fraction for a sell trigger, then trades the first break and closes at the end of the day.

Is Dual Thrust profitable on NIFTY?

In this backtest from 1 Oct 2025 to 30 Sep 2026 it made ₹29,886 before costs and ₹23,169 after ₹20 per order and bid-ask slippage on NIFTY futures, over 41 trades. Statutory charges were not included. Profits came mostly from trend days, and past results do not guarantee future ones.

How is this version different from the original?

The original was designed for a currency pair with a different session. Here it uses the NSE open and a 15:15 square-off, and the range uses only sessions completed before today, so the levels never include information that was not yet available.

What do K1 and K2 do?

They set how far from the open the buy and sell levels sit, as fractions of the range. Equal values make the system symmetric; a lower K1 makes long trades easier to trigger, which suits a market with an upward bias.

6

Before you rely on it

ADAPTED FOR TODAY'S NSE RULESSource is GBPUSD with a 03:00 reference price and a 12:00 exit; mapped to the NSE 09:15 open and a 15:15 square-off (spec). K1 = K2 = 0.5 (source k1 = 0.5, k2 = 1 - k1). NIFTY futures, sized in lots.
WATCH OUTno costs in the reference; a single FX pair. Gross of costs.
WHERE THE RULES WERE UNCLEAR · OUR CHOICESThe source's rolling window includes the CURRENT day's high/low/close; here the range uses only sessions completed before today (bars before `day`), and the open is the day's actual open known at 09:15.
Also known asdual thrustDual Thrust: open +/- k x max(HH-LC, HC-LL) over N days, stop-and-reverse, flat at day end
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.