TradePickerNifty · Bank Nifty · Sensex · Bitcoin

What it measured

The rule set on this site has been backtested, and the result is on its own page in the main navigation, with what it rests on and what it cannot show, rather than in small type at the bottom of another one.

A modelled result after costs — positive across all three indices in both periods.

The rules the tool runs today were replayed across three years of 15-minute candles and every trade was priced as the option you would have bought, with Zerodha’s charges and slippage taken off. Across all three indices they came out positive after costs in the first two years and positive again in the held-out final year: Nifty, Bank Nifty and Sensex all made money in both periods — Bank Nifty only since a stop that tightens to breakeven on a stalled trade was added 29 Sep 2026; before that it had been losing money in the held-out year since its weekly expiry ended. Read the next section before reading anything into that.

6,012
trades on the current rules over three years
PF 1.29
profit factor in the held-out year, after costs: positive
₹1.30 lakh
worst drawdown per lot in that year
modelled
option prices, not real fills - unproven

Why it is not proven

  • The option prices are modelled. Each trade is priced with Black-Scholes from India VIX, not from recorded option quotes, and volatility is held constant through the trade. Real fills, a widening spread and implied volatility falling after you buy all make real results worse.
  • Expiry days still do disproportionately well. Across the three indices, trades on a contract’s own expiry day made ₹1,89,695 per lot in the held-out year (360 trades, profit factor 1.77); every other day together made ₹2,62,601 (2,025 trades, 1.20) — both positive since the breakeven-on-a-stall exit was added 29 Sep 2026, but expiry day still earns roughly four times as much per trade. Expiry day is exactly where a constant-volatility model is least trustworthy.
  • The held-out year is no longer clean. Several of today’s rules were chosen after the held-out year had been looked at — the reward-to-risk floor on 11 Sep 2026, and on 15 Sep 2026 dropping the opening-range break, trading Bank Nifty again and skipping entries into an RSI divergence, on 16 Sep giving a trend day more room to run and dropping the opening-range wait, on 17 Sep a faster trend measure, on 27 Sep an early exit on a sustained reversal, and on 29 Sep a stop that tightens to breakeven on a stalled trade. A test you have used to choose rules is no longer an independent test of them.
  • The drawdowns are large. The worst run in the held-out year was ₹1,29,881 per lot, with the three indices’ trades taken in the order they happened. An account sized so that a drawdown like that is survivable is the only kind this should be run with.
  • There is no long live record. The trades this server has logged are a sample of weeks, not years.
  • One input was measured inside the held-out year. The VWAP vote weights each quarter-hour by how much the index futures usually trade then, measured from July to September 2026. With equal weights instead — no measurement at all — the held-out year made ₹14,044 less and the first two years ₹22,387 less, measured before the trend-day rule. Every other input the backtest decides with was checked, candle by candle, to be known at the moment of entry.

The two measurements

The current rules, priced as options

Per lot, after Zerodha’s charges and 0.25% slippage a side, on the contract the tool would have suggested with the exchange’s real expiry dates. All three indices are traded: Nifty, Bank Nifty and Sensex.

TradesTotal per lotPer tradeProfit factorWorst drawdown
First two years (to 15 Aug 2025)3,627+₹12,30,015+₹3391.48₹83,630
Held-out year (15 Aug 2025 to 11 Sep 2026)2,385+₹4,52,296+₹1901.29₹1,29,881

A profit factor of 1.29 means about ₹1.29 won for every ₹1 lost. A modest increase in real costs over the modelled ones would still take a real bite out of it.

By index

First two yearsPFHeld-out yearPF
Nifty+₹4,24,3371.58+₹1,43,0941.28
Bank Nifty+₹3,76,6141.37+₹1,25,3231.21
Sensex+₹4,29,0641.53+₹1,83,8791.38

Bank Nifty lost money under these rules, in the held-out year, every time this was measured before 29 Sep 2026 — since its weekly expiry ended in November 2024, every earlier version of the rules lost money on it in that year. It is traded because that was chosen on 15 Sep 2026, before the test supported it; the breakeven-on-a-stall exit is the first change that makes the test agree.

The raw signal, in index points

Every signal the engine produced on all three indices, before the reward floor, measured in index points against the stop and before any cost.

SignalsReached T1Reached T2Reached T3Stopped outAverage
Nifty2,18534%17%10%31%+0.078R
Bank Nifty2,19133%17%10%30%+0.020R
Sensex2,19431%17%10%32%+0.056R

About +0.05R a trade before costs across the three: the signal on its own is close to nothing. What the options test measures is that signal with its filters, its exit at T2 and the leverage of an option on the moves that do come — which is why the two can differ, and why the options result depends so heavily on its pricing assumptions.

