# Method: Booming Bulls / Anish Singh Thakur, his taught strategies

realshyt proof pack, https://realshyt.com/proof/anish-singh-thakur-booming-bulls-strategy-backtest. Our test, our method, our opinion. Not financial advice.

How this file was put together: sections 3, 4, 5 and 10 of our test plan, word for word except for internal file paths, then
every results table of our results report. Every number below is also in results/bb_results_*.json. His words, with the
video and the second, sit next to each rule in code/backtest/strategies/ and in section 3. The rules were written down
before the first run; those dated files are kept privately (they name other people's social-media accounts), and their
sha256 is on the proof page. Every trade is in trades/.

Words used in the tables: **target hit** = the trade reached his target (what he counts as a win); **win** = the trade closed
with a net profit after costs (this includes small exits at the day's end); **avg R** = the average result in units of the
amount risked; **break-even win** = the win rate this payoff needs to break even; **years in profit** = calendar years with a
positive total after costs. Money is fixed risk per trade, no compounding. S1 is counted per trade in these tables; the proof
page also counts it his way, by days (results/bb_premises.json: days with a target vs days with a stop and no target).

Data: Indian stocks and indices from free Kaggle / Hugging Face minute files (unofficial sources; NSE's own site is
geo-blocked from our network), gold and Nasdaq (US100 CFD) from the Dukascopy Bank historical datafeed, 1-minute BID and ASK.
Indian data ends 7 Apr 2026 (stocks) and 14 May 2026 (indices): more than 30 days before publication.

What a backtest cannot code: his discretion (zones chosen by eye, "smart" stops, news judgement, candle reading after a year
of practice). The list of what we could not code is at the end of section 3.


## 3. Rules as taught, and how they are coded

(S3–S6). Short form (OURS = our reading where he left it open):

**S1 — VWAP + pivots + Stoch RSI (8OurAiVyhE4).** 5-minute chart (128 s). Pivots Standard, Fibonacci, daily (148 s); "all these are
same" (244 s). VWAP filters: above → buy, below → sell; a VWAP cross is also a trigger (292 s). Stoch RSI default; blue over red =
buy support (353 s). Rule 1: nothing before 10:45 (490 s). Entry on the break of a pivot, VWAP or the day's high/low with VWAP
filter and Stoch support (518, 649 s). Target 1% "a little less", Rs 30 on ~3,000 (567 s); "small stop-loss say 15 rupees, target
30, 1:2" (1800 s). Stop "below the VWAP with Rs 1–2 room" (693 s) and "if a big gap to VWAP above the target, forgo" (1534 s).
Two trades a day; stop after the second SL (1229 s); "make 30 rupees and stop for the day" (1112 s). One stock a day: "Bajaj will
pay you, or HDFC or Reliance" (1674 s).
OURS: candle-close entry (headline) vs stop order at the level; stop 0.5% / target 1% (headline, his rupee numbers) vs stop
below VWAP + 0.05% room, 0.25% floor; no signals from candles closing after 15:00; flat 15:20.
Readings: exact (StochRSI) · no Stoch (he: "even if the Stochastic doesn't indicate anything, that's not an issue", 1163 s) ·
stop below VWAP · target next pivot · stop-order entry · most generous (1:1).

**S2 — ADX + Supertrend + pivots (1TFcGjMwh4s).** 5-min chart, ADX(14,14) on 15-min > 20 = trading zone (198, 235, 536 s), value of
the last completed 15-min candle (request.security, lookahead off; OURS). Supertrend 10/hl2/3 decides the side (514, 672 s).
Entry: a 5-min close through a pivot level on Supertrend's side, at the candle close (586, 1164 s). Stop "above this pivot and
candle" (878 s), ≤ 150 Bank Nifty points else the previous candle, else no trade (959, 1951 s); OURS: the 150 points scale with the
index (150 at 34,879.65). Target: the next pivot; if half the way is already done, the one after (1066 s); none beyond R3/S3 (1001 s).
Trail: at half-way the stop moves to the broken pivot (743 s). Max 2 trades a day (811 s). From the 09:20 close (1124 s); no new
trade from 14:30 (1370 s); OURS flat 15:20.
Readings: exact · no trail · stop one pivot back · 1:1.5 · 1:2 · all conditions (+ ADX rising, "fresh" = first break of the level
that day) · most generous (1:1).

**S3 — Sniper Headshot Entry (jvzd7UPlb5Y).** Liquidity grab + demand zone + green candle (731 s); zone = wick + body (896 s); never
buy the touch, wait for the green candle (903 s); stop a little below 50% of the green body (759 s); target just before the prior
high, "2.8 → 2.6" (768 s); trend positive (817 s); 5 or 15 minutes (988 s). OURS: fractal 3/3 swings; swept level = latest confirmed
swing low traded through in the last 12 candles; demand zone = an older, unbroken swing low below it (≤ 200 candles), touched in the
last 3 candles; green candle closing above the zone top with body ≥ 0.5 ATR(14); trend = close > EMA(50); stop = mid-body − 10% of
the body; target 93% of the way to the latest swing high above entry (skip < 1R); max 3 a day; 24 h cap.
Readings: exact M15 · exact M5 · his 1:4 (fixed 4R) · all conditions (+ HH/HL structure, body ≥ 1 ATR, ≥ 2R) · most generous (no zone,
no trend, 1R).

**S4 — Order Block 50% (RTbVZfriRrw).** OB = candle 1 of a 3-candle FVG (208 s); its 50% is "the main line", price must touch it
(412 s); entry on the 1-minute close back above (438 s); stop "even $10 below the 50%" (449 s); be practical, 1:2 (557 s); gold:
read 5-min, execute 1-min (589 s). OURS: wick-to-wick FVG on M5; OB live 24 h or until a 1-min close beyond its far edge; $10 scaled
with price (0.2203%); one trade per OB; one position at a time.
Readings: exact (2R) · his 1:4 · all conditions (explosive candle 2 ≥ 2 ATR, green entry candle, stop fully below) · the creator's
reading (stop below OB low, target last M5 swing high) · most generous (1R).

**S5 — Prop-firm New York session (NwCyONUCsC0).** One trade a day (73 s); NY session, 6:30–10 pm IST (75, 147 s); long = red
candle, small green candle, 3rd or 4th candle breaks (162 s), on a closing basis (276 s), entry candle "70-30" (178 s); stop above
one or two candles (119 s); R:R fixed 1:1 (199 s); avoid event candles (197 s); gold (248 s). OURS: M5; 13:00–16:30 UTC; break of
the first candle's body; 70% body; stop beyond the last two candles; closed at the 17:00 NY roll.
Readings: exact (1R) · 2R · 3R · all conditions (2nd closes inside 1st body, 1st body ≥ 50%, skip event days) · NY-clock window ·
most generous (intrabar break of the 2nd candle, no 70-30).

**S6 — Prop-firm NASDAQ (Lb4yel3nCws).** 1:1 (25, 463 s); NDQ 5-min (158 s); wait 30 minutes after the open (166 s); a good-size
candle, the next closes inside its body, the 3rd or 4th breaks out (189 s); stop above both candles (590 s); one trade a day (395 s);
70-30 (649 s). OURS: US100 CFD, from 10:00 NY, 1st body ≥ 50% of range, flat at 16:00.
Readings: exact · all conditions (2nd smaller, adverse wick ≤ 20%, stop ≤ 0.6%) · most generous.

**Not codeable** (said plainly if asked): trend lines and candlestick "price action" confirmations (S1), replacing the pivot with
candle reading "after a year" (S2), choosing "important" zones by eye, internal/external liquidity, trap trading and pyramiding
(S3, S4), "logical" stops, news judgement, prop-firm drawdown management (S5, S6).


## 4. Data

| Market | Source | Period | Notes |
|---|---|---|---|
| Bank Nifty, Nifty spot 1-min | Kaggle debashis74017 | 2015-01-09 → 2026-05-14, 2,794 sessions | second source HF thetrademarkk 2021-05 → 2026-07 |
| Bajaj Finance 1-min + volume | Kaggle hk7797/stock-market-india (actual prices) 2017-01-02 → 2020-12-31; debashis74017 ×10 2021-01-01 → 2026-04-07 | 2,282 sessions | debashis 2015–2020 rows are back-adjusted to Rs 5 steps on a Rs 400–3,000 price: not used |
| HDFC Bank, Reliance 1-min + volume | Kaggle debashis74017 (adjusted; 0.1 / 0.05 steps) | 2015-02-02 → 2026-04-07 | |
| HDFC Ltd 1-min + volume | Kaggle hk7797 | 2017-01-02 → 2020-12-31 | "HDFC" as he said it in 2020 |
| Gold XAUUSD 1-min BID+ASK | Dukascopy | 2015-01-02 → 2026-09-30 | |
| US100 1-min BID+ASK, NY cash session | Dukascopy | 2015-01-02 → 2026-09-30, 2,953 sessions | |



## 5. Execution and costs (every doubt against the strategy)

Signals on candles built from 1-minute bars (NSE: aligned to 09:15; US100: 09:30 NY; gold: UTC clock). Close entries fill at the
signal candle's last 1-minute close (NSE) or the next minute's open on the executable side (gold/US100, ASK for buys). Stop first
when stop and target share a minute; a gap through the stop fills at the open; targets fill exactly; in a stop-order fill minute a
stop touch counts and a target only if the minute closed beyond it. An "optimistic intrabar" upper bound flips those doubts.
Costs: S1 NSE equity-intraday statutory charges (STT 0.025% sell leg; exchange 0.00325% → 0.00297% from Oct 2024 + GST; stamp
0.003% buy leg; SEBI fee) + 0.02% slippage per market/stop fill + Rs 20/order brokerage as a share of a fixed Rs 2,000 risk (his "2–3%
of a 1 lakh account"). S2 the Stock Burner audit's ATM-option model (statutory charges on the date on a premium of 0.6%/0.5% of
spot, 1.0/0.5 premium-point slippage per side, ÷ delta 0.5) + Rs 20/order on a fixed Rs 1,000 risk. Gold $0.05 slippage + $0.07/oz
commission; US100 0.5 pt + 0.25 pt. A zero-cost run (no spread, slippage, commission or charges) for every headline reading.


## Summary: each strategy's exact reading on his own market (after costs unless marked)

| Strategy | Market | Trades | Target hit (95% CI) | Avg R after costs | Avg R at zero cost (95% CI) | Years in profit after costs |
|---|---|---|---|---|---|---|
| S1 | BAJFINANCE | 3198 | **22.6%** (21.2–24.1) | -0.101 | +0.069 (+0.025…+0.112) | 1/10 |
| S1 | HDFCBANK | 3635 | **12.9%** (11.9–14.1) | -0.177 | -0.012 (-0.047…+0.023) | 0/12 |
| S1 | RELIANCE | 3714 | **18.1%** (16.9–19.4) | -0.084 | +0.081 (+0.043…+0.119) | 1/12 |
| S1 | HDFC | 1325 | **20.2%** (18.1–22.4) | -0.063 | +0.112 (+0.046…+0.177) | 2/4 |
| S2 | BANKNIFTY | 3506 | **25.8%** (24.3–27.2) | -0.203 | -0.027 (-0.083…+0.030) | 1/12 |
| S2 | NIFTY | 3698 | **26.7%** (25.3–28.2) | -0.296 | -0.049 (-0.100…+0.002) | 1/12 |
| S3 | XAUUSD | 2051 | **20.0%** (18.4–21.8) | -0.477 | -0.023 (-0.096…+0.049) | 0/12 |
| S4 | XAUUSD | 14582 | **28.3%** (27.6–29.1) | -0.103 | +0.012 (-0.010…+0.034) | 0/12 |
| S5 | XAUUSD | 2588 | **42.0%** (40.2–44.0) | -0.172 | +0.010 (-0.028…+0.048) | 0/12 |
| S6 | US100 | 2866 | **44.0%** (42.2–45.9) | -0.128 | +0.013 (-0.024…+0.049) | 2/12 |

# Results, every reading

## S1 · VWAP + Pivot (Fibonacci) + Stoch RSI, intraday stocks (8OurAiVyhE4, 4.4M views, Aug 2020)


### BAJFINANCE · 2017-01-02 → 2026-04-07

After costs:

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% | 3198 | 6.62 | **22.6%** (21.2–24.1) | 37.5% | -0.101 (-0.144…-0.057) | 0.84 | 41.7% | -321.6 | 14 | 1/10 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% | 3312 | 6.86 | **23.3%** (21.9–24.8) | 37.3% | -0.098 (-0.142…-0.055) | 0.844 | 41.3% | -326.2 | 17 | 1/10 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) | 3185 | 6.59 | **18.2%** (16.9–19.6) | 30.0% | -0.193 (-0.248…-0.137) | 0.753 | 36.3% | -613.7 | 17 | 0/10 |
| S1 target next pivot: close entry, StochRSI, SL 0.5%, TP next level beyond entry (1% if none) | 3024 | 6.26 | **46.0%** (44.2–47.7) | 47.4% | -0.119 (-0.158…-0.080) | 0.764 | 54.1% | -360.7 | 11 | 0/10 |
| S1 stop-order entry at the level: StochRSI, SL 0.5% TP 1% | 3285 | 6.8 | **24.7%** (23.2–26.2) | 39.9% | -0.051 (-0.095…-0.007) | 0.917 | 42.0% | -166.7 | 13 | 2/10 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) | 3191 | 6.6 | **43.4%** (41.7–45.2) | 47.4% | -0.142 (-0.175…-0.108) | 0.741 | 54.9% | -452.2 | 11 | 0/10 |

