The four-layer framework applied to one real month of NIFTY futures, trade by trade. The totals are perfect hindsight and only include trades that worked — a live trader keeps a part of it. The honest “what’s realistic” breakdown is inside.
The framework, in four layers
Every entry below came from layer 1 or 2 — never open space. Order flow was the yes/no on all 23 trades.
One step per session, running total. Thirteen of the twenty-one trades were shorts; the CPR's own open-location call was right about as often as it was wrong, with the trend days (Sep 1–10, Sep 24, Sep 28–29) far cleaner than the whipsaw stretch (Sep 21–25). The dashed line is the same trades kept at about 57%, the disciplined-trader estimate from the ledger.
Read this first. These trades are marked after each day closes, when the high, low and close are already known. It is the perfect-hindsight version, and it only holds trades that triggered cleanly and worked. Live, you also take the ones that looked identical beforehand and failed. Every session has a 15-minute footprint behind it. Treat the totals as "what the framework pointed at," not money anyone banked.
| Layer | Tells you | Does not tell you | Terms used below |
|---|---|---|---|
| 1 · CPR (pre-open) | the day's character — narrow → trend, wide → chop; weak-close (bearish); virgin | a trigger | daily / weekly CPR · TC/PP/BC |
| 2 · Pivots (pre-open) | where a decision happens | whether to act | Standard R/S · Camarilla H3–5 / L3–5 · prev-day/week high-low |
| 3 · Order flow (live) | whether the move is real | context | absorption · exhaustion · delta divergence · short covering · AM delta roll |
| 4 · Market Profile | today's & history's fair value | live conviction | shapes D/P/b · value-area edge · POC · poor high / poor low |
Every September entry so far came from Layer 1 or 2 (a CPR or a pivot). Order flow was the yes/no. Market profile set the targets (the poor lows at 24,064, 23,940, 23,950).
| Word | Plain meaning |
|---|---|
| Lot | 1 NIFTY futures lot = 65 units. 1 point of NIFTY = ₹65 per lot. |
| 2 lots / position size | Every trade uses 2 lots (130 units) → 1 point = ₹130. |
| 1st target | where the first lot is booked. (hit) = price reached it; (not reached) = it stopped short, first lot closed at the exit price instead. |
| First lot / second lot | closed separately — first at the 1st target, second on a break-even stop, trailing 15-min lower highs/higher lows, booked into the close. Same-day unless a row says otherwise. |
| Exit — avg of both lots | the two lots close at different prices; this column is the average, and Points and ₹ are worked from it. 1-lot trades show one price. |
| Points | NIFTY points per lot — never changes with lot size, only the rupees do. |
The framework earns in lumps — small base hits and a few big trend days. One lot forces a bad choice every trade: bank a small profit and miss the trend day, or hold for the trend day and give the small profit back on every day that just tags your target and turns. Two lots does both — close the first lot at the first target (locks a win, pays the trade's costs), let the second lot run on a stop moved to your entry (from there it cannot lose). Most days the runner stops at break-even and you keep the first lot's profit; a few days it catches the whole move. It also keeps the account climbing in small steps instead of lurching. It assumes a ₹5–7 lakh account, ≤ 2–4% risked per trade.
Each row: the day, its type, long or short, the framework read, entry / stop / target, where it ended, the result. Appended daily.
| # | Date | Day | Long / Short | Framework read (the trigger) | Entry | Stop | Risk | 1st target | Exit — avg of both lots | Pts/lot | ₹ (2 lots) | R:R |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Sep 1 | narrow CPR, open below, one-way afternoon | Short | CPR: ultra-narrow ~4-pt (24,245–24,249), open below → trend down Pivot: rally dies at Camarilla H3 24,292 Flow: 13:00 expansion breaks 24,238, delta → −3.6K Profile: single distribution, poor low 24,064 | 24,235 | 24,315 | 80 | 24,099 (hit) | 24,090 | +140 | ₹18,200 | 1.8× |
| 2 | Sep 2 | gap to S1, weekly low holds, no follow-through | Long — scalp | CPR: weak-close, ~150-pt gap onto daily S1 24,004 / weekly low 23,940 — scalp not trend Pivot: weekly low 23,940 holds the hardest sell bar Flow: +2.2K buy bar lifts price, delta never turns positive Profile: balanced, poor low 23,940 | 23,960 | 23,925 | 35 | 24,024 (hit) | 24,000 | +52 | ₹6,760 | 1.5× |
| 3 | Sep 3 | narrow CPR, opening squeeze into R2, sold all day | Short | CPR: 2nd ultra-narrow ~4-pt (23,994–23,998), gap-up into R2/H4 Pivot: high stalls 24,148, below R3 Flow: short-covering gap, delta +2.62K → −1.07K Profile: distribution, poor low 23,950 | 24,095 | 24,165 | 70 | 23,975 (hit) | 23,974 | +121 | ₹15,730 | 1.7× |
| 4 | Sep 4 | covering rally into resistance, faded before the close | Long — scalp, trailed | CPR: inverted (TC 24,002/PP 24,031/BC 24,060), open inside — covering, not trend Pivot: 24,083–24,090 band holds on retest Flow: −670 dip bought back, delta → +1.62K then fades to +1.24K Profile: narrow/rotational, poor high 24,120 / low 24,000 | 24,048 | 24,010 | 38 | 24,088 (hit) | 24,076 | +28 | ₹3,640 | 0.7× |
| 5 | Sep 7 | 3rd ultra-narrow CPR of the run, gap-down open below everything, one-way down | Short | CPR: ultra-narrow ~16-pt (24,056–24,073), open below everything Pivot: loss of S2 23,969 is the trigger Flow: open was the high, delta → −2.24K, absorbed, → −1.56K into close Profile: narrow down-distribution, poor low 23,855 | 23,965 | 24,015 | 50 | 23,914 (hit) | 23,900 | +65 | ₹8,450 | 1.3× |
| 6 | Sep 8 | 4th narrow CPR of the run, gap-down open below the daily & weekly CPR, one-way bleed | Short | CPR: narrow ~40-pt (23,888–23,928), open below it & the weekly CPR Pivot: open was the high; loss of range on −799 delta triggers; targets S2 23,763 Flow: delta → −2.13K → flat → ~−2.9K, deepest of the run Profile: narrow down-distribution, poor low 23,725 | 23,805 | 23,850 | 45 | 23,763 (hit) | 23,753 | +52 | ₹6,760 | 1.2× |
| 7 | Sep 9 | 5th narrow CPR of the run, gap-down open below everything, ran through a failed midday floor | Short | CPR: ultra-narrow ~19-pt (23,759–23,778), open below everything Pivot: loss of S2 23,663 triggers; targets S3 23,601 Flow: midday floor (+813 buy, put writers +207L) folds → −5.05K, deepest of the run Profile: narrow down-distribution, soft poor high 23,666 | 23,655 | 23,695 | 40 | 23,601 (hit) | 23,566 | +89 | ₹11,570 | 2.2× |
| 8 | Sep 10 | 6th narrow CPR of the run, small gap-down open below it, marginal new low that held — smallest trend-day of the run | Short — scalp, trailed | CPR: narrow ~44-pt (23,552–23,596), widest of the run, weak 27-pt gap Pivot: high 23,569 rejects TC, loss of prev-low 23,517 triggers; targets S1 23,473 Flow: delta → −2.08K then recovers to ~−1.8K into the close Profile: tight distribution, narrowest VA of the run | 23,518 | 23,585 | 67 | 23,473 (hit) | 23,482 | +36 | ₹4,680 | 0.5× |
| 9 | Sep 11 | the reversal day — extreme gap-down open onto daily S3, a brutal new low, a real delta-driven snap-back | Long — reversal, trailed | CPR: ultra-narrow ~8-pt (23,504–23,512), open ~165pt below onto S3 — most extreme gap of the run Pivot: entry on the reclaim of the opening print; targets R1 23,561 Flow: new low 23,300, then a +851 Extreme Delta bar, cum delta → +3,000, first positive close of the run Profile: widest VA of the run, first session to overlap prior value | 23,360 | 23,310 | 50 | 23,561 (not reached) | 23,495 | +135 | ₹17,550 | 2.7× |
| 10 | Sep 15 | the reclaim level tagged and rejected — open above CPR into the 23,561 zone, immediate failure, new multi-week low | Short — rejection, trailed | CPR: moderate ~51-pt (23,409–23,460), open above it into the 23,561 reclaim zone Pivot: high 23,589.2 clears the zone then rejects; Short Buildup fires Flow: delta flips positive → −2.1K by afternoon Profile: widest VA of the run, new multi-week low 23,180 | 23,555 | 23,610 | 55 | 23,351 (hit) | 23,286 | +269 | ₹34,970 | 4.9× |
| 11 | Sep 16 | a contained, constructive day — new low undercut and reversed without a violent bar, no fresh shorts anywhere | Long — undercut-and-hold, trailed | CPR: wide ~110-pt (23,275–23,385), open below — bearish read, correct for an hour Pivot: entry on reclaim after the 23,116.10 low holds; targets TC 23,275 Flow: steady climb, delta builds to +1,580 → +660 Profile: first contained session of the run | 23,150 | 23,095 | 55 | 23,275 (hit) | 23,245 | +110 | ₹14,300 | 2.0× |
| 12 | Sep 17 | a trend day that got rejected at the top and still closed green — open above ultra-narrow CPR, low held, rejected at the resistance cluster | Long — trend continuation, trailed | CPR: ultra-narrow ~11-pt (23,200–23,212), open above it — correct bullish read Pivot: morning low 23,236 holds; targets R2 23,375 Flow: run to 23,418 high, extreme 0.04 print + Market-Weakness rejection Profile: first higher value-migration session in over a week | 23,300 | 23,220 | 80 | 23,375 (hit) | 23,370 | +70 | ₹9,100 | 0.9× |
| 13 | Sep 18 | a marginal new high, rejected again, round-trip back to flat — CPR said bullish, the level said no a second time | Short — rejection, trailed | CPR: narrow ~15-pt (23,327–23,342), open above — bullish read overridden Pivot: rejection at the twice-tested 23,418–23,420 is the real trigger; targets BC 23,327 Flow: 0.67 rejection print, drift to 23,312.6, recovery Profile: contained two-sided session | 23,405 | 23,435 | 30 | 23,327 (hit) | 23,337 | +68 | ₹8,840 | 2.3× |
| 14 | Sep 21 | the coil finally breaks — open sitting right on the ultra-narrow CPR, short covering wall to wall, a genuine trend day through the week's stuck shelves | Long — trend continuation, trailed | CPR: ultra-narrow ~8-pt (23,366–23,374), open on the floor — no clean read, trigger from flow Pivot: low 23,360 holds; clears R1 23,428 Flow: Short Covering wall-to-wall, buy-side 40%→60%+ Profile: clears several Poor High shelves, closes on fresh 23,443.6 level | 23,375 | 23,345 | 30 | 23,428 (hit) | 23,445 | +70 | ₹9,100 | 2.3× |
| 15 | Sep 22 | the skeptic's case wins — CPR's bullish open-location read fails outright, OI-behaviour flips inside 30 minutes, a real give-back day | Short — reversal, trailed | CPR: moderate ~19-pt (23,417.5–23,436.7), open above — bullish read fails outright Pivot: OI flips Short Covering→Long Unwinding in 30 min; targets BC 23,417.5 Flow: 13:00 sell block, delta −1.16K, low 23,286 Profile: Poor High/Low both sides, value migrates down | 23,460 | 23,485 | 25 | 23,417.5 (hit) | 23,369 | +91 | ₹11,830 | 3.6× |
| 16 | Sep 23 | the squeeze continues — Short Covering from the open, a second visit to Monday's resistance zone, this time clearing it | Long — squeeze/trend continuation, trailed | CPR: ~19-pt (23,381.8–23,400.6), open on the floor — no clean read Pivot: Short Covering from the open, confirmed by FII data; targets Monday's high 23,475 Flow: VWAP holds, run to 23,484.1 Profile: third straight Poor High, closes inside the call-OI zone | 23,395 | 23,365 | 30 | 23,475 (hit) | 23,470 | +75 | ₹9,750 | 2.5× |
| 17 | Sep 24 | the squeeze runs out — CPR's bearish open-location read works cleanly for the first time in a week, a new multi-week low | Short — trend day, trailed | CPR: moderate ~18-pt (23,427.6–23,445.9), open below — first correct bearish call in a week Pivot: bounce to 23,319.8 stalls at S2; targets S3 23,276.2 Flow: Long Unwinding, VWAP down, low 23,056 breaks Sep 15's low Profile: cleanest one-directional structure of the week | 23,315 | 23,345 | 30 | 23,276.2 (hit) | 23,183 | +132 | ₹17,160 | 4.4× |
| 18 | Sep 25 | a retest and a hold — the CPR's bearish open-location signal overridden by a tick-for-tick retest of Thursday's low | Long — reversal, trailed | CPR: wide ~53-pt bearish-leaning, open below — read overridden by a retest Pivot: low 23,058 matches Thursday's low, holds; targets BC 23,187.9 Flow: OI alternates, afternoon buying builds a 14:00 node Profile: Poor Low, genuine two-way rotation | 23,100 | 23,040 | 60 | 23,188 (hit) | 23,199 | +99 | ₹12,870 | 1.7× |
| 19 | Sep 28 | the bulls' line fails — CPR's bearish open-location read correct again, Friday's defended low breaks | Short — trend day, trailed | CPR: wide bearish-leaning, open below — clean bearish read Pivot: open near the high; loss of S1 23,082.5 triggers; targets S2 22,978.3 Flow: delta negative all session, weekend's 22,850 zone fails Profile: Poor Low, breaks Friday's defended range | 23,075 | 23,145 | 70 | 22,978.3 (hit) | 22,904 | +171 | ₹22,230 | 2.4× |
| 20 | Sep 29 | expiry delivers a partial squeeze — CPR's third correct bearish call in a row hits its target exactly, then a real FII-covering reversal protects the runner at break-even | Short — trend day, protected | CPR: wide bearish-leaning, open below — third correct bearish call in a row Pivot: targets Monday's S2 22,579.43 Flow: hard sell into the low, then FII covers 52,000+ contracts, month's strongest afternoon push Profile: down-then-up rotation | 22,745 | 22,800 | 55 | 22,579.43 (hit) | 22,745 | +83 | ₹10,790 | 1.5× |
| 21 | Sep 30 | September's last trading day fails a rally — a real delta divergence at the high, OI-behaviour flips Long Build Up to Short Build Up, the month's best trade | Short — trend day, trailed | CPR: moderate ~30-pt, open above — bullish read fails at the high Pivot: targets today's own TC 22,701.5 Flow: rally to 22,935 with delta staying negative — real divergence; OI flips Long→Short Build Up Profile: Poor High at the failed rally, Poor Low into the reversal | 22,900 | 22,955 | 55 | 22,701.5 (hit) | 22,696 | +204 | ₹26,520 | 3.7× |
| Sessions | 21 · traded 21 · 0 no-trade |
| Wins / scratch / losses | 21 / 0 / 0 |
| Full-size points captured (per lot) | +2,160 pts (21 two-lot trades) |
| Full-size ₹ — 2-lot position | ₹280,800 |
| Blended ₹ — 2-lot book, before charges | ₹280,800 — after charges ≈ ₹262,089 (see the charges section) |
| Best single day | Sep 15 short +269 / ₹34,970 (4.9R) · then Sep 30 short +204 (3.7R), Sep 24 short +132 (4.4R) |
| Most risked on one trade | Sep 1 (80-pt stop) |
Thirteen trend-day shorts, eight longs (incl. scalps) — no no-trade sessions this month, every day gave a clean trigger somewhere.
Same as July and August: this is hindsight, and it holds only the trades that triggered cleanly and worked. September had a harder back half than August's clean trend — Sep 18, 22 and 25 are the sessions where the CPR's own open-location call was wrong and a specific level or an OI-behaviour flip did the real work instead, which is exactly where a live trader hesitates or gets chopped.
| Trader | Keeps | MTD ₹ (after charges) | MTD ROI |
|---|---|---|---|
| Disciplined, experienced | 50–65% of gross | ₹121,689 – ₹163,809 | 20.3% – 27.3% |
| First-year / still building | 30–45% of gross | ₹65,529 – ₹105,669 | 10.9% – 17.6% |
21 sessions is still far too small a sample to annualise — this is a running scoreboard, not a return projection.
Swing = holding for days, not minutes. Rule: a swing trade is closed on or before the day its futures contract expires. No rolling over to the next month. All three September swings opened and closed inside the September contract (expiry Sep 29 — futures expire monthly; only the options chain runs weekly, see the framework glossary).
Every intraday session this month was checked against the same candidate rule floated mid-month: acceptance below (or above) the weekly CPR + consecutive closes below (or above) prior-day value + futures OI building = hold it, trail on the weekly. Verdict: adopt it. Three stretches qualified, not one — this is a wider month than August's single swing, because September gave three distinct clean legs instead of one long trend. Most of the back half — Sep 21 through Sep 25, five sessions in five different directions — never gave the trigger's own conditions enough runway to fire, and a swing held through any of that stretch would have been stopped out or reversed against at least twice. That's the same finding August made with its Aug 25 exclusion: the rule staying silent through a genuine whipsaw isn't a gap in the framework, it's the discipline recognising a whipsaw isn't a trend.
This is the same leg the intraday book traded six separate times (Sep 1, 3, 7, 8, 9, 10, all shorts, +503 points combined across six round trips). A swing entered once on Sep 1 and held through Sep 10 — the session before Sep 11's real reversal — captures the whole move in one decision, including the overnight gaps between sessions that six separate re-entries can't.
| Framework read | Six consecutive trend-day shorts, each off its own narrow daily CPR, with no session in between closing back above value — exactly the "acceptance below the weekly CPR + consecutive closes below prior-day value" trigger. |
| Entry | Sep 1, 24,235, 2 lots |
| Stop | 24,315 (matching the intraday trade's own stop) — 80 points a lot |
| First lot | closed Sep 7 at ~23,991 (the open of the session where the leg accelerated into its third ultra-narrow CPR) → +244 |
| Second lot | stop to break-even, trailed; closed Sep 10 at 23,482 (the session's own close, the last day before Sep 11's reversal) → +753 |
| Result | +499 points a lot on average · ≈ ₹64,870 for the 2-lot position |
Sep 16 undercut a fresh low, held, and climbed without a dramatic bar. Sep 17 ran further, clearing the same overhead zone the ledger had been tracking, before getting turned back hard at the top with an extreme 0.04 order-flow print. A swing entered on Sep 16's reclaim and held through that Sep 17 high — exiting into the rejection rather than getting caught by Sep 18's reversal — captures both days as one decision.
| Framework read | Two consecutive up days, both closing well off their lows, value migrating higher both sessions — but the Sep 17 high tagged the exact overhead zone flagged since the prior Tuesday, which is where a swing needs to take the exit, not ride into the next session's rejection. |
| Entry | Sep 16, 23,150, 2 lots |
| Stop | 23,095 — 55 points a lot |
| First lot | closed Sep 16 at 23,275 (the session's own R2 target) → +125 |
| Second lot | stop to break-even, trailed; closed Sep 17 at 23,418 (the session high, right where the 0.04 rejection print fired) → +268 |
| Result | +197 points a lot on average · ≈ ₹25,610 for the 2-lot position |
Sep 28 broke the weekend's flagged 22,850 bulls' zone on a clean CPR-confirmed open-below signal. Sep 29 — the contract's own expiry day — extended lower before a genuine FII-driven squeeze recovered 137 points off the low. The intraday book traded this as two separate tickets (Sep 28 +171, Sep 29 +83 on a fresh re-entry). A swing held from Sep 28 straight through captures the overnight gap between them that the two-ticket approach missed, and is forced flat at the close by the contract's own expiry — it cannot roll into Sep 30, which is already trading the new October series.
| Framework read | Two consecutive down sessions on the same signal (CPR open-below, no bounce), with the second one landing on expiry itself — the rule's own boundary, not a discretionary exit. |
| Entry | Sep 28, 23,075, 2 lots |
| Stop | 23,145 — 70 points a lot |
| First lot | closed Sep 28 at 22,978 (daily S2) → +97 |
| Second lot | stop to break-even, trailed; closed Sep 29 at 22,716 (the session's — and the contract's — close, forced by the no-rollover rule despite the intraday squeeze to 22,579) → +359 |
| Result | +228 points a lot on average · ≈ ₹29,640 for the 2-lot position |
Five sessions in five different directions inside two weeks: Sep 21 long, Sep 22 short, Sep 23 long, Sep 24 short, Sep 25 long. No stretch here ran two consecutive sessions in the same direction, let alone closed consistently below or above prior-day value. Sep 30 is excluded for a different, mechanical reason — it trades the new October futures contract, so under the no-rollover rule it opens October's swing book, not September's.
| Trade | Points a lot (avg) | Rupees (2 lots) |
|---|---|---|
| Swing 1 — shorted the opening leg (Sep 1–10) | +499 | ₹64,870 |
| Swing 2 — bought the two-day reclaim (Sep 16–17) | +197 | ₹25,610 |
| Swing 3 — shorted into the expiry breakdown (Sep 28–29) | +228 | ₹29,640 |
| September swing total (3 trades) | +924 points a lot | ≈ ₹120,120 |
A lighter realistic discount applies to the swing side (fewer decisions to get right, days to think, not minutes): a disciplined trader keeps ~75–90% → roughly ₹90,000 – 108,000 after charges (~₹1,900 × 3 round trips ≈ ₹5,700 already netted out above).
Every futures trade pays brokerage, STT (a government tax on the closing side), exchange & SEBI fees, stamp duty, GST.
| Item | Basis | ₹ per 2-lot trade |
|---|---|---|
| Brokerage | ₹20 × 3 orders | 60 |
| STT | 0.02% of the closing-side value, 2 lots | 624 |
| Exchange fee (NSE) | ~0.00173% both sides, 2 lots | 108 |
| SEBI fee | ₹10 per crore | 6 |
| Stamp duty | 0.002% buy-side, 2 lots | 62 |
| GST | 18% on (brokerage + txn + SEBI) | 31 |
| Total | ≈ ₹891 (≈ 7 pts / lot) |
STT is most of it. A full-service broker replaces the ₹60 brokerage with ~₹600–3,000 — roughly doubles or triples the round-trip.
| Book | Round-trips | Charges | Per lot, in points |
|---|---|---|---|
| Intraday | 21 two-lot round trips | ≈ ₹18,711 | ≈ 144 pts |
| Swing | 3 trades (entry + first-lot + second-lot) | ≈ ₹5,700 | ≈ 44 pts |
| Before charges | Charges | After charges | |
|---|---|---|---|
| Intraday — perfect hindsight | ₹280,800 | ₹18,711 | ≈ ₹262,089 |
| Intraday — realistic, disciplined (50–65% of gross) | ₹140,400 – ₹182,520 | ₹18,711 | ≈ ₹121,689 – 163,809 |
| Swing — 3 trades | ₹120,120 | ₹5,700 | ≈ ₹114,420 |
| Swing — realistic, disciplined (75–90% of gross) | ₹90,090 – ₹108,108 | ₹5,700 | ≈ ₹84,390 – 102,408 |
Assumes separate money set aside for each — most people run one or the other.
| Trades | Before charges | Charges | After charges | |
|---|---|---|---|---|
| Intraday | 21 | ₹280,800 | ₹18,711 | ≈ ₹262,089 |
| Swing (3 trades, flat into expiry) | 3 | ₹120,120 | ₹5,700 | ≈ ₹114,420 |
| Combined — perfect hindsight | 24 | ₹400,920 | ₹24,411 | ≈ ₹376,509 |
| Combined — realistic, disciplined | ≈ ₹206,079 – 266,217 |
| Step | After charges |
|---|---|
| Perfect-hindsight total | ₹376,509 |
| Intraday — keep 50–65% of gross | ₹262,089 → ₹121,689 – 163,809 |
| Swing — keep 75–90% of gross | ₹114,420 → ₹84,390 – 102,408 |
| = Realistic, disciplined | ≈ ₹206,079 – 266,217 |
| Removed from the hindsight number | ≈ ₹110,000 – 170,000 — about a third to nearly half |
Assume a ₹6 lakh account:
| Made (after charges) | ROI for the month | |
|---|---|---|
| Combined — perfect hindsight | ≈ ₹376,509 | ≈ 63% |
| Combined — realistic, disciplined | ≈ ₹206,079 – 266,217 | ≈ 34% – 44% |
| Swing only — 3 trades | ≈ ₹114,420 | ≈ 19% (on the ~₹6 L a 2-lot swing book needs) |
Not a normal month. A 34–44% return in a single month does not continue — September was a genuine roller-coaster (five sessions in five different directions inside the back two weeks alone) that still produced three clean swing legs and 21 clean intraday triggers, exactly the conditions this framework is built to read. A choppier or more one-sided month gives a very different number. Do not annualise. A good discretionary trader aims for ~4–8% a month averaged across a year.
In one line: with hindsight, September offered about ₹3.77 lakh after charges — roughly a 63% return on a ₹6 lakh account. Traded live by a disciplined person, more like ₹2.06 – 2.66 lakh, about 34–44%. Traded without discipline: break-even or a loss, on the very same signals.
Twenty-one for twenty-one on hindsight looks harder than it is. The actual skill on display across September wasn't prediction — the CPR's own open-location call was wrong about as often as right (Sep 18, 22, 25 vs Sep 17, 24, 28, 29), and when it was wrong, a specific level or an OI-behaviour flip did the real work instead. What made every session a win wasn't guessing right more often than a coin flip would; it was never trading a session the framework didn't have a real trigger for, sizing every trade the same regardless of how confident it felt, and — Sep 29 is the clearest single example — letting a break-even stop do its job instead of overriding it because a squeeze looked like it might keep going. The hard part was never spotting these setups. It's standing aside on the days that don't offer one, and not being a hero on the days that do.
Twenty-one sessions, twenty-one trades, still all with the trend somewhere. The spine of the month is the narrow daily CPR: Sep 1 opened below its ~4-pt band and ran one way down; Sep 3 gapped up off the same signal, failed at resistance and rolled over; Sep 7 (~16-pt), Sep 8 (~40-pt) and Sep 9 (~19-pt) all gapped down below the daily and weekly central range, all opened on the high, all ran down. Sep 10 fired the same signal a sixth time — but weakly, +36 points, the edge thinning. Then Sep 11 flipped the whole script: the most extreme gap of the run, one more brutal flush to a new low, and a real delta-driven reversal, +135 points. Sep 15 answered the question Sep 11 left open: the 23,561–23,563 zone got tagged and rejected within minutes, +269 points — the biggest single trade of the month. Sep 16 undercut a fresh low, held, and climbed +110 points without a single dramatic bar. Sep 17 is the same narrow-CPR signal working correctly for the first time in the up direction — open above the CPR, the low held, the market ran to new highs — and then delivered the run's cleanest example yet of the trend rejecting at the exact overhead level the ledger has been tracking since Tuesday, +70 points. Sep 18 is where the CPR and the actual best trade of the day genuinely disagreed: the CPR called a bullish-continuation open, but the highest-conviction trigger was a short off the same overhead resistance rejecting for a second straight session, +68 points on the tightest risk of the whole run (2.3R). Sep 21 is the release: Friday's ultra-narrow 8-pt CPR gave no directional read of its own — open sat right on the band's floor — but the order flow did all the work, one unbroken Short Covering read from bell to bell, clearing several of the week's stuck Poor High shelves and closing almost exactly on a fresh value marker, +70 points at the same 2.3R the framework has now produced twice in five sessions. Sep 22 is the day the ledger's own Sep 21 caution earned its keep: the same bullish-continuation CPR read that worked cleanly on Monday failed outright within 30 minutes as the OI-behaviour flipped, and the short off that flip — not the CPR's own signal — produced the month's highest-R trade yet, +91 points at 3.6R. Sep 23 closed the loop: Tuesday's participant data confirmed FIIs had added to shorts, not covered, and Wednesday's session was that position getting squeezed — Short Covering from the open, a second visit to Monday's resistance in three sessions, this one clearing it, +75 points. Sep 24 is the squeeze running out: the CPR's first correct open-location call in over a week (open below the band), an early bounce failing right at daily S2, and a clean one-directional trend day to a fresh multi-week low, +132 points at 4.4R — the framework's best trade of the month. Sep 25 closes the week on a pause: the CPR again called bearish-continuation on the open, and again a specific level overrode it — Thursday's low, retested to the tick and held, reclaiming back to the CPR's own BC, +99 points. Sep 28 is the CPR's second correct bearish call in a row — open below the band, no bounce attempt anywhere in the session, the weekend's flagged 22,850 bulls' zone failing intraday, +171 points. Sep 29 — monthly expiry — is the CPR's third correct bearish call in a row, first lot hitting Monday's own S2 exactly, and then the framework's own risk discipline paying off: FIIs covered over 52,000 short contracts in a genuine afternoon squeeze, and the second lot's break-even stop protected the trade rather than surrendering the move back, +83 points. Sep 30 — September's last trading day — closes the intraday book with its best trade: a rally to a fresh session high that never got real delta confirmation, an OI-behaviour flip from Long Build Up to Short Build Up right at the top, and a clean reversal all the way back to the day's low, +204 points at 3.7R.
A note on what the data didn't confirm. Sep 21's participant OI told a quieter story than the tape: FIIs added to index-future shorts into the rally rather than covering them, retail (Client) barely moved, and PCR jumped hard toward puts (1.12 → 1.46) while max pain slipped lower (23,300 → 23,200) even as price ran higher. The ledger still follows the order-flow trigger, not the participant data — the trade worked, cleanly — but a rally that runs on short covering through thin resistance without fresh institutional buying behind it is exactly the kind of move that can also be the whole story, not the start of one. Worth tracking whether Tuesday brings the buying that would confirm it, or the give-back that would confirm the skeptic's read instead.
Nothing here required a heroic read. The hard part isn't spotting these — it's only taking these, at the same size, standing aside on the day the market doesn't offer one, and not turning a mid-session delta recovery into a reversal call before it reclaims a level and holds it. Sep 9 made that lesson concrete: the midday floor had positive cumulative delta and active put writers and an 80-point bounce — and it still folded into a −5.05K close, because it never took a level back. Sep 11 is the session that finally did take one back, but stopped short of the real reclaim level (23,561–23,563), so the ledger marked it a strong trade, not proof the trend was over. Sep 15 is why that caution mattered: the very next real test of that level failed, immediately. Sep 17 and Sep 18 are the third and fourth confirmations of the same zone's importance — two straight sessions tagged the neighbourhood and got turned back, neither one coming within 140 points of the real level. Sep 18 also earns its own lesson: when the CPR's directional bias and the order-flow read at a specific level disagree, the level wins — the ledger followed the rejection, not the CPR's open-location call, and that was the correct read. Thirteen sessions in, the framework has called both sides of the same range correctly, the last five sessions read like a market genuinely deciding rather than one still in freefall, and the 23,561–23,563 level remains the one thing that actually needs to happen before any of this becomes a real trend change instead of a very well-traded range.
Every trade from the Ledger, written out: the pivot read, the order-flow read, the market-profile read, the positioning, then the trade reasoned line by line — why this entry, why the stop there, why that target. Direction-neutral wording — "close" = sell to exit a long, buy back to exit a short. Fills and point tallies are modelled against each day's actual range.
Living document — one ticket per session, added the evening each trading day closes. Private until the month-end publish — nothing renders on the site until then. Same clean-read-hindsight caveat as the Ledger.
Position: 2 NIFTY futures lots (130 qty) · ₹65 / point / lot → ₹130 / point. First lot off at T1, second lot on a break-even stop trailing 15-min lower highs/higher lows, booked into the close (same-day unless noted).
October sessions begin a new month's ticket log.
Every trading session of September 2026, worked at depth: the pivot map, the order flow, the profile, the positioning, and a step-by-step retail playbook for each day. All levels are off the NIFTY futures chart (September contract, expiry Sep 29); the order-flow reads are from the 5- and 15-minute footprint.
Living document — a session is added the evening each trading day closes. Private until the month-end publish — nothing renders on the site until then. The polished ledger, ROI model and tickets are assembled at month-end from this log.
1. Header — futures O/H/L/C and the points/% change vs. the prior close.
2. The map that morning — the daily CPR (width, and whether it's a weak-close CPR), the daily R/S ladder, the daily Camarilla, the weekly CPR, and prev-day/prev-week high-low. All computed, all known before 9:15.
3. Open location — where price opened relative to the daily CPR (above = bullish, inside = neutral, below = bearish).
4. Order flow — the cumulative-delta path, absorption / balance reads, the confirmation bar, the footprint signals by name.
5. Market profile — day type, poor high/low, range.
6. Positioning — OI behaviour on the day, the FII/retail lean.
7. What smart money was doing — one line.
8. The retail playbook — before 9:15 → the open → trigger → risk → management → where you'd be wrong → the reversal.
9. Lesson.
The standing rule: you only act at a level, and only when the flow at that level agrees with your bias.
Updated through Sep 3.
September opened straight into the air-pocket August left behind. The August-26 contract roll gapped the new September future ~280 points up into the old July high, it failed instantly, and the last week of August drifted back to 24,251. September week 1 picked up exactly there and kept going down: 24,251 close on Aug 31 → 24,090 (Sep 1) → 24,000 (Sep 2) → 23,973 (Sep 3). Three sessions, ~280 points, each day's value area below the last, each close on or near the low.
The structure was bearish before the month started and stayed that way: NIFTY opened the week below last week's CPR — the classic bearish open-location read — and never traded back up to it. On the daily timeframe it was the same story: every daily CPR in week 1 was either ultra-narrow (Sep 1, Sep 3 — a trend-day signal) or normal-width with price opening below it (Sep 2). Last week's CPR was also a weak-close CPR (the top-central below the bottom-central — last week shut in the lower third of its range) and roll-distorted from the Aug 26 contract change, so it sat high and soft; the one clean thing it said was "bearish, and price is beneath it." FIIs remained net short index futures, retail net long — the multi-month shape. Standing bias unchanged from July/August: sell rallies into resistance, treat every bounce as suspect until cumulative delta crosses positive and holds. Week 1 never gave that signal.
| Week | Weekly CPR | Width | Forecast | What happened |
|---|---|---|---|---|
| Sep 1 – 4 | 24,365 – 24,412 (from the Aug 24–28 range) | Normal, weak-close — roll-distorted | bearish lean / trend (price opened below it) | opened ~165 pts below it and trended down all week, never traded back up |
Last week's CPR here is built from the Aug 24–28 range, which straddles the Aug 26 contract change — the old-contract sessions (Aug 24–25) sit ~90–150 pts below the new contract, so the numbers read high and soft. For this week, lean on the daily pivots and the Aug 31 → Sep 1 breakdown, not the weekly levels. The one thing they say cleanly: price opened the week below last week's CPR, and last week closed in the lower third of its range — bearish on both counts.
Weekly levels (from the Aug 24–28 range — treat as stale/high): BC 24,412 · PP 24,389 · TC 24,365 · R1 24,527 · S1 24,204 · S2 24,065 · Camarilla H3 24,431 · H4 24,520 · L3 24,252 · L4 24,163 · Prev-wk High 24,574 · Prev-wk Low 24,250.
Price opened the week at 24,200 — below last week's whole CPR zone, right on weekly S1 — and never traded back up to it. Bearish open location, and it held all week. The week's real references were the daily pivots and the August-low shelf at 24,087, which broke on Sep 1.
Futures O/H/L/C: 24,200.0 / 24,296.1 / 24,064.0 / 24,081.0 · −170 pts (−0.70%) off Aug 31's 24,251.4
| Level | |
|---|---|
| Daily CPR (ultra-narrow, ~4 pt) | BC 24,245 · PP 24,247 · TC 24,249 |
| Daily R1 / R2 / R3 | 24,323 · 24,395 · 24,471 |
| Daily S1 / S2 / S3 | 24,175 · 24,099 · 24,027 |
| Daily Camarilla | H3 24,292 · H4 24,333 · L3 24,211 · L4 24,170 |
| Weekly CPR (weak-close, stale) | TC 24,365 · PP 24,389 · BC 24,412 |
| Prev day / week High-Low | 24,319 / 24,171 · 24,574 / 24,250 |
24,200 — below the daily CPR (24,245–24,249), between daily S1 (24,175) and the CPR. An ultra-narrow ~4-point CPR is the single strongest trend-day tell on the board; opening below it points that trend down. Nothing structural between the open and S1.
The first hour was a fake-out the wrong way: price dipped to 24,151 by 10:00 (below S1), then bid back up. From 10:45 buyers did real work — the 11:00–11:30 bars pushed 24,244 → 24,296.1 on 68–79% buy volume, cumulative delta climbing to roughly +1.55K at the high. The high stopped one tick past daily Camarilla H3 (24,292). Then it rolled: the 11:30 bar closed back at 24,272, midday balanced 24,238–24,266, and the 13:00 bar was the confirmation — a −52-point expansion candle on ~137k volume (vs 45–55k on the balance bars) that broke the range low as cumulative delta cut through zero. From there it was one-way: the 13:30–14:00 bars traded 220k / 403k / 303k volume, cumulative delta ran to a session low near −3.6K, price air-pocketed 24,171 → 24,064. Close 24,081, 17 pts off the low. No second bid.
Single elongated distribution — a textbook trend-down day. Poor High near 24,296 (retested once, unrepaired); Poor Low near 24,064. Value roughly 24,114 (VAL) / 24,190 (POC) / 24,289 (VAH); close below the entire value area.
Futures OI +323k to 16.05M on a −170-point day — short buildup, not long liquidation. The August-low shelf at 24,087 broke and closed below.
Selling the rally into 24,292–24,296 and pressing the break. A narrow CPR that resolves down, with the day's high stopping at Camarilla H3 and the afternoon a single distribution, is the framework's cleanest trend-day short.
A ~4-point CPR is not a coin-flip — it is a forecast of range expansion, and the open location tells you which way. Sep 1 gave the whole package: narrow CPR, open below, rally that dies exactly at Camarilla H3, one confirmation bar on 3× volume, and no bid on the other side.
Futures O/H/L/C: 24,000.0 / 24,049.0 / 23,940.0 / 23,994.8 · −96 pts (−0.40%) off Sep 1's 24,090.3
| Level | |
|---|---|
| Daily CPR (normal ~60 pt, weak-close: TC below BC) | TC 24,120 · PP 24,150 · BC 24,180 |
| Daily R1 / R2 | 24,236 · 24,382 |
| Daily S1 / S2 / S3 | 24,004 · 23,918 · 23,772 |
| Daily Camarilla | H3 24,154 · H4 24,218 · L3 24,026 · L4 23,963 |
| Weekly CPR (weak-close, stale) | TC 24,365 · PP 24,389 · BC 24,412 |
| Prev day High-Low | 24,296 / 24,064 |
24,000 — below the entire daily CPR (24,120–24,180) and sitting right on daily S1 (24,004). A weak-close CPR (top-central below bottom-central) is itself bearish; gapping ~150 points below it to open at first support means the easy trend money was already made on Sep 1 — this is a "prove it" open, not an entry.
The gap drew immediate selling — the 09:15 bar traded ~565k contracts, the day's heaviest, and drove straight to 23,940.0 (the week's low) by 09:30. Then it stalled. Late-morning bars were small and negative, cumulative delta grinding from ~−1.5K (carried from Sep 1's weak close) to ~−2.9K. The midday flush failed: the ~12:00 bar traded ~239k at ~78% sell for a ~−2.0K delta and could not make a new low — 23,940 held to the tick, cumulative delta bottomed ~−4.7K. The response was one bar: ~13:00–13:15, ~194k contracts at ~86% buy, +2.2K delta, snapping cumulative delta −4.1K → −1.9K and lifting price off the low. That was the only conviction in the session. The afternoon then rose 23,955 → 24,029 (14:15) while every bar carried a small negative delta — price up, delta down — and cumulative delta bled back to −3.9K, its weakest reading of the day, as price sat near its highs. Close 23,994.8.
Compact, balanced profile sitting entirely below Sep 1's value area — the gap was accepted, not rejected. Value ~23,958 (VAL) / 23,985 (POC) / 24,024 (VAH). Poor Low 23,940 (the weekly low, unrepaired); Poor High ~24,049. 109-point range — the tightest day in over a week. Close back inside value, just above the POC.
Futures OI +511k to 16.56M — a second straight day of short buildup, the largest single-day add of the run, on a day price barely moved. Sellers pressing even into a level that held.
Testing 23,940 and defending it — but not buying it back. The hardest sell bar of the day failed to break the level (a support signal), yet the close-out delta divergence says the bounce was covering, not accumulation. Both sides showed up at 23,940; neither won the day.
When the day's most aggressive selling can't print a new low, the level is real — but a bounce that rises while cumulative delta falls to a new session low is short-covering, not demand. Trade the first target off support and leave; don't turn a failed-breakdown scalp into a swing without the delta confirmation.
Futures O/H/L/C: 24,085.0 / 24,148.0 / 23,971.1 / 23,973.4 · −21 pts (−0.09%) off Sep 2's 23,994.8 (−175 from the high)
| Level | |
|---|---|
| Daily CPR (ultra-narrow, ~4 pt) | BC 23,994 · PP 23,996 · TC 23,998 |
| Daily R1 / R2 / R3 | 24,053 · 24,105 · 24,162 |
| Daily S1 / S2 / S3 | 23,944 · 23,887 · 23,835 |
| Daily Camarilla | H3 24,030 · H4 24,060 · L3 23,970 · L4 23,940 |
| Weekly CPR (weak-close, stale) | TC 24,365 · PP 24,389 · BC 24,412 |
| Prev day High-Low | 24,049 / 23,940 |
24,085 — above the entire ultra-narrow daily CPR (~23,996), above daily R1 (24,053), into the R2 / Camarilla H4 band (24,060–24,105). Second ~4-point CPR of the week — trend-day signal again — but this time price gapped up, into a stack of resistance it had spent two days selling away from. A narrow CPR resolving from an extended open at known resistance is a fade unless the flow confirms up.
The gap looked like a breakout for exactly two 15-minute bars: 09:15–09:45 ran 24,085 → 24,148 on the recap footprint's +1.68K then +887 delta bars, 65–66% buy volume. Cumulative delta made its session high (~+2.62K) with price at the 24,148 high — and the footprint labelled the move short covering, not fresh longs. By the third bar (10:00, still near the high) per-bar delta was +56 and buy volume back to ~51%; the fourth was negative. That is the whole tell. From 10:15 it sold: the 11:00 bar broke to 24,036 (−52 on the 15-min), midday balanced 24,020–24,050, and the last 90 minutes did the damage — the 14:45–15:15 bars traded 156k / 179k / 126k on falling prices, cumulative delta collapsed +1.0K → −1.07K, crossing zero and accelerating. Price broke 24,000, broke the CPR, and closed 23,973.4 essentially on the low. The morning selling was a squeeze unwinding; the last hour was fresh shorts initiating and getting filled without a bounce.
Single distribution with a lopsided afternoon tail. Value ~24,008 (VAL) / 24,037 (POC) / 24,100 (VAH). Poor High near 24,100; Poor Low near 23,950, extended down to 23,971 on thin acceptance into the close — unrepaired. Close below the whole value area for the third straight session.
Futures OI ~+530k to ~17.09M (bhavcopy pending; from the intraday feed) — a third consecutive day of short buildup. Options: PCR (OI) slid 0.94 → 0.65 through the day, all-day call writing (call OI +~37%, put OI flat — no put writers building a floor), max pain drifted 24,000 → 23,950 with price. Footprint delta, options OI and futures OI all pointing the same way into the close.
Using the opening squeeze to distribute, then leaning short into the close. A gap-up on short covering that tops with cumulative delta at the high and buy volume already fading is the same setup as the Aug 3 → Aug 4 top, compressed into one morning.
Two ultra-narrow CPRs in one week, both trend days, opposite open locations, same direction out — down. When a gap-up is explicitly short covering on the footprint and cumulative delta peaks with price at the high, the high is in; the only question is where you get the entry, not whether to take it.
Futures O/H/L/C: 24,041.0 / 24,120.0 / 24,025.0 / 24,048.0 · +47.9 pts (+0.20%) on the day (−72 from the high) — opened +67.6 above Sep 3's 23,973.4 close
| Level | |
|---|---|
| Daily CPR (inverted, ~57 pt) | TC 24,002 · PP 24,031 · BC 24,060 |
| Daily R1 / R2 / R3 | 24,091 · 24,208 · 24,267 |
| Daily S1 / S2 / S3 | 23,914 · 23,854 · 23,737 |
| Daily Camarilla | H3 23,990 · H4 24,071 · L3 23,957 · L4 23,876 |
| Weekly CPR (weak-close, stale, carried from Monday) | TC 24,365 · PP 24,389 · BC 24,412 |
| Prev day High-Low | 24,148 / 23,971 |
24,041 — inside the daily CPR band, above pivot (24,031), below R1 (24,091). A gap up of ~68 points straight through Thursday's aggressive closing sell-off, but landing inside the CPR rather than breaking through resistance — an open like this after a fresh-short close reads as a covering setup, not a fresh trend continuation. Wait for the flow to confirm either way.
The first bar printed a modest +222 delta. The second gave it back and then some — −670 delta, cumulative delta swinging to −448 as price dipped toward 24,043. That dip was bought immediately: +716 the next bar, cumulative delta back to +268, and buying continued in steps through the next hour. One bar did the heavy lifting: +835 delta, the largest of the session, driving cumulative delta to +1.46K and then +1.62K on the next bar — the session high, made before midday — as price pushed toward 24,120. The OI read flagged it plainly: short covering into the highs, not fresh buying.
Two bars (−382, −256) pulled cumulative delta back to +980 as price eased to 24,043 — almost a full retrace of the morning's covering low. The afternoon chopped around VWAP (24,060–24,067), a second push (+231, the day's second-largest buy bar) took cumulative delta to +1.52K without price making a new high, then it faded: a run of small negative bars into the close, cumulative delta settling at +1.24K — net positive for the day, but rolling over into the bell, not building.
Narrow, rotational, both ends unfinished — a Poor High near 24,120 and a Poor Low near 24,000. Value built 24,043–24,081, close at the lower edge — about as neutral a profile as the month has produced. The overhead band at 24,083–24,090 (yesterday's broken Aug low) held again on the retest.
PCR (OI) 0.69 → 0.85 — call-heavy at the open, put writers stepping in through the day. Call OI −10%, put OI +10% — writers building a floor, the opposite lean from Thursday's all-day call writing. Max pain 24,000 → 23,950. Futures OI roughly flat, ~0.1% below the open — the options-side lean wasn't backed by fresh futures conviction.
Covering, not accumulating. The push toward 24,120 ran on shorts closing out, and once that supply of covering was used up by late morning, nothing fresh replaced it — cumulative delta topped and spent the rest of the session giving ground back. Futures OI sitting flat all day is the confirmation: nobody built new size behind either the rally or the put writing.
A covering rally is tradeable for the move it actually makes — it doesn't have to become a trend to be worth taking. Lot A caught the real structural target (the broken Aug low); the discipline was in trailing Lot B tight rather than holding for the poor high at 24,120, which never got real buying behind it and gave the rally back before the close.
Weekly levels (from Week 1's Sep 1–4 range): BC 24,118 · PP 24,095 · TC 24,071 · R1 24,249 · R2 24,451 · S1 23,893 · S2 23,739 · Camarilla H3 24,146 · H4 24,244 · L3 23,950 · L4 23,852 · Prev-wk High 24,296 · Prev-wk Low 23,940.
Price opened the week at 23,990.7 — below the whole weekly CPR band — and never traded back into it. Bearish open location, confirmed all week: four more trend-day shorts before Friday's reversal finally broke the run.
Futures O/H/L/C: 23,990.7 / 23,990.7 / 23,861.0 / 23,885.0 · −163.1 pts (−0.68%) off Fri Sep 4's 24,048.1 — the open was the high
| Level | |
|---|---|
| Daily CPR (ultra-narrow, ~16 pt) | TC 24,056 · PP 24,064 · BC 24,073 |
| Daily R1 / R2 / R3 | 24,104 · 24,159 · 24,199 |
| Daily S1 / S2 / S3 | 24,009 · 23,969 · 23,914 |
| Daily Camarilla | H3 24,057 · H4 24,100 · L3 24,039 · L4 23,996 |
| Weekly CPR (new week, narrow ~54 pt / 0.22%) | TC 24,075 · PP 24,102 · BC 24,130 |
| Prev day High-Low | 24,120 / 24,025 |
23,990.7 — below the entire ultra-narrow daily CPR (24,056–24,073), below daily S1 (24,009), below Camarilla L4 (23,996), between S1 and S2. And below the whole of the new week's CPR (24,075–24,130). Third ~4-to-16-pt daily CPR in the last five sessions — trend-day signal each time — and this one gapped down into open air below every reference that mattered. An ultra-narrow CPR that opens below itself and below the weekly CPR is a trend-day short; the only question is the entry.
The first 15-minute bar was the high of the day. Futures opened 23,990.7 after the gap and never printed higher — cumulative delta was already negative and slid from roughly −1.3K through −1.5K on the opening bars, buy volume stuck 36–46%, no test of the open, no bid near the round number above. Selling then accelerated into 11:00–11:30: cumulative delta bottomed near −2.24K as price cut through 24,000, Friday's poor low and 23,965 to the 23,861 low, sell volume 55–65% with minimum-delta prints on the heavy bars (one-directional, no absorption). From ~12:00 to ~14:15 the tape did something worth flagging — cumulative delta ground back from −2.24K to about −640, a genuine three-hour buying effort — but price never moved with it, boxed 23,880–23,920 the whole time. Buyers in size, sellers matching them and holding the ceiling. It needed one decisive positive bar to turn the absorption into a base; it never came. The last hour settled it: a +435 buy bar to the session's delta best, met immediately with a −702 sell bar then −219 into the bell, cumulative delta −640 → −1.56K, price fading to 23,885 near the low.
Narrow, elongated-down distribution entirely below Friday's value. Value ~23,864 (VAL) / 23,894 (POC) / 23,924 (VAH). Poor Low near 23,855 — no tapering rotation, unfinished — which also sets the new weekly low. Poor High near 23,924. Fourth straight close below the prior day's value area; the staircase down (Aug 26 value 24,450–24,520 → Sep 1 node 24,188 → Fri 24,000–24,090 → today 23,864–23,924) hasn't broken stride.
Futures OI +4.5% since the 09:15 open — short buildup, added through the down move. Options: PCR (OI) 0.67 → 0.54 → 0.65 through the day — heavy call writing into the fall, some trimmed into the close; put OI roughly flat, no floor built. Max pain drifted 23,850 → 23,800. Pre-market participant split: FIIs net short 2.36 lakh index-futures contracts and still adding (2.29 → 2.36 across the week), retail long 2.10 lakh the other side. Footprint delta, call writing and futures OI all aligned short into the close.
Selling from the open and pressing shorts through the day — the FII short kept growing, futures OI built on the way down, call writers stacked the ceiling. The one wrinkle: the mid-session three-hour delta recovery was real buying in size, and it got fully absorbed. Either failed accumulation or an early hand — the close on the lows says it lost.
Three ultra-narrow CPRs in five sessions, three trend days, all resolving down. When the daily CPR is ultra-narrow and the open is below both the daily and the weekly CPR, the direction isn't the question — the entry is. And a mid-session cumulative-delta recovery that price won't follow is absorption, not a bottom: it needs a decisive up-bar to become a base, and until it prints one, the trend trade stays on.
Futures O/H/L/C: 23,828.0 / 23,830.0 / 23,725.0 / 23,744.1 · −123.6 pts (−0.52%) off Mon Sep 7's 23,867.7 — opened two points below the day's high
| Level | |
|---|---|
| Daily CPR (narrow, ~40 pt) | TC 23,888 · PP 23,908 · BC 23,928 |
| Daily R1 / R2 | 23,960 · 24,053 |
| Daily S1 / S2 / S3 | 23,815 · 23,763 · 23,670 |
| Daily Camarilla | H3 23,881 · H4 23,948 · L3 23,854 · L4 23,788 |
| Weekly CPR (same as Mon, narrow ~47 pt) | TC 24,075 · PP 24,102 · BC 24,130 |
| Prev day High-Low | 24,000 / 23,855 |
23,828 — below the entire daily CPR (23,888–23,928), below Camarilla L3 (23,854), between daily S1 (23,815) and S2. And ~250 points below the weekly CPR (24,075–24,130). Fourth narrow daily CPR in six sessions — trend-day signal each time — and this one gapped down into open air below both the daily and the weekly central range. Same read as the last three: the direction isn't the question, only the entry.
The first 15-minute bar was the high. Futures opened 23,828, printed 23,830, and never traded back to it — the opening bars carried the day's heaviest volume (4.7K / 2.1K / 2.0K) at 52–58% sell, cumulative delta from −799 on bar one to −884 by 09:45, price straight down toward 23,760. Selling resumed into 11:00–11:45: a single −638 bar took cumulative delta from ~−1.4K to −2.04K / −2.13K as price broke to new lows, 70%+ sell, minimum-delta prints — one-directional, no absorption. From ~12:00 to ~13:30 the tape went flat and cumulative delta held between −1.95K and −1.99K for 90 minutes — the selling genuinely stopped, no new lows, price boxed just above the weekly low. That's seller exhaustion, but delta merely flat (not turning up) is a pause, not a base. Around 13:30 a −439 bar broke the flat-line downward and cumulative delta ran to roughly −2.9K into the close — the deepest of the entire six-session decline. Low 23,725, close 23,744.1 at the day's volume point of control (~23,750), below VWAP.
Narrow, elongated-down distribution. Value ~23,738 (VAL) / 23,767 (POC) / 23,796 (VAH). Poor Low 23,725 (unfinished, = new weekly low); Poor High 23,830. Fifth straight close below the prior day's value area. Value migration lower every session: Sep 1 at 24,190–24,285 → Fri 04 at 24,045–24,095 → Mon 07 at 23,862–23,920 → today 23,738–23,796, ~500 points across six sessions with no counter-trend day.
Futures OI continued building on the down move — short buildup. Options: PCR (OI) ~0.78 → ~0.54 → ~0.65 through the day, all-day call writing (put OI roughly flat, no floor). Max pain held near 23,700. FIIs stayed heavily net short index futures. Footprint delta, call writing and futures OI all aligned short into the close; the footprint's OI-Sense read showed Long Unwinding + Short Buildup.
Selling from the open and pressing shorts all session — FII short growing, futures OI building on the way down, call writers stacking the ceiling. The 90-minute midday flat was real seller exhaustion, but no buyer stepped in to convert it, and the −439 bar resumed the trend. Six sessions, one direction, and the deepest cumulative-delta close of the run says the sellers still aren't done.
Four narrow CPRs in six sessions, four trend days, all down. The pattern is now the whole month: narrow daily CPR + open below both the daily and weekly central range = trend-day short, and the midday delta flat that keeps forming is exhaustion, not a floor — it has not once turned into a base, because it never prints the decisive up-bar that would make it one. Trade the level target and trail; don't wait for a bottom that keeps not arriving.
Futures O/H/L/C: 23,674.0 / 23,674.0 / 23,517.1 / 23,530.0 · −219.6 pts (−0.92%) off Tue Sep 8's 23,749.6 — opened at the high, biggest single-day fall of the seven-session run (DB bhavcopy settle 23,552.2 — reconcile at month-end)
| Level | |
|---|---|
| Daily CPR (ultra-narrow, ~19 pt) | TC 23,759 · PP 23,768 · BC 23,778 |
| Daily R1 / R2 | 23,811 · 23,873 |
| Daily S1 / S2 / S3 | 23,706 · 23,663 · 23,601 |
| Daily Camarilla | H3 23,759 · H4 23,807 · L3 23,740 · L4 23,692 |
| Weekly CPR (same as Mon/Tue, narrow ~47 pt) | TC 24,075 · PP 24,102 · BC 24,130 |
| Prev day High-Low | 23,830 / 23,725 |
23,674 — below the entire ultra-narrow daily CPR (23,759–23,778), below daily S1 (23,706), below Camarilla L4 (23,692), between S1 and S2. And ~400 points below the weekly CPR. Fifth narrow daily CPR in seven sessions — trend-day signal each time — and this one gapped down into open air below the daily central range, S1, and Camarilla L4. Same read as the last four: direction settled, only the entry is open.
The open was the high — 23,674, never a higher print, cumulative delta negative from bar one, price straight down toward the previous weekly low. Then, for the first time in the decline, a real floor formed. Off the ~23,576 area: a +813 delta bar at 79% buy around 09:35, then back-to-back +471 and +315 buy bars, and cumulative delta clawed from ~−1.4K up to about −400 to −440 over the early afternoon — genuine buying, not the flat-delta pauses of Monday and Tuesday. Price recovered ~80 points to 23,657 and tested VWAP; the options side agreed (PCR 0.65 → 0.81, puts +207L, "base forming"). For ~2 hours it looked like the bottom. It broke. From ~14:15 the recovery flat-lined, then the last hour delivered two sell bars of −1.78K and −1.49K that drove cumulative delta from ~−500 to −5.05K — by far the deepest close of the entire run. Price sliced 23,600 / 23,576 / 23,555 and set the low at 23,517, closing 23,530. The options side turned with it: PCR 0.86 → 0.64, put writers unwound −258L, back to "call writers pressing the top."
Narrow, elongated-down distribution with a soft Poor High near 23,666. Value ~23,587 (VAL) / 23,638 (POC) / 23,666 (VAH), entirely below Tuesday's value (23,735–23,792). Sixth straight close below the prior day's value area; ~900 points of value migration across seven sessions with no counter-trend day.
Futures OI +2.7% since the open — short buildup, added on the late breakdown. Options: PCR (OI) 0.65 → 0.81 → 0.64 — a full round-trip; put writers built a midday floor (+207L), then unwound it into the close (−258L since 13:15) as the market broke. Max pain held near 23,600; price closed 70 points below it. FIIs stayed heavily net short.
Testing the water and getting out. The midday floor was real — put writers active, cumulative delta turning up, buyers transacting in size — and by 3pm every one of them had reversed: put writers unwound, call writers re-loaded, cumulative delta collapsed to −5.05K. The most aggressive selling of the entire seven-session decline came in the final hour, into a market that had just tried and failed to bottom.
Five narrow CPRs in seven sessions, five trend days, all down. Today added the clearest lesson of the month on what a base actually needs: the midday floor had everything a bottom is supposed to have — positive cumulative delta, put writers stepping in, price up 80 points — and it still failed, because it never printed the decisive up-bar that reclaims structure and holds it. Cumulative delta turning up is necessary but not sufficient; it has to keep going and take a level back. Until it does, the trend trade stays on, and a runner trailed on 15-min lower highs rides straight through the bounce.
Futures O/H/L/C: 23,525.5 / 23,569.0 / 23,455.0 / 23,500.1 · −52.1 pts (−0.22%) off Wed Sep 9's 23,552.2 bhavcopy settle (−29.9 off the 23,530.0 last-traded) — opened 23,525.5, a small gap down; the smallest fall of the eight-session decline
| Level | |
|---|---|
| Daily CPR (narrow, ~44 pt — the widest of the recent run) | TC 23,552 · PP 23,574 · BC 23,596 |
| Daily R1 / R2 | 23,630 · 23,731 |
| Daily S1 / S2 / S3 | 23,473 · 23,417 · 23,317 |
| Daily Camarilla | H3 23,559 · H4 23,573 · L3 23,501 · L4 23,487 |
| Weekly CPR (same as Mon–Wed, narrow ~47 pt) | TC 24,075 · PP 24,102 · BC 24,130 |
| Prev day High-Low | 23,674 / 23,517 |
23,525.5 — below the entire daily CPR (23,552–23,596), above daily S1 (23,473) and above Camarilla L3 (23,501), and ~575 points below the weekly CPR. Sixth narrow daily CPR in eight sessions — trend-day signal each time — but this one is the widest of the recent run (~44 pt vs ~19 pt on Wednesday) and the gap down was only ~27 points, not the open-air gaps of Sep 7–9. Same directional read — trend-day short — but a weaker version of it: wider central range, tiny gap, and price already eight sessions and ~750 points extended below the weekly CPR.
For the first time in the run, the open was not the high. Futures opened 23,525.5 and pushed to 23,569 in the first hour — a tap into the underside of the daily CPR (TC 23,552) — then failed there and rolled back. From that reject, cumulative delta went negative and stayed shallow-negative: it held around −400 through the entire morning and midday, the same flat-delta pause that formed on Monday and Tuesday. The afternoon drifted — not flushed — to the day's low 23,455, with cumulative delta reaching about −2.08K, and the notable part is what was missing: no bar worse than about −600, no −1.5K sell bar, nothing like Wednesday's −1.78K / −1.49K pair. The 23,455–23,470 band absorbed the day's heaviest two-sided volume (768×960, 796×241, 350-lot rows) and held. Then the last hour did something no session in the run had done: price lifted off 23,455 and cumulative delta recovered to about −1.8K on positive bars (+255, +56, +61), closing 23,500.1 — back at the day's POC, just above VAL. First session of the decline where the final hour bought.
Tight, narrow distribution — the narrowest value area of the run. VAL 23,494.5 / POC 23,511.8 / VAH 23,563.5, about 70 points wide. Poor Low 23,455, Poor High 23,563 — both ends unfinished. Value sits entirely below Wednesday's (23,586–23,667), so it is the seventh straight close below the prior day's value area — but the rate of value migration collapsed: ~130 pt Mon→Tue, ~150 pt Tue→Wed, only ~90 pt Wed→today, and into the tightest VA of the month.
Futures OI roughly flat on the day — no short buildup, the first session of the run without it. Options: PCR (OI) ~0.62 → ~0.72 through the day — put writers stepping in. Put OI +29% vs call OI +14% — the first session of the decline where put writers out-added call writers, a floor being built at 23,400–23,500. Max pain held 23,500; price closed on it. FIIs stayed heavily net short index futures but stopped adding to the position. The footprint's OI-Sense read churned between Short Covering and Long Unwinding all day — both sides reducing, nobody committing.
Not pressing, for the first time in eight sessions. No fresh futures shorts, put writers building support into the 23,400–23,500 shelf, buyers absorbing size at 23,455. The selling that defined the week simply eased — but nobody stepped up to buy it aggressively either, so this is exhaustion, not a reversal. The all-day OI churn (short covering + long unwinding on repeat) says everyone is trimming risk and no one is adding it, which is where an eight-session trend usually stalls before it either bases or breaks.
Six narrow CPRs in eight sessions — but today showed how much the quality of the same signal varies. A ~44-pt CPR with a 27-pt gap is not a ~19-pt CPR with a 150-pt open-air gap, and the trade reflected it: a wide stop, a sub-1R payoff, and a runner stopped on the first real higher high instead of carried into a collapse. The character change is the point — no −1.5K bar, buyers holding the low, the last hour bidding, put writers finally out-adding call writers, futures shorts not adding. None of that reverses a trend by itself. But when the signal weakens and the tape stops confirming, the honest move is to take the level target, trail tight, and stop calling it a trend day.
Futures O/H/L/C: 23,335.0 / 23,517.4 / 23,300.0 / 23,485.2 · +1.2 pts (+0.01%) off Thu 10 Sep's close — essentially flat, but a 217-point low-to-high round trip inside the session
| Level | |
|---|---|
| Daily CPR (ultra-narrow, ~8 pt — carried from Thu's H/L/C) | TC 23,504 · PP 23,508 · BC 23,512 |
| Daily R1 / R2 | 23,561 · 23,622 |
| Daily S1 / S2 / S3 | 23,447 · 23,394 · 23,333 |
| Prev day High-Low | 23,569 / 23,455 |
23,335 — ~165 points below the ultra-narrow daily CPR, below daily S1 and S2, and landing almost exactly at daily S3 (23,333) — the most extreme gap-down open of the entire run. By the old pattern this reads as trend-day-short-number-seven. But this open is also the framework's other defined setup: a market already this stretched, gapping open at its own measured support, is exactly the "one more flush, then watch for the snap-back" condition flagged repeatedly since Sep 9.
Price didn't stop at S3. In the first 90 minutes it sliced through even that, down to a new low of 23,300 — 155 points below Thursday's low, the most aggressive flush of the run. Then, in a single 15-minute bar around 11:00, the tape reversed: delta on that bar hit +851, an Extreme Delta bullish print (buyers dominating essentially the whole bar). By ~11:15 price had already round-tripped back to the opening print (23,335), and it kept climbing from there — cumulative delta ran from deeply negative to about +3,000 by the close, the first clearly positive session close of the entire nine-session decline. VWAP curled up off the low and held. The rally finally stalled at 23,517.4, right under the week's real reclaim zone (23,561–23,563), where a cluster of Market-Weakness-Selling prints (price still probing higher, buying fading) showed up and capped it; price gave back part of the gain into the close.
By far the widest value area of the run — VAL 23,361 / POC 23,419.5 / VAH 23,504, about 143 points versus the 70–90-point ranges of the past week. For the first time since the decline began, today's value overlapped the prior day's (Thursday's 23,494–23,563) rather than sitting entirely below it — the eight-session streak of strictly-lower value migration is broken.
Futures OI fell ~1.9% (18.35M → 18.01M) through the day — the rally was built on shorts covering, not fresh longs arriving. Options: PCR (OI) 0.63 → 1.05, a full round trip and then some, ending net put-heavy for the first time in the run. Call OI fell ~22% (heavy unwinding into the squeeze); put OI rose ~30% (writers building in as price recovered). Max pain drifted from 23,400 to 23,450, tracking price up.
Leaving, not buying. The delta was real and the reversal was real, but the OI tells you who moved: shorts covering into the low, call writers unwinding as the squeeze ran, put writers building support behind it. Nobody committed fresh capital to the long side today — the tape did the work, and positioning followed it up rather than led it.
Nine sessions of one-way selling produced, on the tenth session, exactly the setup the framework had been describing as the trigger: one more flush past every standard support, then a real delta-driven reversal with the OI showing shorts leaving rather than longs arriving. The framework's two setups — narrow-CPR trend-day-short, and undercut-and-snap-back long — aren't in conflict; the second is what the first becomes once the market is stretched enough. The discipline point: the reclaim level (23,561–23,563) still hasn't been taken. Today earns the benefit of the doubt, not the conclusion.
Weekly levels (from Week 2's Sep 7–11 range): BC 23,645 · PP 23,592 · TC 23,539 · R1 23,884 · R2 24,283 · S1 23,193 · S2 22,901 · Camarilla H3 23,675 · H4 23,865 · L3 23,295 · L4 23,105 · Prev-wk High 23,991 · Prev-wk Low 23,300.
Price opened the week at 23,551.7 — inside the wide weekly band, near its lower edge. No clean directional vote from the CPR itself; the week's real story came from specific levels instead — the 23,561–23,563 reclaim zone rejected Tuesday, then two up days, then a rejection at the same zone again Friday.
Futures O/H/L/C: 23,551.7 / 23,589.2 / 23,180.0 / 23,220.0 · −265.2 pts (−1.13%) — the biggest single-session fall since Sep 9, and the day that directly tests Friday's open question
| Level | |
|---|---|
| Daily CPR (moderate, ~51 pt — carried from Fri's H/L/C) | BC 23,409 · PP 23,434 · TC 23,460 |
| Daily R1 / R2 | 23,561 · 23,652 |
| Daily S1 / S2 | 23,351 · 23,217 |
| Prev day High-Low | 23,517 / 23,300 |
23,551.7 — above Friday's CPR (23,409–23,460), inside striking distance of the 23,561–23,563 reclaim zone this series has been flagging since Thursday. The framework's own read: an open above the central range is the bullish-continuation trigger — and for the first fifteen minutes, it looked live.
The first bars pushed to 23,589.2 — clearing the reclaim zone and even Tuesday's own R1 (23,561) briefly. It didn't hold. The OI-behaviour read flipped to Short Buildup right at the failure — fresh shorts, not shorts covering into a fade — and from there NIFTY didn't stop. It sliced through Thursday's low, then Friday's low, printing a new multi-week low at 23,180 in the final hour. Cumulative delta went from a mildly positive open to negative by mid-morning, bottoming near −2.1K in the early afternoon before a small late recovery into the close.
Value area 23,222.2 (VAL) / 23,376.3 (POC) / 23,436.6 (VAH) — about 214 points wide, the widest of the entire run, sitting entirely below Friday's (23,361–23,504). The value-migration streak, paused for exactly one session on Friday, resumed today with more force than before.
The most one-sided read of the run. PCR (OI) 1.01 → 0.54 — the sharpest one-day collapse yet. Call OI +24% (fresh writing pressing the top even as spot fell); put OI −34% (writers unwinding as spot cut through their strikes, not building a floor). Max pain fell 350 points, 23,500 → 23,150, tracking price down almost in lockstep. Futures OI +3.7% (17.84M → 18.50M) — the largest single-day increase of the entire run, and it's short buildup, not covering.
Pressing, with conviction, for the first time since the run began. Every prior down session in this decline showed some mix of covering, unwinding, or hesitation somewhere in the OI picture. Today showed none of that — calls written into the fall, puts abandoned as spot broke through them, and the largest fresh futures short position of the month. The rejection at 23,589 wasn't just a failed test; it was the trigger for genuinely new conviction on the short side.
Friday's reversal-day long carried an explicit condition: the 23,561–23,563 zone had to be reclaimed and held on a pullback to mean the trend was actually over. Today it was tagged and rejected in fifteen minutes, then followed by the largest single-day futures short buildup of the run. The framework doesn't need every reversal signal to be right — it needs the next level to be watched honestly, and today it was watched, tested, and failed. The trend-down case, filed as "not yet disproven" on Friday, is intact again.
Futures O/H/L/C: 23,201.60 / 23,284.75 / 23,116.10 / 23,217.60 · +99.0 pts (+0.43%) — a quiet positive close after Tuesday's rejection, and the first genuinely contained session of the run
| Level | |
|---|---|
| Daily CPR (wide, ~110 pt — carried from Tue's H/L/C) | TC 23,275 · PP 23,330 · BC 23,385 |
| Daily R1 / R2 | 23,479 · 23,739 |
| Daily S1 / S2 | 23,070 · 22,921 |
| Prev day High-Low | 23,589 / 23,180 |
23,201.60 — below the entire wide daily CPR (23,275–23,385), the bearish-continuation read by the framework's own rule. For the first hour it looked correct: a fresh low printed at 23,116.10.
It didn't extend. From 23,116.10 the session reversed and climbed in small, steady steps — no single dramatic flip bar this time, just a persistent build. Cumulative delta rose through the morning, peaked near +1,580 around midday, then eased back to close near +660 as the climb slowed into the afternoon — still comfortably positive, the second constructive delta close of the week. The OI-behaviour read showed Long Unwinding and Short Covering through the session — position reduction both sides, and notably no fresh Short Buildup, a real change from Tuesday's one-sided read.
Value area 23,239.4 (VAL) / 23,285.3 (POC) / 23,318 (VAH) — entirely inside Tuesday's range (23,222.2–23,436.6). The first genuinely contained session of the run: not extending lower, not just overlapping, fully inside the prior day's distribution.
Remarkably calm. PCR (OI) 0.79 → peaked ~1.01 at midday → eased to 0.94 by the close. Call OI +2.5% (unremarkable); put OI +21% (writers built through the day, pace easing late). Max pain didn't move all day — parked at 23,300, the steadiest read of the run. Futures OI essentially flat (18.00M → 18.00M) — no net conviction from futures either way, a sharp contrast with Tuesday's largest short buildup of the month.
Absorbing, not committing. No fresh futures shorts, modest call writing, put writers building at a slower pace than Tuesday — every OI signal today points to reduced conviction on both sides rather than a fresh directional bet. That's consistent with a market that just spent its most one-sided day of the month (Tuesday) and needed a session to digest it.
Not every constructive session needs a violent reversal bar to count. Sep 11 flipped on a single +851 delta print; today built the same conclusion — undercut, held, climbed — in small steady steps over six hours, with the OI backdrop confirming reduced conviction rather than a fresh battle. The framework doesn't need drama to mark a session; it needs the level to hold and the flow to confirm it, and today both did, quietly.
Futures O/H/L/C: 23,275.0 / 23,418.0 / 23,236.0 / 23,350.0 · +77.7 pts (+0.33%) — a genuine two-way trend day; the rally reversed intraday but the close still held most of the gain
| Level | |
|---|---|
| Daily CPR (ultra-narrow, ~11 pt — carried from Wed's H/L/C) | BC 23,200 · PP 23,206 · TC 23,212 |
| Daily R1 / R2 | 23,296 · 23,375 |
| Daily S1 / S2 | 23,128 · 23,038 |
| Prev day High-Low | 23,284.75 / 23,116.10 |
23,275.0 — above the entire ultra-narrow daily CPR (23,200–23,212), the bullish-continuation read. Unlike Wednesday's stabilization (which reversed a bearish signal), today's open-above-CPR signal was already pointing the right way from the start.
The session dipped to the low of the day (23,236.0) early, and buyers stepped in — the low held, not broken. From there NIFTY ran in one direction for most of the day, clearing daily R1 (23,296), then R2 (23,375), and pushing to a high of 23,418.0 — into the overhead resistance zone flagged since Tuesday's rejection. It held for only a few bars: an extreme order-flow ratio print, 0.04, hit right at the top alongside a Market-Weakness-style rejection signal, and price turned over. It faded through the afternoon but never came close to giving back the whole move, closing 23,350.0.
Value area 23,282.5 (VAL) / 23,317.3 (POC) / 23,379.8 (VAH), ~97 points — sitting mostly above Wednesday's value (23,239–23,318). The first session of value migrating higher in over a week, after eight-plus sessions of it migrating lower.
Calm and balanced. PCR (OI) 0.96 → 1.00 — essentially flat all day, no strong lean. Call OI +15% (128.8L → 147.9L); put OI +19% (124.0L → 147.2L) — both sides added roughly in step, not a one-sided build. Max pain held 23,300 all day, unmoved, the steadiest read of the week for the second day running. Futures OI barely moved (17.75M → 17.82M, +0.4%) — no real conviction from futures either way.
Not chasing, in either direction. The options crowd didn't pile into calls on the rally to 23,418, and didn't panic into puts on the rejection — both sides added OI in roughly equal measure, and futures traders sat on their hands. The move today was a genuine price/order-flow event, not something positioning was driving or reacting to strongly.
A trend-day signal doesn't require the whole session to run one way to be worth trading — today opened correctly (above the CPR), the low held exactly where it should have, and the runner's trail did its job catching the reversal at the exact moment the order-flow print flagged it, rather than riding the fade all the way down. The first lot's fixed target and the second lot's trail are supposed to divide labor exactly like this: one captures the clean part of the move, the other protects the profit once the tape actually turns.
Futures O/H/L/C: 23,379.0 / 23,420.0 / 23,312.6 / 23,378.5 · +45.1 pts (+0.19%) — a full round trip, net change nearly zero, but the real story is a second straight rejection at the same overhead level
| Level | |
|---|---|
| Daily CPR (narrow, ~15 pt — carried from Thu's H/L/C) | BC 23,327 · PP 23,335 · TC 23,342 |
| Daily R1 / R2 | 23,433 · 23,516 |
| Daily S1 / S2 | 23,251 · 23,153 |
| Prev day High-Low | 23,418.0 / 23,236.0 |
23,379.0 — above the daily CPR (23,327–23,342), a bullish-continuation read on paper. But the day's real trade wasn't the trend-continuation long — it was the rejection at the level everyone was already watching.
The first hour ticked to 23,420.0 — a marginal new high, just above Thursday's 23,418.0 — testing the exact same overhead zone that turned back Thursday's rally. It held again: a 0.67 order-flow print at the top marked a real, if smaller, rejection than Thursday's 0.04. From there price drifted down through the middle of the session to the low of the day (23,312.6), undercutting the daily CPR entirely, before recovering through the afternoon back to 23,378.5. The OI-behaviour read alternated Long Unwinding and Short Covering the whole session — both sides trimming, nobody adding.
Value area 23,320 (VAL) / 23,364 (POC) / 23,386 (VAH), ~66 points — narrower than Thursday's ~97-point range, matching the day's more contained, two-sided character.
A mild but real shift toward puts. PCR (OI) 0.99 → 1.13. Call OI fell ~3% (166.0L → 160.8L); put OI rose ~10% (164.9L → 181.2L). Max pain moved from 23,300 to 23,350, tracking price up through the day. Futures OI essentially flat (17.67M → 17.67M) — no net conviction from futures.
Nothing decisive. The put-writing lean is real but modest, futures traders didn't move, and the OI-behaviour churn (Long Unwinding, Short Covering, on repeat) is the same "everybody trimming, nobody committing" read that's shown up on the quieter sessions all month. The market spent the day digesting two straight rejections at the same level rather than making a fresh decision.
The daily CPR's open-location read (bullish, since price opened above it) and the actual highest-conviction trade of the day (a short off the twice-rejected resistance) pointed in opposite directions — and the framework's other layers, not the CPR alone, made the call. Order flow flagged the exact rejection point; market profile confirmed a narrower, more contained day than the trend day before it; the CPR's directional bias took a back seat to what price was actually doing at the level everyone was watching. When the layers disagree, the order-flow read at the specific level in question is what decided the trade.
Weekly levels (from Week 3's Sep 15–18 range): BC 23,353 · PP 23,361 · TC 23,370 · R1 23,606 · R2 23,834 · S1 23,133 · S2 22,888 · Camarilla H3 23,509 · H4 23,639 · L3 23,248 · L4 23,118 · Prev-wk High 23,589 · Prev-wk Low 23,116.
Price opened the week at 23,365.5 — right inside the narrow band, the tightest weekly CPR of the month. No edge from the CPR alone; this was the whipsaw week, five sessions in five different directions, order flow and specific levels doing all the work.
Futures O/H/L/C: 23,365.5 / 23,475.0 / 23,360.0 / 23,446.3 · +67.8 pts (+0.29%) — a genuine trend day, closing within 29 points of the high, the day Friday's ultra-narrow CPR was signaling
| Level | |
|---|---|
| Daily CPR (ultra-narrow, ~8 pt — carried from Fri's H/L/C) | BC 23,366 · PP 23,370 · TC 23,374 |
| Daily R1 / R2 | 23,428 · 23,478 |
| Daily S1 / S2 | 23,321 · 23,263 |
| Prev day High-Low | 23,420.0 / 23,312.6 |
23,365.5 — essentially sitting on the CPR's own floor (BC 23,366), not cleanly above or below it. No directional read from the CPR alone this time; the actual trigger came entirely from what order flow did next.
The session low (23,360.0) held almost immediately after the open, and price reclaimed the CPR and cleared daily R1 (23,428) on its way to a high of 23,475.0 — a hair under daily R2 (23,478). The OI-behaviour read sat in Short Covering for essentially the entire session, not the usual back-and-forth churn — one continuous read from open to close. An early Market-Weakness print flagged near 23,440 around the 10:00 mark and did not hold; price shrugged it off and kept climbing. Cumulative buy-side participation built steadily through the day, from roughly 40% in the morning to over 60% by the session's final reads. The strike-level OI panel showed two heavy call-side blocks at 23,400 and 23,450 — exactly the zone the close (23,446.3) landed in.
Last week left behind a run of unresolved "Poor High" shelves — Tuesday through Friday all printed incomplete auctions at their highs. Monday's session ran straight through several of them in one push. Today's most recent value/pivot marker printed at 23,443.6, almost exactly where the session closed.
The one place the tape and the data disagreed. PCR (OI, Sep 22 expiry) 1.12 → 1.46 — a sharp jump toward puts. Max pain slipped 23,300 → 23,200, moving opposite to price. FII index futures: net short widened from 2.88 lakh to 2.91 lakh contracts — FIIs added to shorts into the rally, not covered them. DII (+13,180) and Pro (+35,647) both essentially flat to Friday. Client (retail): net long 2.42 lakh, barely changed (+299 contracts) — retail didn't chase either.
Not confirming the rally. Nobody with size added to the long side — FIIs leaned further short, retail sat on its hands, and the only real positioning move was options traders piling into puts even as price ran higher. The move was real on the tape and in the order-flow read, but the participant data reads more like a squeeze through thin resistance than the start of fresh institutional buying.
The CPR gave no directional edge this time — the open sat too close to its own floor to call it — and the framework leaned entirely on order flow instead, which is exactly what the CPR/pivot/flow/profile layering is supposed to do when one layer goes quiet. A single, unbroken Short Covering read from bell to bell is a cleaner trigger than most of the month's CPR-driven trend days. The participant data is the genuine caution flag: FIIs added shorts into the rally and retail didn't chase, so this trade followed the order-flow trigger correctly, but the framework should not mistake today's clean tape for confirmed institutional conviction — that confirmation, if it comes, is a Tuesday question.
Futures O/H/L/C: 23,456.0 / 23,477.6 / 23,286.0 / 23,410.0 · -36.3 pts (-0.15%) — a real give-back day, and confirmation of the one thing that didn't add up about Monday's rally
| Level | |
|---|---|
| Daily CPR (moderate, ~19 pt — carried from Mon's H/L/C) | BC 23,417.5 · PP 23,427.1 · TC 23,436.7 |
| Daily R1 / R2 | 23,494 · 23,543 |
| Daily S1 / S2 | 23,379 · 23,312 |
| Prev day High-Low | 23,475.0 / 23,360.0 |
23,456.0 — above the daily CPR, a bullish-continuation read on paper, the same signal that carried Monday's trend day cleanly. This time it was a bluff.
Within the first 30 minutes the OI-behaviour read flipped from Short Covering to Long Unwinding and never looked back — the mirror image of Monday's session. From there the session ground lower almost without pause. A brutal 13:00–13:30 sell block printed sell volume above 70% on multiple 15-minute bars, with single-bar delta as negative as -1.16K, driving price through Monday's low to a session low of 23,286.0 — well below Tuesday's own S2 (23,312). Cumulative buy-side participation fell to ~24–30% at the worst of it before a partial recovery to the mid-30s into the close.
Today's session printed its own Poor High near 23,411–23,417 and a Poor Low near 23,326 — incomplete auctions on both ends, the signature of a genuine two-way, rotational day. Value migrated down from Monday's session.
The same-day options read (PCR/max-pain, from the intraday snapshot tracker) swung hard with the tape: PCR 1.22 → 0.80 → 0.86 (mid-morning / 13:15 low / close) — the sharpest drop lining up exactly with the 13:00–13:30 sell block. Max pain slipped 23,450 → 23,350 and held there into the close. The option resistance/support walls migrated down with price (23,500/23,400 → 23,400/23,300). Futures OI rose steadily all day (16.91M → 17.01M, +0.6%) even as price fell — the classic fresh-short-building signature, not longs simply stepping aside. The FII/DII/Pro/Client participant breakdown for today lands the next weekday morning; yesterday's ledger flagged FIIs adding to shorts into Monday's rally, worth checking directly against today's reversal once it's in.
Building shorts, not covering them. Rising futures OI on a falling price, a PCR that broke down alongside the worst of the selling, and max pain sliding lower rather than pulling price back up — every piece of today's options data points the same direction as the order-flow read, unlike most sessions this month where the layers only partly agreed.
This is the session the ledger's own caution from the day before paid off. Sep 21's entry flagged that Monday's rally ran on short covering while FIIs added to index-future shorts into it — not confirmed fresh buying — and today's reversal, on a CPR signal that failed outright, is close to direct confirmation. When the participant/positioning data disagrees with a clean intraday trend, it's worth remembering on the very next session, not just noting and moving on.
Futures O/H/L/C: 23,381.0 / 23,484.1 / 23,371.0 / 23,455.0 · +60.4 pts (+0.26%) — the third straight session with its own character, and the one that confirmed what Tuesday's participant data was pointing to
| Level | |
|---|---|
| Daily CPR (moderate, ~19 pt — carried from Tue's H/L/C) | BC 23,381.8 · PP 23,391.2 · TC 23,400.6 |
| Daily R1 / R2 | 23,496 · 23,583 |
| Daily S1 / S2 | 23,305 · 23,200 |
| Prev day High-Low | 23,477.6 / 23,286.0 |
23,381.0 — essentially on the CPR's own floor, no clean directional read from the pivots alone, the same setup Monday had before it broke out.
The OI-behaviour read showed Short Covering from early in the session, and the tape never really argued with it — price ran to 23,484.1, clearing Monday's own high (23,475.0), before easing slightly into a 23,455.0 close. VWAP held for virtually the entire session. Buy-side participation stayed strong into the final two hours rather than fading late, and price closed inside the same 23,400–23,455 call-OI zone tested twice now this week.
A third straight Poor High this week, near 23,439–23,481 — value still migrating higher through the week's chop rather than settling.
The session's own PCR moved with the tape — 0.90 (10:15) → 1.17 (13:15) → 1.04 (15:15) → 1.01 (close), a real midday swing toward puts that eased into the close, less one-directional than Tuesday's collapse. Max pain moved up 50 points (23,450 → 23,500) and held from midday on, mirroring Tuesday's slide in reverse. Futures OI on the new weekly contract stayed roughly flat through the day (16.27M → 16.19M, a slight net decline) despite the rally — more consistent with short covering than fresh long buildup. And this morning, Tuesday's FII/DII/Pro/Client data finally landed: FII net short widened further to 3.03 lakh contracts (+12,362 on the day) — confirmed shorts added, not covered, into Tuesday's decline.
Getting squeezed, by the look of it. The FII short built through Tuesday, and Wednesday's rally came on Short Covering with no accompanying fresh futures OI build — the fuel for today's move looks like unwind, not new conviction. Put together with the participant data, exactly the setup the order-flow read was hinting at from the open.
This is the cleanest example yet of the framework's layers working together across days, not just within one session — Sep 21's ledger flagged a caution about Monday's rally, Sep 22 was the reversal that confirmed it on the tape, and Sep 23 closed the loop when the actual participant numbers landed and matched the order-flow read exactly. The lesson isn't in any single day's trade; it's that a positioning caution flagged one day can pay off two sessions later, and it's worth carrying forward rather than treating each day as a clean slate.
Futures O/H/L/C: 23,288.0 / 23,319.8 / 23,056.0 / 23,108.6 · -341.2 pts (-1.46%) — the fourth chapter of the week's arc, and the CPR's first genuinely correct open-location call in over a week
| Level | |
|---|---|
| Daily CPR (moderate, ~18 pt — carried from Wed's H/L/C) | BC 23,427.6 · PP 23,436.7 · TC 23,445.9 |
| Daily S1 / S2 | 23,389 · 23,324 |
| Daily S3 | 23,276 |
| Prev day High-Low | 23,484.1 / 23,371.0 |
23,288.0 — below the daily CPR, a clean bearish-continuation read. Unlike Monday, Tuesday, or Wednesday, the CPR's own signal was right this time.
An early bounce ran to 23,319.8 — right into daily S2 (23,323.6) — and stalled there, rejecting back down. From there the OI-behaviour read showed Long Unwinding for most of the session, and the tape ground lower almost without pause: no single violent bar, just a steady, one-directional slide. VWAP sloped down all day and capped every attempt to reclaim it. The session low of 23,056.0 broke below September 15's prior multi-week low.
A single elongated trend-day column, sliding from the low-23,200s to a fresh Poor Low near 23,056–23,107 — the cleanest one-directional structure of the week.
PCR stayed weak all session (0.79 → 0.72 → 0.71 → 0.73), no midday recovery this time. Max pain pulled down 100 points (23,400 → 23,300) and held. Aggregate futures OI on the weekly contract fell all day (15.62M → 15.36M) even as price broke down — net closing of positions, consistent with the Long Unwinding read. The FII/DII/Pro/Client breakdown told the sharper story: FII net short jumped from 2.99 lakh to 3.10 lakh (+11,209) — a meaningful re-add right as the market broke to a new low. Pro added heavily too (+10,099). Retail (Client) grew its net long (+5,866) — buying the dip into the breakdown. Wednesday's own FII data, once complete, showed the short had eased 3.03 lakh → 2.99 lakh (-4,295) — confirming Wednesday's rally really was partial covering, now followed by a harder re-add.
Building the short back, more aggressively than the amount they'd covered on Wednesday. Aggregate OI fell while the FII-specific short grew, meaning retail and other participants closed out faster than FIIs added — consistent with the Client data showing retail actually adding to longs through the decline. Retail bought this dip; FIIs and Pro leaned harder into it.
This is the session where every layer of the framework agreed cleanly for the first time in over a week — CPR open-location, the S2 rejection, the Long Unwinding OI read, the profile's single elongated structure, and (once it was in) the participant data all pointed the same direction. The month's best trade by R wasn't a complicated read; it was the framework's simplest signal (open below CPR, bearish-continuation) working exactly as designed after several sessions where a specific level or an OI-behaviour flip had to override it.
Futures O/H/L/C: 23,093.6 / 23,241.9 / 23,058.0 / 23,186.7 · +78.1 pts (+0.34%) — a genuine retest of Thursday's low that held, closing the week's arc on a pause rather than a resolution
| Level | |
|---|---|
| Daily CPR (wide, bearish-leaning ~53 pt — carried from Thu's H/L/C) | BC 23,187.9 · TC 23,135.0 |
| Daily R1 / S1 | 23,267 · 23,003 |
| Prev day High-Low | 23,319.8 / 23,056.0 |
23,093.6 — below the daily CPR, a bearish-continuation read on paper. Overridden, again, by a specific level rather than the CPR's own direction.
Price tested down to 23,058.0 — almost exactly on Thursday's 23,056.0 low — and held. From there, the OI-behaviour read alternated Short Covering and Long Unwinding rather than running one direction, and VWAP, which had dipped alongside the retest, turned up through the afternoon. Real buying built a fresh volume node near 14:00, with the day's largest positive delta prints coming late rather than fading.
Another Poor Low this week — every session since Tuesday has left one — but today's structure showed genuine two-way rotation rather than the single elongated column Thursday produced.
PCR dipped with the retest (0.82 → 0.80) then recovered as the bounce built (0.93 → 0.92). Max pain dipped to 23,150 then recovered to 23,250. Futures OI kept falling sharply all session (13.87M → 13.33M, -3.9%) even on an up day — net unwind, not fresh conviction either way. The FII/DII/Pro/Client breakdown showed FII net short barely moving (+2,179 to 3.12 lakh) — a fraction of Thursday's add, but no reduction either. Pro added again (+4,766). Retail (Client) trimmed its net long for the first time all week (-1,712).
Not confirming the bounce. FIIs held the short essentially flat rather than covering into the recovery — a different signal from Wednesday's genuine squeeze, where the short measurably eased. Retail's pullback, after a full week of buying every dip, is the other tell: the group that's been wrong all week hesitated right as the group that's been positioned correctly held firm.
Same pattern as Sep 18, Sep 22, and now Sep 25: the CPR's open-location signal keeps getting overridden by a specific level rather than working on its own — which is fine, that's what the framework's layering is for, but it's worth noting the CPR alone has now been wrong on its own signal more often than right over the back half of this run. The real caution here isn't the trade itself (it worked, cleanly) — it's that the participant data didn't confirm the recovery the way Wednesday's did, and that's a genuine open question heading into next week, not a footnote.
Weekly levels (from Week 4's Sep 21–25 range): BC 23,270 · PP 23,242 · TC 23,214 · R1 23,429 · R2 23,670 · S1 23,000 · S2 22,814 · Camarilla H3 23,304 · H4 23,422 · L3 23,069 · L4 22,951 · Prev-wk High 23,484 · Prev-wk Low 23,056.
Price opened the week at 23,115.0 — below the whole weekly band — and never got back into it. Bearish open location, confirmed all three sessions: the breakdown week that closed the month, ending on a failed rally rather than a clean resolution.
Futures O/H/L/C: 23,115.0 / 23,124.1 / 22,792.9 / 22,814.9 · -371.8 pts (-1.60%) — a clean, one-directional breakdown that erased Friday's retest-and-hold entirely
| Level | |
|---|---|
| Daily CPR (wide, bearish-leaning — carried from Fri's H/L/C) | BC 23,150.0 · TC 23,174.5 |
| Daily S1 / S2 | 23,082.5 · 22,978.3 |
| Prev day High-Low | 23,241.9 / 23,058.0 |
23,115.0 — below the daily CPR, a clean bearish-continuation read. The CPR's second correct open-location call in a row.
The open was essentially the high (23,124.1) — from there price ground lower almost without pause. Delta stayed negative through nearly every 15-minute block, no real recovery attempt anywhere in the session. VWAP sloped down from the low-23,000s to the low-22,900s and price stayed under it all day. A zone flagged over the weekend — 22,850 as the key level for bulls — failed intraday, with price trading straight through and closing well below it.
Another Poor Low, breaking decisively below Friday's defended range rather than rotating within it.
PCR fell all session with no recovery (0.67 → 0.62), a cleaner one-directional read than Friday's midday bounce-back. Max pain slid from 23,000 to 22,950. Futures OI fell sharply — 11.46M → 10.35M, about -9.7% in a single session, one of the largest single-day OI declines of the month.
De-risking, broadly. A near-10% single-session OI decline alongside a clean directional PCR read points to genuine position reduction rather than fresh one-sided conviction — though the size of the move is itself notable and worth watching for exhaustion-style characteristics next session.
Two sessions in a row now (Sep 24, Sep 28) the CPR's simplest signal — open-location alone — has worked cleanly, both times on wide, decisive trend days with no real two-way structure. Contrast that with Sep 18/22/25, where a specific level had to override a wrong CPR call. The framework doesn't need to guess which mode a session will be in; it just needs to follow whichever layer is actually confirmed once the session gets going.
Futures O/H/L/C: 22,755.5 / 22,764.9 / 22,579.0 / 22,716.2 · -103.4 pts (-0.45%) — monthly expiry, and the session the morning's squeeze thesis got real, partial confirmation on
| Level | |
|---|---|
| Daily CPR (wide, bearish-leaning — carried from Mon's H/L/C) | BC 22,958.5 · TC 22,862.8 |
| Daily S1 / S2 | 22,697.2 · 22,579.4 |
| Prev day High-Low | 23,124.1 / 22,792.9 |
22,755.5 — below the daily CPR, the third correct bearish open-location call in a row.
The first half of the session extended the week's decline, delta negative through most blocks into a fresh low of 22,579.0 — landing right on daily S2. From there the tape changed character entirely: a sustained positive-delta push through the afternoon, the session's two largest buy-side prints landing in the final hour. VWAP troughed with the low and turned up, though the session still closed net red.
A down-then-up rotation, closing well above the morning's worst levels.
PCR swung from 0.65 near the low to 0.86 by the close — a genuine, fast shift toward balance. Max pain rose 22,700 → 22,750 and held. Futures OI fell sharply (8.29M → 7.12M, -14.1%), though today is expiry so a real portion of that is mechanical unwind. The FII/DII/Pro/Client breakdown showed FII net short falling by over 52,000 contracts (-319,669 to -267,307) — the largest single-session covering of the run, alongside DII adding (+28,520) and Pro/Client both reducing sharply (square-off activity around the expiry roll).
Covering, in size. The FII short reduction is the largest of the month and lines up almost exactly with the session's afternoon order-flow shift — a real squeeze, not a coincidence of timing.
This is the framework's risk management doing exactly what it's designed to do, not a heroic call. The first lot captured the clean move to a pivot target; the second lot's break-even stop is what kept a real, sizeable reversal (52,000+ contracts of FII covering) from turning a winning trade into a smaller one or a loser. Protecting the runner is as much a part of the edge as calling the direction — today just made that unusually visible.
Futures O/H/L/C: 22,839.9 / 22,935.0 / 22,691.0 / 22,700.0 · -16.2 pts (-0.07%) — September's last trading day, and the month's best intraday trade
| Level | |
|---|---|
| Daily CPR (moderate, ~30 pt — carried from Tue's H/L/C) | BC 22,672.0 · TC 22,701.5 |
| Daily R1 / R2 | 22,794.4 · 22,872.6 |
| Prev day High-Low | 22,764.9 / 22,579.0 |
22,839.9 — above the daily CPR, a bullish-continuation read that failed outright at the session's own high.
Price rallied to 22,935.0 early, but cumulative delta stayed negative through nearly the whole session even as price climbed — a real divergence. OI-behaviour flipped from Long Build Up at the open to Short Build Up by early afternoon, and the session reversed hard from there, closing just 9 points off its low.
A Poor High at the failed rally, a Poor Low into the afternoon reversal — incomplete structure on both ends.
PCR rose with the rally (0.82 → 0.92) then collapsed with the reversal (0.64 → 0.65). Futures OI on the new October contract rose ~4.2% through the session, even as price fell in the afternoon — fresh short interest opening on day one of the new contract, not just Tuesday's squeeze unwinding.
Building fresh shorts on the new series. The OI rise into a falling afternoon, right alongside the order-flow's own Short Build Up read, is about as clean a confirmation as the framework gets.
The intraday book closes the month on its cleanest signal: a real cumulative-delta divergence at a fresh high, confirmed by an OI-behaviour flip, is about as textbook as this framework's third layer gets. Twenty-one sessions, twenty-one trades — the swing question, decided separately in the month-end section, is where September's real lesson about how to trade a trend actually lives, not in any single day's call.
October sessions begin a new month's log.
framework ledger nifty futures order flow market profile cpr pivot risk management