What was tested and dropped

  • Buy today, sell tomorrow. Buying an option into the close and selling it at the next morning’s open lost money on all three indices in both periods — about ₹700 to ₹900 a trade per lot in the last year, mostly time decay and charges. Of 30 setup, side and index combinations, three passed both periods, about what chance produces across 30 tries. It is not offered; an open ticket in the last hour instead shows what holding it overnight would cost.
  • Other ideas, each pre-declared and tested the same way: skipping expiry day, skipping days when VIX is above 20, skipping big opening gaps, rolling to the next expiry on expiry day, a two-hour time stop, taking half at T1, and moving the stop to breakeven after T1. None improved both periods, so none is used.
  • Two more indicators, at their standard settings: not buying once price has closed beyond its Bollinger Band (20, 2), and not buying when the Stochastic (14, 3) is already above 80 for a call or below 20 for a put. The Bollinger filter made more in the held-out year and cut the drawdown, but made ₹64,909 less in the first two years; the Stochastic filter made far less in both. Neither beat the current rules in both periods, so neither is used — and neither was re-tuned to make it pass.
  • Three ideas from trading-skill checklists, 15 Sep 2026: a stop that trails 1x ATR behind the best price once T1 is reached made less in both periods; requiring the 1-hour trend to agree made more in the first two years and less in the held-out one. Neither is used. Skipping an entry that runs into an RSI divergence — a new closing high or low that RSI does not confirm — made more in both periods, and is now a rule.
  • One ticket per direction across the indices. Nifty, Bank Nifty and Sensex move together, so a second ticket the same way is close to the same bet twice. Holding back a new ticket while another index had one open in the same direction made less in both periods, so it is not used.
  • More room to run on a trend day. The room a trade needs is what is left of a normal day's range; on 15 Sep 2026 every index had used all of it by 10:30 and went on to travel two and a half to three times it, while the tool held its signals for "low reward". Once a day has used its normal range and price is still near that day's extreme, the room that way is now one more normal day's range. It made more in both periods and on every index, and is now a rule.
  • Two controls meant to cut the drawdown. A circuit breaker that paper-traded once the strategy was ₹1,00,000 below its high, until it had recovered to within ₹50,000, cut the held-out year’s worst drawdown from ₹4,80,832 to ₹1,80,995 — measured against the rules as they stood that morning, which still waited out the opening range — but in the first two years it sat out recoveries and made both profit and drawdown worse. Halving size when India VIX was in the top quarter of its year made profit per unit of drawdown worse in both periods. Neither is used.
  • Trading from 09:15, and a lower reward floor. Two changes meant to produce more trades. Dropping the wait for the 09:15–09:45 opening range made ₹55,233 less in the first two years and ₹63,905 more in the held-out year, with a drawdown ₹54,804 shallower — mixed, and worth only 138 extra trades out of 6,158, because the gap between entries and the daily cap refill the day anyway. It is in use from 16 Sep 2026, chosen knowing it fails the “better in both periods” test. Asking a target of only 0.7× the stop instead of 1× did add trades — 404 of them — and made ₹75,136 more in the first two years, but turned the held-out year down to ₹61,958 with the deepest drawdown of the four versions tested, ₹5,31,939. It is not used.
  • A faster trend measure. ADX averages its trend reading over 14 fifteen-minute candles, so on 17 Sep 2026 it sat at 12–15 while Nifty rallied from the open. Keeping the buying and selling pressure over 14 candles but averaging the trend reading over 3 made ₹1,17,292 more in the first two years and ₹42,603 more in the held-out year, on fewer trades, with a shallower worst drawdown in both (₹4,26,028 to ₹3,00,843 in the held-out year). Most of that is Bank Nifty losing less; on Nifty and Sensex alone it made slightly less, with a shallower drawdown. In use from 17 Sep 2026, on the Indian indices only — Bitcoin was not tested with it. ADX over 7 candles also beat the old measure, but on many more trades and a deeper drawdown in the first two years; it is not used.
  • An early exit on a sustained reversal. While a ticket is open, the opposite direction has to hold for the same confirmation a fresh entry itself needs before the ticket closes early, instead of riding out to its target or stop. Replayed on the rules’ own real entry gates rather than an older, stale copy of them: 328 of 6,012 trades exited earlier than holding to target or stop would have, for ₹9,266 more in the first two years and ₹27,755 more in the held-out year, with the held-out drawdown ₹14,666 shallower. In use from 27 Sep 2026.
  • Waiting before moving the stop up to T1. The stop already moves to T1 the instant price first reaches it (see how-it-works). Delaying that by 15 minutes to 3 hours, so a pullback right after T1 gets some room, was tested against the instant version and against never moving the stop at all: every delay tried did worse than both. The instant version wins because it locks in T1 before a genuine reversal has any distance to travel back toward the original, farther stop; a delay only gives that reversal room to do so. Tested and measured 28 Sep 2026, not used — the stop keeps moving to T1 instantly.
  • Which target the ticket exits at. Tickets exit at T2 today. Priced the same way, on the same entries, T3 came out ahead of T2 on every measure in both periods — more total, a better profit factor, and a shallower drawdown — while T1 alone was underwater in the held-out year. Measured 28 Sep 2026; the exit target has not been changed while this is looked at further.
  • A candlestick pattern filter. Requiring the entry bar to also show a Hammer, Shooting Star or Engulfing pattern — the standard shapes, not swept or re-tuned — kept only 1,614 of 6,024 entries that already clear today’s real gates (27%), and the ones it kept did worse, not better: profit factor 1.17 to 1.03 in the first two years, and a net loss in the held-out year (−₹41,122 against the rules’ own +₹2,24,975). Not used.
  • Gann Square of Nine levels, and a volume-weighted momentum read. Re-measured against today’s real entry gates after an earlier run of this test had used an older, superseded approximation of them. Skipping an entry with a Gann level closer than the stop kept only 8% of entries and lost money outright, in both periods; only taking one with a level just behind the entry kept 63% and cut the held-out year’s worst drawdown by a third, but still made less than the rules alone in both periods. Neither is used. The volume read still cannot be measured on the Indian indices — there is no futures volume history to read it from.
  • A veto for a “stalled” trend. The market-trend panel already says when ADX reads a trend but price has not actually moved — “STALLED — GOING NOWHERE.” The entry rules never read that: their own trend gate is a bare ADX threshold. Carrying the same displacement check over as an entry veto was tested at the trend panel’s own threshold and swept across a wide range either side of it: every threshold tried, from half an ATR to twice one, lost money in the held-out year — most gained in the first two, the tightest setting lost in both. Priced the trades it would have removed on their own: in the first two years they were genuine losers (37.9% win rate against 43.7% for the rest), but in the held-out year they were statistically ordinary trades (44.1% against 44.3%) — the same rule meant something real in one period and nothing in the other. Not used.
  • A stop that tightens to breakeven if a trade goes nowhere. The stop already moves to breakeven once T1 is reached (see how-it-works); this is the untested other half — if T1 is not reached within two hours of entry, the stop tightens to breakeven and never loosens again, without closing the trade the way a fixed time stop (tested and dropped earlier) does. Priced on the same entries as the rules already run, only the exit differs: it roughly doubled profit and roughly halved the worst drawdown, in both periods. Swept from 30 minutes to 10 hours to check it was not a fluke of one setting — every value tried beat the rules in both periods too, a smooth curve rather than a spike at one lucky number. Also measured on Bitcoin, with the same kind of gain and a drawdown cut of roughly three-quarters in both periods, using the technical signal as a stand-in for the AI desk’s own entries — which would need real, paid model calls against three years of history to replay exactly. In use from 29 Sep 2026, on the Indian indices and Bitcoin alike.