Headline readings with **zero costs** and with the **most favourable intrabar order** (upper bounds):

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% · zero cost | 3165 | 6.55 | **23.7%** (22.3–25.2) | 41.0% | +0.069 (+0.025…+0.112) | 1.13 | 38.1% | +217.1 | 10 | 9/10 |
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% · zero cost + favourable intrabar | 3165 | 6.55 | **23.7%** (22.3–25.2) | 41.0% | +0.069 (+0.025…+0.112) | 1.13 | 38.1% | +217.1 | 10 | 9/10 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% · zero cost | 3275 | 6.78 | **24.3%** (22.9–25.8) | 40.5% | +0.069 (+0.026…+0.113) | 1.13 | 37.6% | +226.6 | 16 | 9/10 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% · zero cost + favourable intrabar | 3275 | 6.78 | **24.3%** (22.9–25.8) | 40.5% | +0.069 (+0.026…+0.113) | 1.13 | 37.6% | +226.6 | 16 | 9/10 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) · zero cost | 3177 | 6.58 | **19.1%** (17.8–20.5) | 32.9% | +0.047 (-0.009…+0.104) | 1.075 | 31.3% | +150.3 | 16 | 5/10 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) · zero cost + favourable intrabar | 3177 | 6.58 | **19.1%** (17.8–20.5) | 32.9% | +0.047 (-0.009…+0.104) | 1.075 | 31.3% | +150.3 | 16 | 5/10 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) · zero cost | 3153 | 6.53 | **45.2%** (43.5–46.9) | 50.0% | +0.013 (-0.021…+0.046) | 1.028 | 49.3% | +39.7 | 9 | 6/10 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) · zero cost + favourable intrabar | 3153 | 6.53 | **45.2%** (43.5–46.9) | 50.0% | +0.013 (-0.021…+0.046) | 1.028 | 49.3% | +39.7 | 9 | 6/10 |

Per year, **S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1%** (after costs / zero cost):

| Year | Trades | Target hit | Win | Total R | Target hit (0 cost) | Total R (0 cost) |
|---|---|---|---|---|---|---|
| 2017 | 358 | 25.1% | 36.0% | -43.1 | 26.8% | +18.0 |
| 2018 | 365 | 27.9% | 38.1% | -20.7 | 28.6% | +35.3 |
| 2019 | 354 | 24.3% | 37.6% | -33.1 | 25.3% | +19.5 |
| 2020 | 371 | 31.5% | 39.9% | +0.6 | 32.6% | +59.0 |
| 2021 | 342 | 23.4% | 37.1% | -35.9 | 24.6% | +28.7 |
| 2022 | 351 | 21.4% | 35.9% | -43.0 | 22.2% | +18.7 |
| 2023 | 306 | 14.1% | 39.9% | -41.3 | 15.3% | +19.9 |
| 2024 | 342 | 17.5% | 33.6% | -68.7 | 18.3% | -15.0 |
| 2025 | 322 | 14.9% | 39.1% | -33.0 | 15.6% | +17.6 |
| 2026 | 87 | 25.3% | 40.2% | -3.4 | 29.9% | +15.4 |

### HDFCBANK · 2015-02-02 → 2026-04-08

After costs:

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% | 3635 | 6.23 | **12.9%** (11.9–14.1) | 37.1% | -0.177 (-0.212…-0.142) | 0.688 | 46.1% | -642.4 | 14 | 0/12 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% | 3730 | 6.39 | **13.5%** (12.5–14.7) | 37.3% | -0.168 (-0.203…-0.133) | 0.704 | 45.8% | -625.0 | 15 | 0/12 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) | 4033 | 6.91 | **10.4%** (9.5–11.4) | 29.5% | -0.289 (-0.333…-0.245) | 0.62 | 40.3% | -1166.8 | 26 | 0/12 |
| S1 target next pivot: close entry, StochRSI, SL 0.5%, TP next level beyond entry (1% if none) | 3449 | 5.91 | **49.5%** (47.8–51.1) | 50.1% | -0.143 (-0.171…-0.115) | 0.657 | 60.4% | -493.6 | 13 | 0/12 |
| S1 stop-order entry at the level: StochRSI, SL 0.5% TP 1% | 3734 | 6.4 | **14.1%** (13.0–15.2) | 38.1% | -0.151 (-0.186…-0.115) | 0.732 | 45.7% | -562.7 | 17 | 0/12 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) | 3659 | 6.27 | **35.3%** (33.8–36.9) | 44.4% | -0.166 (-0.195…-0.137) | 0.675 | 54.2% | -608.0 | 11 | 0/12 |

Headline readings with **zero costs** and with the **most favourable intrabar order** (upper bounds):

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% · zero cost | 3591 | 6.16 | **13.5%** (12.4–14.6) | 42.8% | -0.012 (-0.047…+0.023) | 0.974 | 43.5% | -43.0 | 11 | 5/12 |
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% · zero cost + favourable intrabar | 3591 | 6.16 | **13.5%** (12.4–14.6) | 42.8% | -0.012 (-0.047…+0.023) | 0.974 | 43.5% | -43.0 | 11 | 5/12 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% · zero cost | 3688 | 6.32 | **14.1%** (13.0–15.3) | 42.7% | -0.003 (-0.038…+0.032) | 0.994 | 42.9% | -10.4 | 12 | 5/12 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% · zero cost + favourable intrabar | 3688 | 6.32 | **14.1%** (13.0–15.3) | 42.7% | -0.003 (-0.038…+0.032) | 0.994 | 42.9% | -10.4 | 12 | 5/12 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) · zero cost | 3989 | 6.84 | **11.0%** (10.1–12.0) | 34.5% | -0.024 (-0.069…+0.021) | 0.96 | 35.4% | -95.1 | 17 | 6/12 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) · zero cost + favourable intrabar | 3989 | 6.84 | **11.0%** (10.1–12.0) | 34.5% | -0.024 (-0.069…+0.021) | 0.96 | 35.4% | -95.1 | 17 | 6/12 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) · zero cost | 3617 | 6.2 | **37.4%** (35.8–38.9) | 49.3% | -0.006 (-0.035…+0.023) | 0.986 | 49.7% | -21.6 | 10 | 6/12 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) · zero cost + favourable intrabar | 3617 | 6.2 | **37.4%** (35.8–38.9) | 49.3% | -0.006 (-0.035…+0.023) | 0.986 | 49.7% | -21.6 | 10 | 6/12 |

Per year, **S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1%** (after costs / zero cost):

| Year | Trades | Target hit | Win | Total R | Target hit (0 cost) | Total R (0 cost) |
|---|---|---|---|---|---|---|
| 2015 | 327 | 13.1% | 35.2% | -80.9 | 13.9% | -28.8 |
| 2016 | 327 | 11.0% | 35.8% | -67.2 | 12.3% | -12.7 |
| 2017 | 306 | 6.5% | 32.4% | -76.9 | 7.0% | -23.7 |
| 2018 | 317 | 9.5% | 37.2% | -63.7 | 9.6% | -10.9 |
| 2019 | 329 | 15.2% | 37.4% | -51.4 | 15.7% | +2.0 |
| 2020 | 366 | 23.2% | 35.0% | -60.2 | 24.1% | -1.6 |
| 2021 | 336 | 16.7% | 38.1% | -45.5 | 16.8% | +8.5 |
| 2022 | 334 | 17.7% | 43.4% | -24.2 | 18.1% | +25.8 |
| 2023 | 302 | 7.9% | 37.1% | -66.3 | 8.4% | -11.4 |
| 2024 | 312 | 13.8% | 39.4% | -27.0 | 14.3% | +27.2 |
| 2025 | 298 | 3.7% | 36.6% | -72.9 | 4.1% | -24.6 |
| 2026 | 81 | 16.0% | 38.3% | -6.1 | 16.9% | +7.4 |

### RELIANCE · 2015-02-02 → 2026-04-08

After costs:

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% | 3714 | 6.37 | **18.1%** (16.9–19.4) | 40.4% | -0.084 (-0.122…-0.046) | 0.852 | 44.3% | -313.2 | 14 | 1/12 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% | 3775 | 6.47 | **19.2%** (18.0–20.5) | 40.9% | -0.062 (-0.100…-0.023) | 0.891 | 43.7% | -232.5 | 17 | 0/12 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) | 3940 | 6.75 | **15.3%** (14.2–16.5) | 33.8% | -0.142 (-0.191…-0.093) | 0.806 | 38.8% | -559.9 | 15 | 1/12 |
| S1 target next pivot: close entry, StochRSI, SL 0.5%, TP next level beyond entry (1% if none) | 3521 | 6.04 | **48.9%** (47.3–50.6) | 50.9% | -0.128 (-0.158…-0.098) | 0.712 | 59.3% | -451.4 | 10 | 0/12 |
| S1 stop-order entry at the level: StochRSI, SL 0.5% TP 1% | 3870 | 6.63 | **19.5%** (18.2–20.7) | 41.6% | -0.053 (-0.091…-0.015) | 0.907 | 44.0% | -203.4 | 13 | 3/12 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) | 3677 | 6.3 | **42.2%** (40.6–43.8) | 49.1% | -0.096 (-0.127…-0.066) | 0.806 | 54.4% | -354.6 | 13 | 0/12 |

Headline readings with **zero costs** and with the **most favourable intrabar order** (upper bounds):

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% · zero cost | 3668 | 6.29 | **19.0%** (17.7–20.3) | 44.2% | +0.081 (+0.043…+0.119) | 1.17 | 40.4% | +297.4 | 14 | 10/12 |
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% · zero cost + favourable intrabar | 3668 | 6.29 | **19.0%** (17.7–20.3) | 44.2% | +0.081 (+0.043…+0.119) | 1.17 | 40.4% | +297.4 | 14 | 10/12 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% · zero cost | 3727 | 6.39 | **20.2%** (18.9–21.5) | 44.9% | +0.107 (+0.069…+0.145) | 1.226 | 39.9% | +398.2 | 11 | 11/12 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% · zero cost + favourable intrabar | 3727 | 6.39 | **20.2%** (18.9–21.5) | 44.9% | +0.107 (+0.069…+0.145) | 1.226 | 39.9% | +398.2 | 11 | 11/12 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) · zero cost | 3912 | 6.71 | **16.2%** (15.1–17.4) | 36.8% | +0.104 (+0.055…+0.154) | 1.178 | 33.1% | +406.9 | 18 | 9/12 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) · zero cost + favourable intrabar | 3912 | 6.71 | **16.2%** (15.1–17.4) | 36.8% | +0.104 (+0.055…+0.154) | 1.178 | 33.1% | +406.9 | 18 | 9/12 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) · zero cost | 3629 | 6.22 | **44.1%** (42.5–45.7) | 52.6% | +0.060 (+0.030…+0.090) | 1.145 | 49.2% | +216.8 | 10 | 11/12 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) · zero cost + favourable intrabar | 3628 | 6.22 | **44.1%** (42.5–45.7) | 52.6% | +0.060 (+0.030…+0.090) | 1.146 | 49.2% | +217.8 | 10 | 11/12 |

Per year, **S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1%** (after costs / zero cost):