What the test could not do

  • Fill you at the price on the screen. Index options move in ticks and spreads, and the spread is where a marginal edge goes to die.
  • Know your slippage. Lot size, time of day and how far out of the money the strike sits all change it, and none of them are constant.
  • Model your own behaviour. A backtest takes every signal. Nobody does. Whether that helps or hurts is not something the test can say.
  • Predict a regime it never saw. Three years is three years of particular markets, not of all markets.

Why publish it

Because a rule set you can inspect and measure is worth more than a tip you cannot. Everything on the how-it-works page is checkable line by line, the code is in one place with the reasoning written beside it, and this page exists so that the measurement — and everything that weakens it — is as easy to find as the screenshots.

The useful version of this tool is as a second opinion you can interrogate: a fast, consistent read of what the indicators say, and an explicit statement when a setup does not clear its own bar. Whether it makes money is not settled by a backtest on modelled prices, and it is not claimed here.

Treat everything here as something to examine, never as something to act on. Options can lose their entire value.

How the live record is kept

Every ticket this server issues is written to a trade file when it closes, whichever way it went, with the targets and stop that were frozen at entry. The live figures shown with the measurement are computed from that file — there is no separate curated list, and nothing is excluded for having been a bad day.

A live record of a few dozen trades is a sample. It is shown because hiding it would be worse, not because it settles anything.