| Year | Trades | Target hit | Win | Total R | Target hit (0 cost) | Total R (0 cost) |
|---|---|---|---|---|---|---|
| 2015 | 319 | 24.8% | 40.4% | -15.0 | 25.7% | +39.1 |
| 2016 | 330 | 16.7% | 39.1% | -48.9 | 17.2% | +5.3 |
| 2017 | 316 | 15.2% | 43.4% | -7.3 | 16.1% | +46.0 |
| 2018 | 341 | 21.1% | 44.0% | -2.7 | 22.1% | +53.3 |
| 2019 | 339 | 17.4% | 35.7% | -66.2 | 18.9% | +1.1 |
| 2020 | 353 | 29.2% | 42.8% | +15.3 | 28.9% | +56.0 |
| 2021 | 342 | 19.6% | 36.8% | -50.6 | 21.0% | +14.9 |
| 2022 | 337 | 19.6% | 41.5% | -18.7 | 20.6% | +32.5 |
| 2023 | 297 | 7.7% | 41.8% | -32.9 | 8.1% | +19.2 |
| 2024 | 322 | 16.8% | 42.2% | -6.3 | 18.3% | +47.2 |
| 2025 | 324 | 9.6% | 39.2% | -61.1 | 10.0% | -11.3 |
| 2026 | 94 | 17.0% | 33.0% | -18.8 | 17.6% | -5.9 |

### HDFC · 2017-01-02 → 2020-12-31

After costs:

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% | 1325 | 6.36 | **20.2%** (18.1–22.4) | 39.6% | -0.063 (-0.128…+0.002) | 0.89 | 42.4% | -83.7 | 18 | 2/4 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% | 1360 | 6.53 | **20.4%** (18.3–22.6) | 39.0% | -0.079 (-0.144…-0.014) | 0.866 | 42.5% | -107.2 | 14 | 0/4 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) | 1360 | 6.53 | **16.0%** (14.2–18.1) | 32.4% | -0.169 (-0.251…-0.087) | 0.772 | 38.3% | -229.7 | 23 | 1/4 |
| S1 target next pivot: close entry, StochRSI, SL 0.5%, TP next level beyond entry (1% if none) | 1262 | 6.05 | **49.8%** (47.0–52.5) | 49.8% | -0.083 (-0.139…-0.028) | 0.812 | 54.9% | -105.3 | 10 | 0/4 |
| S1 stop-order entry at the level: StochRSI, SL 0.5% TP 1% | 1385 | 6.64 | **20.8%** (18.7–23.0) | 39.0% | -0.084 (-0.148…-0.019) | 0.859 | 42.7% | -116.2 | 16 | 1/4 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) | 1337 | 6.41 | **43.1%** (40.5–45.8) | 48.0% | -0.110 (-0.162…-0.059) | 0.786 | 54.0% | -147.5 | 14 | 0/4 |

Headline readings with **zero costs** and with the **most favourable intrabar order** (upper bounds):

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% · zero cost | 1314 | 6.3 | **21.5%** (19.3–23.8) | 44.3% | +0.112 (+0.046…+0.177) | 1.235 | 39.2% | +147.0 | 14 | 3/4 |
| S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1% · zero cost + favourable intrabar | 1314 | 6.3 | **21.5%** (19.3–23.8) | 44.3% | +0.112 (+0.046…+0.177) | 1.235 | 39.2% | +147.0 | 14 | 3/4 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% · zero cost | 1352 | 6.49 | **21.5%** (19.4–23.8) | 43.1% | +0.088 (+0.023…+0.153) | 1.18 | 39.1% | +119.2 | 11 | 3/4 |
| S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1% · zero cost + favourable intrabar | 1352 | 6.49 | **21.5%** (19.4–23.8) | 43.1% | +0.088 (+0.023…+0.153) | 1.18 | 39.1% | +119.2 | 11 | 3/4 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) · zero cost | 1353 | 6.49 | **16.9%** (15.0–19.0) | 35.8% | +0.073 (-0.011…+0.156) | 1.123 | 33.2% | +98.7 | 14 | 3/4 |
| S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target) · zero cost + favourable intrabar | 1353 | 6.49 | **16.9%** (15.0–19.0) | 35.8% | +0.073 (-0.011…+0.156) | 1.123 | 33.2% | +98.7 | 14 | 3/4 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) · zero cost | 1327 | 6.37 | **44.9%** (42.3–47.6) | 51.7% | +0.048 (-0.002…+0.099) | 1.113 | 49.0% | +64.0 | 10 | 4/4 |
| S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1) · zero cost + favourable intrabar | 1327 | 6.37 | **44.9%** (42.3–47.6) | 51.7% | +0.048 (-0.002…+0.099) | 1.113 | 49.0% | +64.0 | 10 | 4/4 |

Per year, **S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1%** (after costs / zero cost):

| Year | Trades | Target hit | Win | Total R | Target hit (0 cost) | Total R (0 cost) |
|---|---|---|---|---|---|---|
| 2017 | 314 | 8.6% | 33.4% | -73.4 | 9.6% | -18.4 |
| 2018 | 321 | 16.8% | 39.6% | -32.6 | 17.8% | +21.8 |
| 2019 | 331 | 22.4% | 43.5% | +2.5 | 23.9% | +61.5 |
| 2020 | 359 | 31.2% | 41.5% | +19.8 | 32.8% | +82.2 |

## S2 · ADX (15-min) + Supertrend + Pivot (Fibonacci), Bank Nifty / Nifty (1TFcGjMwh4s, 816K, Dec 2021)


### BANKNIFTY · 2015-01-09 → 2026-05-14

After costs:

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S2 exact: ADX15>20, Supertrend, pivot-break close, SL pivot+candle (150 cap), TP next pivot, trail at half | 3506 | 5.92 | **25.8%** (24.3–27.2) | 27.2% | -0.203 (-0.260…-0.147) | 0.733 | 33.8% | -712.9 | 22 | 1/12 |
| S2 no trail | 3460 | 5.85 | **28.4%** (27.0–30.0) | 30.5% | -0.222 (-0.281…-0.164) | 0.73 | 37.6% | -769.0 | 21 | 0/12 |
| S2 stop one pivot back (150 cap -> previous candle) | 3121 | 5.27 | **30.8%** (29.2–32.4) | 32.9% | -0.160 (-0.202…-0.117) | 0.716 | 40.6% | -498.0 | 20 | 1/12 |
| S2 target 1:1.5 | 3905 | 6.6 | **38.9%** (37.4–40.4) | 39.8% | -0.185 (-0.224…-0.147) | 0.737 | 47.3% | -724.1 | 13 | 0/12 |
| S2 target 1:2 | 3820 | 6.45 | **31.7%** (30.2–33.2) | 33.9% | -0.179 (-0.223…-0.134) | 0.768 | 40.0% | -683.5 | 19 | 0/12 |
| S2 all conditions: + ADX rising + first break of the level that day | 1219 | 2.06 | **27.8%** (25.4–30.4) | 29.5% | -0.174 (-0.268…-0.080) | 0.759 | 35.5% | -212.1 | 17 | 2/12 |
| S2 most generous: target 1:1, no trail | 3967 | 6.7 | **49.1%** (47.5–50.6) | 49.2% | -0.192 (-0.223…-0.160) | 0.679 | 58.8% | -759.9 | 10 | 0/12 |

Headline readings with **zero costs** and with the **most favourable intrabar order** (upper bounds):

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S2 exact: ADX15>20, Supertrend, pivot-break close, SL pivot+candle (150 cap), TP next pivot, trail at half · zero cost | 3506 | 5.92 | **25.8%** (24.3–27.2) | 27.2% | -0.027 (-0.083…+0.030) | 0.957 | 28.1% | -93.4 | 22 | 5/12 |
| S2 exact: ADX15>20, Supertrend, pivot-break close, SL pivot+candle (150 cap), TP next pivot, trail at half · zero cost + favourable intrabar | 3506 | 5.92 | **25.8%** (24.3–27.2) | 27.2% | -0.027 (-0.083…+0.030) | 0.957 | 28.1% | -93.4 | 22 | 5/12 |
| S2 no trail · zero cost | 3460 | 5.85 | **28.4%** (27.0–30.0) | 30.6% | -0.046 (-0.105…+0.012) | 0.933 | 32.1% | -160.8 | 21 | 4/12 |
| S2 no trail · zero cost + favourable intrabar | 3460 | 5.85 | **28.4%** (27.0–30.0) | 30.6% | -0.046 (-0.105…+0.012) | 0.933 | 32.1% | -160.8 | 21 | 4/12 |
| S2 all conditions: + ADX rising + first break of the level that day · zero cost | 1219 | 2.06 | **27.8%** (25.4–30.4) | 29.5% | -0.013 (-0.107…+0.081) | 0.978 | 30.0% | -15.9 | 17 | 6/12 |
| S2 all conditions: + ADX rising + first break of the level that day · zero cost + favourable intrabar | 1219 | 2.06 | **27.8%** (25.4–30.4) | 29.5% | -0.013 (-0.107…+0.081) | 0.978 | 30.0% | -15.9 | 17 | 6/12 |
| S2 most generous: target 1:1, no trail · zero cost | 3967 | 6.7 | **49.1%** (47.5–50.6) | 49.3% | -0.014 (-0.045…+0.017) | 0.973 | 50.0% | -54.6 | 10 | 6/12 |
| S2 most generous: target 1:1, no trail · zero cost + favourable intrabar | 3967 | 6.7 | **49.3%** (47.8–50.9) | 49.6% | -0.008 (-0.039…+0.024) | 0.985 | 50.0% | -29.8 | 10 | 6/12 |

Per year, **S2 exact: ADX15>20, Supertrend, pivot-break close, SL pivot+candle (150 cap), TP next pivot, trail at half** (after costs / zero cost):

| Year | Trades | Target hit | Win | Total R | Target hit (0 cost) | Total R (0 cost) |
|---|---|---|---|---|---|---|
| 2015 | 310 | 21.9% | 23.2% | -132.2 | 21.9% | -58.7 |
| 2016 | 290 | 24.8% | 26.2% | -56.2 | 24.8% | +12.5 |
| 2017 | 289 | 25.3% | 28.0% | -104.7 | 25.3% | -29.9 |
| 2018 | 333 | 23.7% | 25.2% | -102.5 | 23.7% | -34.8 |
| 2019 | 317 | 27.8% | 28.7% | -63.9 | 27.8% | -4.6 |
| 2020 | 278 | 22.7% | 23.7% | -35.1 | 22.7% | +7.8 |
| 2021 | 303 | 24.4% | 25.4% | -50.1 | 24.4% | -9.6 |
| 2022 | 324 | 26.9% | 29.0% | -17.5 | 26.9% | +28.2 |
| 2023 | 306 | 26.8% | 28.1% | -65.9 | 26.8% | -20.8 |
| 2024 | 318 | 23.0% | 23.9% | -92.0 | 23.0% | -52.1 |
| 2025 | 329 | 33.4% | 35.6% | +17.0 | 33.4% | +64.9 |
| 2026 | 109 | 31.2% | 31.2% | -9.8 | 31.2% | +3.9 |

### NIFTY · 2015-01-09 → 2026-05-14

After costs:

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S2 exact: ADX15>20, Supertrend, pivot-break close, SL pivot+candle (150 cap), TP next pivot, trail at half | 3698 | 6.25 | **26.7%** (25.3–28.2) | 28.3% | -0.296 (-0.348…-0.244) | 0.633 | 38.4% | -1093.9 | 23 | 1/12 |
| S2 no trail | 3655 | 6.18 | **30.2%** (28.7–31.7) | 32.2% | -0.284 (-0.339…-0.229) | 0.669 | 41.6% | -1037.5 | 17 | 1/12 |
| S2 stop one pivot back (150 cap -> previous candle) | 3359 | 5.68 | **35.6%** (34.0–37.2) | 38.8% | -0.141 (-0.176…-0.107) | 0.71 | 47.1% | -474.9 | 15 | 0/12 |
| S2 target 1:1.5 | 4074 | 6.88 | **38.1%** (36.6–39.6) | 39.5% | -0.262 (-0.300…-0.224) | 0.65 | 50.1% | -1068.6 | 13 | 0/12 |
| S2 target 1:2 | 3991 | 6.74 | **31.0%** (29.6–32.5) | 34.2% | -0.247 (-0.291…-0.203) | 0.697 | 42.7% | -986.4 | 15 | 0/12 |
| S2 all conditions: + ADX rising + first break of the level that day | 1406 | 2.38 | **27.6%** (25.3–30.0) | 29.7% | -0.303 (-0.380…-0.226) | 0.607 | 41.0% | -425.6 | 16 | 0/12 |
| S2 most generous: target 1:1, no trail | 4188 | 7.08 | **49.1%** (47.6–50.6) | 49.2% | -0.254 (-0.286…-0.223) | 0.596 | 61.9% | -1065.4 | 11 | 0/12 |

Headline readings with **zero costs** and with the **most favourable intrabar order** (upper bounds):

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S2 exact: ADX15>20, Supertrend, pivot-break close, SL pivot+candle (150 cap), TP next pivot, trail at half · zero cost | 3698 | 6.25 | **26.7%** (25.3–28.2) | 28.4% | -0.049 (-0.100…+0.002) | 0.921 | 30.2% | -179.7 | 23 | 3/12 |
| S2 exact: ADX15>20, Supertrend, pivot-break close, SL pivot+candle (150 cap), TP next pivot, trail at half · zero cost + favourable intrabar | 3698 | 6.25 | **26.7%** (25.3–28.2) | 28.4% | -0.049 (-0.100…+0.002) | 0.921 | 30.2% | -179.7 | 23 | 3/12 |
| S2 no trail · zero cost | 3655 | 6.18 | **30.2%** (28.7–31.7) | 32.4% | -0.037 (-0.091…+0.017) | 0.944 | 33.7% | -136.7 | 17 | 4/12 |
| S2 no trail · zero cost + favourable intrabar | 3655 | 6.18 | **30.2%** (28.7–31.7) | 32.4% | -0.037 (-0.091…+0.017) | 0.944 | 33.7% | -136.7 | 17 | 4/12 |
| S2 all conditions: + ADX rising + first break of the level that day · zero cost | 1406 | 2.38 | **27.6%** (25.3–30.0) | 29.7% | -0.079 (-0.155…-0.003) | 0.869 | 32.8% | -110.6 | 16 | 3/12 |
| S2 all conditions: + ADX rising + first break of the level that day · zero cost + favourable intrabar | 1406 | 2.38 | **27.6%** (25.3–30.0) | 29.7% | -0.079 (-0.155…-0.003) | 0.869 | 32.8% | -110.6 | 16 | 3/12 |
| S2 most generous: target 1:1, no trail · zero cost | 4188 | 7.08 | **49.1%** (47.6–50.6) | 49.6% | -0.008 (-0.038…+0.023) | 0.985 | 50.0% | -32.0 | 11 | 5/12 |
| S2 most generous: target 1:1, no trail · zero cost + favourable intrabar | 4188 | 7.08 | **49.4%** (47.9–50.9) | 49.9% | -0.001 (-0.032…+0.029) | 0.997 | 50.0% | -6.0 | 9 | 6/12 |

Per year, **S2 exact: ADX15>20, Supertrend, pivot-break close, SL pivot+candle (150 cap), TP next pivot, trail at half** (after costs / zero cost):

| Year | Trades | Target hit | Win | Total R | Target hit (0 cost) | Total R (0 cost) |
|---|---|---|---|---|---|---|
| 2015 | 330 | 25.8% | 27.0% | -130.9 | 25.8% | -27.3 |
| 2016 | 325 | 21.5% | 23.7% | -172.5 | 21.5% | -52.7 |
| 2017 | 342 | 30.7% | 31.6% | -140.3 | 30.7% | -14.8 |
| 2018 | 339 | 26.5% | 26.8% | -137.4 | 26.5% | -33.2 |
| 2019 | 324 | 25.9% | 28.4% | -85.7 | 25.9% | +3.7 |
| 2020 | 293 | 29.4% | 32.1% | +0.5 | 29.4% | +59.4 |
| 2021 | 341 | 23.5% | 24.3% | -111.1 | 23.5% | -44.7 |
| 2022 | 313 | 26.5% | 27.2% | -70.8 | 26.5% | -17.9 |
| 2023 | 337 | 29.4% | 30.3% | -63.8 | 29.4% | +5.7 |
| 2024 | 316 | 25.6% | 28.8% | -85.4 | 25.6% | -28.2 |
| 2025 | 331 | 26.9% | 29.6% | -77.1 | 26.9% | -24.6 |
| 2026 | 107 | 33.6% | 34.6% | -19.4 | 33.6% | -5.1 |

## S3 · Sniper Headshot Entry, gold (jvzd7UPlb5Y, 1.0M, Mar 2025)



### XAUUSD · 2015-01-01 → 2026-09-30

After costs:

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S3 exact M15: sweep + zone + big green, EMA50 trend, stop mid-body, target 93% to swing high | 2051 | 3.35 | **20.0%** (18.4–21.8) | 20.4% | -0.477 (-0.538…-0.417) | 0.466 | 35.4% | -978.9 | 25 | 0/12 |
| S3 exact M5 | 4874 | 7.95 | **13.3%** (12.4–14.3) | 13.3% | -0.794 (-0.827…-0.761) | 0.247 | 38.4% | -3869.7 | 64 | 0/12 |
| S3 his 1:4 (M15, fixed 4R target) | 3024 | 4.93 | **12.9%** (11.7–14.1) | 14.7% | -0.411 (-0.472…-0.350) | 0.565 | 23.4% | -1242.0 | 45 | 0/12 |
| S3 all conditions M15: + HH/HL structure, body >= 1 ATR, >= 2R available | 315 | 0.51 | **19.4%** (15.4–24.1) | 20.3% | -0.289 (-0.468…-0.110) | 0.663 | 27.8% | -91.1 | 14 | 1/12 |
| S3 most generous M15: sweep + any green close back over the level, 1R | 9057 | 14.78 | **20.3%** (19.5–21.2) | 20.3% | -0.877 (-0.900…-0.855) | 0.178 | 58.9% | -7944.6 | 49 | 0/12 |

Headline readings with **zero costs** and with the **most favourable intrabar order** (upper bounds):

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S3 exact M15: sweep + zone + big green, EMA50 trend, stop mid-body, target 93% to swing high · zero cost | 2296 | 3.75 | **28.0%** (26.2–29.9) | 28.4% | -0.023 (-0.096…+0.049) | 0.967 | 29.1% | -53.5 | 18 | 6/12 |
| S3 exact M15: sweep + zone + big green, EMA50 trend, stop mid-body, target 93% to swing high · zero cost + favourable intrabar | 2295 | 3.74 | **28.5%** (26.7–30.4) | 29.0% | +0.022 (-0.069…+0.112) | 1.03 | 28.4% | +49.4 | 18 | 8/12 |
| S3 exact M5 · zero cost | 5729 | 9.35 | **27.4%** (26.2–28.5) | 27.5% | -0.034 (-0.080…+0.012) | 0.954 | 28.4% | -192.9 | 23 | 3/12 |
| S3 exact M5 · zero cost + favourable intrabar | 5723 | 9.34 | **28.6%** (27.5–29.8) | 28.8% | +0.014 (-0.033…+0.061) | 1.019 | 28.4% | +78.5 | 23 | 6/12 |
| S3 his 1:4 (M15, fixed 4R target) · zero cost | 3029 | 4.94 | **19.5%** (18.1–21.0) | 21.3% | +0.018 (-0.053…+0.089) | 1.023 | 20.9% | +54.4 | 33 | 7/12 |
| S3 his 1:4 (M15, fixed 4R target) · zero cost + favourable intrabar | 3029 | 4.94 | **19.9%** (18.5–21.3) | 21.7% | +0.036 (-0.035…+0.107) | 1.046 | 20.9% | +109.3 | 33 | 7/12 |
| S3 all conditions M15: + HH/HL structure, body >= 1 ATR, >= 2R available · zero cost | 393 | 0.64 | **23.7%** (19.7–28.1) | 24.4% | +0.001 (-0.182…+0.184) | 1.001 | 24.4% | +0.3 | 16 | 4/12 |
| S3 all conditions M15: + HH/HL structure, body >= 1 ATR, >= 2R available · zero cost + favourable intrabar | 393 | 0.64 | **23.9%** (20.0–28.4) | 24.7% | +0.011 (-0.172…+0.195) | 1.015 | 24.4% | +4.5 | 16 | 4/12 |
| S3 most generous M15: sweep + any green close back over the level, 1R · zero cost | 9056 | 14.78 | **45.3%** (44.3–46.3) | 45.3% | -0.096 (-0.117…-0.076) | 0.825 | 50.1% | -870.9 | 15 | 0/12 |
| S3 most generous M15: sweep + any green close back over the level, 1R · zero cost + favourable intrabar | 9056 | 14.78 | **52.4%** (51.3–53.4) | 52.4% | +0.046 (+0.025…+0.066) | 1.095 | 50.1% | +412.2 | 12 | 12/12 |

Per year, **S3 exact M15: sweep + zone + big green, EMA50 trend, stop mid-body, target 93% to swing high** (after costs / zero cost):

| Year | Trades | Target hit | Win | Total R | Target hit (0 cost) | Total R (0 cost) |
|---|---|---|---|---|---|---|
| 2015 | 138 | 14.5% | 14.5% | -106.5 | 27.9% | -23.1 |
| 2016 | 173 | 19.7% | 20.2% | -81.7 | 28.9% | +19.7 |
| 2017 | 154 | 18.2% | 18.8% | -94.2 | 24.6% | -26.1 |
| 2018 | 180 | 12.8% | 12.8% | -153.8 | 23.2% | -52.6 |
| 2019 | 169 | 19.5% | 20.1% | -95.5 | 28.4% | +6.5 |
| 2020 | 175 | 16.6% | 17.1% | -95.0 | 23.9% | -31.4 |
| 2021 | 185 | 23.2% | 23.2% | -62.2 | 32.0% | +28.0 |
| 2022 | 188 | 18.6% | 18.6% | -87.4 | 27.5% | -10.8 |
| 2023 | 186 | 17.7% | 18.8% | -98.1 | 24.1% | -29.3 |
| 2024 | 183 | 26.8% | 26.8% | -37.4 | 33.3% | +29.1 |
| 2025 | 186 | 22.6% | 23.1% | -62.9 | 31.4% | +26.8 |
| 2026 | 134 | 31.3% | 31.3% | -4.4 | 32.1% | +9.5 |


## S4 · Order Block + FVG 50% line, gold (RTbVZfriRrw, 562K, Apr 2026)



### XAUUSD · 2015-01-01 → 2026-09-30

After costs:

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S4 exact: M5 FVG -> OB 50% touch, 1-min close back over, stop $10 under mid (scaled), 2R | 14582 | 23.79 | **28.3%** (27.6–29.1) | 31.7% | -0.103 (-0.125…-0.081) | 0.85 | 35.3% | -1503.7 | 21 | 0/12 |
| S4 his 1:4 (same, 4R) | 9914 | 16.18 | **12.6%** (12.0–13.3) | 23.9% | -0.110 (-0.144…-0.076) | 0.856 | 26.9% | -1089.6 | 29 | 0/12 |
| S4 all conditions: + explosive candle 2 (body >= 2 ATR), green 1-min entry, stop fully below (OB low / 2 candles), 2R | 3863 | 6.3 | **20.6%** (19.3–21.9) | 21.0% | -0.489 (-0.528…-0.450) | 0.452 | 37.0% | -1888.7 | 31 | 0/12 |
| S4 third-party reading (a community backtester): stop below OB low, target last M5 swing high | 70798 | 115.52 | **17.9%** (17.7–18.2) | 17.7% | -0.607 (-0.617…-0.596) | 0.368 | 36.9% | -42945.3 | 54 | 0/12 |
| S4 most generous: 1R | 23108 | 37.71 | **44.4%** (43.7–45.0) | 45.3% | -0.111 (-0.123…-0.098) | 0.799 | 50.9% | -2554.0 | 15 | 0/12 |

Headline readings with **zero costs** and with the **most favourable intrabar order** (upper bounds):

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S4 exact: M5 FVG -> OB 50% touch, 1-min close back over, stop $10 under mid (scaled), 2R · zero cost | 15190 | 24.79 | **31.4%** (30.7–32.2) | 34.9% | +0.012 (-0.010…+0.034) | 1.018 | 34.5% | +175.7 | 18 | 6/12 |
| S4 exact: M5 FVG -> OB 50% touch, 1-min close back over, stop $10 under mid (scaled), 2R · zero cost + favourable intrabar | 15172 | 24.76 | **31.5%** (30.8–32.3) | 35.0% | +0.014 (-0.008…+0.036) | 1.022 | 34.5% | +215.8 | 18 | 7/12 |
| S4 all conditions: + explosive candle 2 (body >= 2 ATR), green 1-min entry, stop fully below (OB low / 2 candles), 2R · zero cost | 3874 | 6.32 | **32.6%** (31.2–34.1) | 33.0% | -0.013 (-0.057…+0.031) | 0.98 | 33.5% | -51.1 | 16 | 7/12 |
| S4 all conditions: + explosive candle 2 (body >= 2 ATR), green 1-min entry, stop fully below (OB low / 2 candles), 2R · zero cost + favourable intrabar | 3874 | 6.32 | **33.0%** (31.6–34.5) | 33.4% | -0.002 (-0.046…+0.043) | 0.998 | 33.5% | -6.1 | 15 | 7/12 |
| S4 third-party reading (a community backtester): stop below OB low, target last M5 swing high · zero cost | 65034 | 106.12 | **24.3%** (24.0–24.7) | 24.8% | +0.033 (+0.015…+0.051) | 1.044 | 24.0% | +2135.5 | 36 | 10/12 |
| S4 third-party reading (a community backtester): stop below OB low, target last M5 swing high · zero cost + favourable intrabar | 64354 | 105.01 | **25.2%** (24.9–25.5) | 25.6% | +0.069 (+0.051…+0.088) | 1.093 | 24.0% | +4450.4 | 33 | 11/12 |
| S4 most generous: 1R · zero cost | 24820 | 40.5 | **49.4%** (48.8–50.1) | 50.6% | +0.013 (+0.000…+0.025) | 1.026 | 50.0% | +313.6 | 13 | 6/12 |
| S4 most generous: 1R · zero cost + favourable intrabar | 24810 | 40.48 | **49.6%** (49.0–50.2) | 50.8% | +0.016 (+0.003…+0.028) | 1.032 | 50.0% | +385.6 | 13 | 7/12 |

Per year, **S4 exact: M5 FVG -> OB 50% touch, 1-min close back over, stop $10 under mid (scaled), 2R** (after costs / zero cost):

| Year | Trades | Target hit | Win | Total R | Target hit (0 cost) | Total R (0 cost) |
|---|---|---|---|---|---|---|
| 2015 | 1072 | 29.9% | 33.8% | -68.7 | 33.3% | +91.4 |
| 2016 | 1264 | 27.4% | 30.2% | -190.5 | 31.0% | -6.5 |
| 2017 | 758 | 24.1% | 31.1% | -126.3 | 30.7% | +44.6 |
| 2018 | 745 | 24.3% | 32.1% | -114.1 | 28.1% | -0.2 |
| 2019 | 873 | 27.3% | 33.7% | -63.9 | 29.5% | +11.4 |
| 2020 | 1623 | 27.4% | 29.5% | -254.1 | 31.3% | -31.7 |
| 2021 | 1091 | 28.3% | 32.0% | -107.0 | 30.7% | -9.1 |
| 2022 | 1218 | 29.7% | 32.6% | -79.3 | 33.5% | +84.1 |
| 2023 | 954 | 26.2% | 32.2% | -117.9 | 29.3% | -22.3 |
| 2024 | 1181 | 27.7% | 30.7% | -146.3 | 28.8% | -84.8 |
| 2025 | 1689 | 30.4% | 32.0% | -109.8 | 33.8% | +87.3 |
| 2026 | 2114 | 31.1% | 31.9% | -125.8 | 32.9% | +11.6 |


## S5 · Prop-firm New York session setup, gold, 1:1 (NwCyONUCsC0, 269K, Nov 2025)



### XAUUSD · 2015-01-01 → 2026-09-30

After costs:

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S5 exact: 13:00-16:30 UTC, 1st/smaller opposite 2nd, candle 3-4 closes beyond 1st body with 70% body, stop 2 candles, 1R | 2588 | 4.22 | **42.0%** (40.2–44.0) | 43.4% | -0.172 (-0.210…-0.133) | 0.706 | 52.0% | -444.0 | 11 | 0/12 |
| S5 2R | 2588 | 4.22 | **23.6%** (22.0–25.3) | 31.6% | -0.176 (-0.226…-0.126) | 0.746 | 38.2% | -455.3 | 17 | 1/12 |
| S5 3R | 2588 | 4.22 | **14.4%** (13.1–15.8) | 28.2% | -0.163 (-0.220…-0.106) | 0.774 | 33.6% | -422.8 | 19 | 1/12 |
| S5 all conditions: + 2nd closes inside 1st body, 1st body >= 50% range, skip event days | 1714 | 2.8 | **41.9%** (39.6–44.3) | 43.1% | -0.172 (-0.219…-0.126) | 0.705 | 51.8% | -295.5 | 13 | 1/12 |
| S5 New York clock window 09:00-12:30 (DST-aware) | 2602 | 4.25 | **41.2%** (39.4–43.1) | 42.7% | -0.185 (-0.223…-0.148) | 0.686 | 52.0% | -482.7 | 15 | 0/12 |
| S5 most generous: 2nd candle's extreme traded through intrabar, no 70-30, 1R | 3031 | 4.95 | **39.4%** (37.7–41.1) | 39.5% | -0.275 (-0.311…-0.240) | 0.578 | 53.0% | -834.1 | 13 | 0/12 |

Headline readings with **zero costs** and with the **most favourable intrabar order** (upper bounds):

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S5 exact: 13:00-16:30 UTC, 1st/smaller opposite 2nd, candle 3-4 closes beyond 1st body with 70% body, stop 2 candles, 1R · zero cost | 2588 | 4.22 | **49.0%** (47.1–51.0) | 50.5% | +0.010 (-0.028…+0.048) | 1.02 | 50.0% | +25.5 | 11 | 8/12 |
| S5 exact: 13:00-16:30 UTC, 1st/smaller opposite 2nd, candle 3-4 closes beyond 1st body with 70% body, stop 2 candles, 1R · zero cost + favourable intrabar | 2588 | 4.22 | **49.3%** (47.4–51.2) | 50.8% | +0.015 (-0.023…+0.053) | 1.032 | 50.0% | +39.5 | 11 | 8/12 |
| S5 all conditions: + 2nd closes inside 1st body, 1st body >= 50% range, skip event days · zero cost | 1714 | 2.8 | **49.8%** (47.4–52.1) | 50.9% | +0.022 (-0.025…+0.069) | 1.046 | 49.8% | +37.9 | 9 | 7/12 |
| S5 all conditions: + 2nd closes inside 1st body, 1st body >= 50% range, skip event days · zero cost + favourable intrabar | 1714 | 2.8 | **50.0%** (47.6–52.4) | 51.2% | +0.027 (-0.020…+0.074) | 1.056 | 49.8% | +45.9 | 9 | 8/12 |
| S5 most generous: 2nd candle's extreme traded through intrabar, no 70-30, 1R · zero cost | 3031 | 4.95 | **52.6%** (50.8–54.4) | 52.6% | +0.053 (+0.018…+0.089) | 1.112 | 50.0% | +161.2 | 13 | 8/12 |
| S5 most generous: 2nd candle's extreme traded through intrabar, no 70-30, 1R · zero cost + favourable intrabar | 3031 | 4.95 | **53.7%** (52.0–55.5) | 53.7% | +0.076 (+0.040…+0.111) | 1.164 | 50.0% | +229.2 | 13 | 10/12 |

Per year, **S5 exact: 13:00-16:30 UTC, 1st/smaller opposite 2nd, candle 3-4 closes beyond 1st body with 70% body, stop 2 candles, 1R** (after costs / zero cost):

| Year | Trades | Target hit | Win | Total R | Target hit (0 cost) | Total R (0 cost) |
|---|---|---|---|---|---|---|
| 2015 | 213 | 45.5% | 46.9% | -24.4 | 52.1% | +17.3 |
| 2016 | 218 | 38.1% | 39.4% | -57.8 | 46.8% | -9.0 |
| 2017 | 214 | 35.0% | 36.9% | -73.4 | 46.7% | -8.3 |
| 2018 | 217 | 40.6% | 41.0% | -52.5 | 49.8% | +2.6 |
| 2019 | 221 | 40.3% | 41.6% | -49.2 | 48.9% | +3.6 |
| 2020 | 215 | 45.6% | 45.6% | -21.9 | 52.1% | +12.2 |
| 2021 | 221 | 41.2% | 41.6% | -40.4 | 49.3% | +1.3 |
| 2022 | 225 | 42.7% | 44.9% | -29.5 | 47.6% | +1.9 |
| 2023 | 230 | 45.7% | 47.8% | -16.5 | 52.2% | +21.9 |
| 2024 | 219 | 43.8% | 45.2% | -27.6 | 47.9% | -4.6 |
| 2025 | 228 | 39.0% | 41.2% | -47.4 | 44.7% | -18.1 |
| 2026 | 167 | 48.5% | 49.1% | -3.4 | 50.9% | +4.7 |


## S6 · Prop-firm NASDAQ 5-minute setup, 1:1 (Lb4yel3nCws, 144K, Feb 2026)


### US100 · 2015-01-02 → 2026-09-30

After costs:

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S6 exact: from 10:00 NY, good-size 1st, 2nd closes inside its body, 3rd/4th closes beyond its range with 70% body, stop 2 candles, 1R | 2866 | 4.68 | **44.0%** (42.2–45.9) | 45.2% | -0.128 (-0.165…-0.092) | 0.773 | 51.6% | -368.0 | 18 | 2/12 |
| S6 all conditions: + 2nd smaller, adverse wick <= 20%, stop <= 0.6% of price | 2791 | 4.56 | **43.7%** (41.9–45.6) | 45.0% | -0.133 (-0.170…-0.096) | 0.766 | 51.6% | -370.7 | 16 | 1/12 |
| S6 most generous: 2nd candle's extreme traded through intrabar, no 70-30, 1R | 2952 | 4.82 | **43.0%** (41.2–44.8) | 43.1% | -0.186 (-0.222…-0.149) | 0.695 | 52.1% | -547.6 | 15 | 0/12 |

Headline readings with **zero costs** and with the **most favourable intrabar order** (upper bounds):

| Reading | Trades | /week | Target hit (his 'accuracy', 95% CI) | Win (net R>0) | Avg R (95% CI) | PF | Break-even win | Total R | Longest losing run | Years in profit |
|---|---|---|---|---|---|---|---|---|---|---|
| S6 exact: from 10:00 NY, good-size 1st, 2nd closes inside its body, 3rd/4th closes beyond its range with 70% body, stop 2 candles, 1R · zero cost | 2866 | 4.68 | **49.5%** (47.7–51.4) | 50.7% | +0.013 (-0.024…+0.049) | 1.026 | 50.0% | +36.0 | 15 | 8/12 |
| S6 exact: from 10:00 NY, good-size 1st, 2nd closes inside its body, 3rd/4th closes beyond its range with 70% body, stop 2 candles, 1R · zero cost + favourable intrabar | 2866 | 4.68 | **49.6%** (47.8–51.4) | 50.7% | +0.014 (-0.022…+0.050) | 1.029 | 50.0% | +40.0 | 15 | 8/12 |
| S6 all conditions: + 2nd smaller, adverse wick <= 20%, stop <= 0.6% of price · zero cost | 2794 | 4.56 | **49.2%** (47.4–51.1) | 50.4% | +0.007 (-0.029…+0.044) | 1.015 | 50.1% | +20.7 | 15 | 8/12 |
| S6 all conditions: + 2nd smaller, adverse wick <= 20%, stop <= 0.6% of price · zero cost + favourable intrabar | 2794 | 4.56 | **49.3%** (47.5–51.2) | 50.5% | +0.009 (-0.028…+0.046) | 1.018 | 50.1% | +24.7 | 15 | 8/12 |
| S6 most generous: 2nd candle's extreme traded through intrabar, no 70-30, 1R · zero cost | 2952 | 4.82 | **50.1%** (48.3–51.9) | 50.1% | +0.002 (-0.035…+0.038) | 1.003 | 50.0% | +4.6 | 13 | 7/12 |
| S6 most generous: 2nd candle's extreme traded through intrabar, no 70-30, 1R · zero cost + favourable intrabar | 2952 | 4.82 | **50.3%** (48.5–52.1) | 50.3% | +0.006 (-0.030…+0.042) | 1.011 | 50.0% | +16.6 | 13 | 7/12 |

Per year, **S6 exact: from 10:00 NY, good-size 1st, 2nd closes inside its body, 3rd/4th closes beyond its range with 70% body, stop 2 candles, 1R** (after costs / zero cost):

| Year | Trades | Target hit | Win | Total R | Target hit (0 cost) | Total R (0 cost) |
|---|---|---|---|---|---|---|
| 2015 | 242 | 38.0% | 38.8% | -68.6 | 49.2% | +0.4 |
| 2016 | 248 | 37.9% | 37.9% | -77.9 | 48.0% | -8.0 |
| 2017 | 246 | 39.4% | 39.8% | -63.4 | 52.0% | +17.8 |
| 2018 | 248 | 42.3% | 43.5% | -42.2 | 47.6% | -8.6 |
| 2019 | 242 | 48.8% | 48.8% | -15.0 | 52.9% | +16.3 |
| 2020 | 247 | 47.8% | 49.0% | -9.5 | 52.6% | +16.2 |
| 2021 | 247 | 42.1% | 42.5% | -42.6 | 45.7% | -18.9 |
| 2022 | 242 | 43.0% | 45.9% | -27.0 | 44.6% | -17.2 |
| 2023 | 243 | 51.9% | 52.7% | +11.2 | 53.5% | +23.8 |
| 2024 | 243 | 46.5% | 47.7% | -13.4 | 49.4% | +4.5 |
| 2025 | 237 | 43.5% | 46.8% | -20.2 | 49.4% | +3.3 |
| 2026 | 181 | 48.6% | 50.3% | +0.6 | 49.7% | +6.5 |


## His own demo windows, re-run with the coded rules

- S1 · S1 exact: close entry, pivots/VWAP/day H-L, VWAP filter, StochRSI support, SL 0.5% TP 1%: 2020-07-27 → 2020-08-14: 22 trades, 10 targets, 10 stops; 11 of 15 traded days net positive.
- S1 · S1 no Stoch: close entry, VWAP filter only, SL 0.5% TP 1%: 2020-07-27 → 2020-08-14: 20 trades, 13 targets, 6 stops; 14 of 15 traded days net positive.
- S1 · S1 stop below VWAP: close entry, StochRSI, TP 1% (skip if stop > target): 2020-07-27 → 2020-08-14: 21 trades, 8 targets, 10 stops; 9 of 14 traded days net positive.
- S1 · S1 most generous: close entry, no Stoch, SL 0.5% TP 0.5% (1:1): 2020-07-27 → 2020-08-14: 20 trades, 14 targets, 6 stops; 10 of 15 traded days net positive.
- S2 · S2 exact: ADX15>20, Supertrend, pivot-break close, SL pivot+candle (150 cap), TP next pivot, trail at half: 2021-11-25 → 2021-12-24: 30 trades, 12 targets, 17 stops; 9 of 16 traded days net positive.
- S2 · S2 no trail: 2021-11-25 → 2021-12-24: 29 trades, 12 targets, 16 stops; 9 of 16 traded days net positive.
- S2 · S2 all conditions: + ADX rising + first break of the level that day: 2021-11-25 → 2021-12-24: 2 trades, 1 targets, 1 stops; 1 of 2 traded days net positive.
- S2 · S2 most generous: target 1:1, no trail: 2021-11-25 → 2021-12-24: 32 trades, 20 targets, 12 stops; 7 of 17 traded days net positive.

## 10. Reproduce

```bash
.venv/bin/python tools/bb_backtest.py run --strategy S1 --symbols BAJFINANCE,HDFCBANK,RELIANCE,HDFC
.venv/bin/python tools/bb_backtest.py run --strategy S2 --symbols BANKNIFTY,NIFTY
.venv/bin/python tools/bb_backtest.py run --strategy S2 --symbols BANKNIFTY,NIFTY --source hf
.venv/bin/python tools/bb_backtest.py demo && .venv/bin/python tools/bb_backtest.py premise
.venv/bin/python tools/bb_backtest.py spot --strategy S2 --symbols BANKNIFTY --n 3 --seed 11
for S in S3 S4 S5 S6; do .venv/bin/python tools/bb_backtest_fx.py run --strategy $S; done
.venv/bin/python tools/bb_report.py
.venv/bin/python -m pytest tests/test_adx_supertrend_pivot.py tests/test_vwap_pivot.py   # ports == engine, exact
```

