# "Sneaky Pivot" on YM (Dow futures), 15-minute bars - specification (RIP Backtest protocol v1.0 plus the 8 Oct 2026 rules)

Specification written and **frozen 2026-10-23 (approved by the owner the same day, draft 1 unchanged)**. No level, 15-minute bar, signal or trade of this test has been computed. Once frozen, any change of a rule is documented and treated as a separate test; bugs may be fixed.

## Why this test, and what was looked at before
- **Chosen by the owner** on 2026-10-23: the YouTube video "How Trading Like an Idiot Makes Me $10,000/Month (15 Minutes a Day)" (channel The Rumers, about 2.57 million views, published 24 May 2026; transcript pasted by the owner the same day). The presenter calls the strategy the **"sneaky pivot"**, demonstrates it on **YM (Dow futures) 15-minute bars** in a replay, and trades it live on two stocks (one winner, one that gave back most of its gain). The description says the results "are not typical" and promotes a paid course.
- **The presenter enters "close enough" to the levels** ("technical analysis is not literal"): in both live trades price did not reach the line. We fix that tolerance below and test it as a variant.
- **Data:** the YM file exported and checked on 2026-10-22 (`data_manifest.md`), used once before, by the trendline test (buried).
- **Looked at before (disclosed):** on YM, the trendline test; on ES and NQ, opening-range breakouts, the Initial Balance breakout, the noise area breakout, the opening gap fill, NR7 (all buried); the cross-test guides of 22 Oct 2026. **No rule built on the previous day's high and low has been tested on this site.**

## What the video says (the rules to be tested)
- **One chart, 15 minutes, no indicators.**
- **Four lines:** the **range high** and **range low** = the previous day's high and low; the **swing high** = going back to the left, the next price higher than the range high; the **swing low** = the next price lower than the range low.
- **Buy only at the two lower lines, sell only at the two upper lines;** do nothing in between.
- **Three candles:** a strong first 15-minute candle that goes to one of the lines (the "opening range candle"); a confirming candle (the "sneaky" candle, e.g. green after a drop to the lows; "maybe it's the next candle, maybe the following"); the entry when price crosses the sneaky candle's high (for a buy), "in most cases at the 45-minute mark", "in most cases off the third or fourth bar".
- **Stop:** under the lows that were tested ("underneath the big buyer"). **Target:** "either the top of the candle or somewhere back against the bigger seller" (the upper lines). Hold until then, even if it takes a while. Sells mirror buys.
- An exception for a huge first candle (use its own high and low as the lines) is mentioned as optional; it is not tested.

## Instrument and data
- **YM** (E-mini Dow futures, $5 a point, tick 1 point), `YM_1min.csv` (sha256 `e434dac4...`), New York clock, cut at **2026-09-25 17:00 New York** like every futures study; the exchange calendar of our other futures tests (`rb_lib.sessionClose`) for the regular session (09:30 to 16:00, or the early close).
- **The day = the regular session.** A usable day has its 09:31 bar and at least 300 one-minute bars in session (150 on an early-close day). **15-minute bars** of the session: 09:31-09:45, 09:46-10:00, ... (bar 1 is 09:30-09:45), built from the minutes that exist.
- **Holes (rule 3):** `data_holes_ym.json`; every gate and verdict is recomputed without the trades on a day touching a known hole.

## Mechanical readings (fixed now)
- **Range high / low:** the high and low of the previous usable day's session.
- **Swing high:** going back from the day before the previous day, the session high of the most recent usable day whose high is above the range high (no swing high if none within 250 usable days). **Swing low:** the same with lows below the range low. (The levels are read from daily sessions, the "next level up" of the video.)
- **Tolerance:** **strict** = 0; **near** = 10% of the average session range of the 20 usable days up to the previous day.
- **Long setup:** bar 1's low is at or below **range low + tolerance**. **Short setup:** bar 1's high is at or above **range high - tolerance**. Both, or neither: no trade that day.
- **Sneaky candle (long):** the first green bar (close > open) among **bars 2 and 3**; short: the first red bar (close < open). None: no trade.
- **Entry (long):** a buy stop **one tick above the sneaky candle's high**, from the bar after it **until the end of bar 4 (10:30)**; a bar opening above it fills at its open. **Stop:** one tick below the lowest low from bar 1 to the bar before the entry. If price trades at or below that stop before the entry, the setup is cancelled. Short: mirrored.
- **Targets (the two variants):** **T1** = bar 1's high for a long (its low for a short), "the top of the candle"; **T2** = the range high for a long (the range low for a short), "back against the bigger seller". No trade if the entry is already at or beyond the target.
- **Exits:** stop (checked first) or target on every minute from the entry minute on; a level a minute opens beyond fills at the open; otherwise at the close of the last minute at or before the session close. One trade a day.

## Variants (the only ones tested)
**SP-STRICT-T1, SP-STRICT-T2, SP-NEAR-T1, SP-NEAR-T2** (tolerance x target). All long and short.

## Costs
- **$15.76 per round trip per contract** (commission $5.76 plus one tick, $5, of slippage on each fill), as in the YM trendline test and all our futures tests. Results in dollars per contract and in R (R = entry to stop).

## Periods, gates, control
- **Periods (by trade date):** development 2020 to 2023; validation 2024-01 to 2025-03; holdout 2025-04 to 2026-09-25 (**already used**: on YM by the trendline test, and the same months on ES and NQ).
- **Six gates per variant** (net dollars per contract): validation profit factor >= 1.2; at least 50 trades in each period; development **t >= 2.5** (four variants; opening-range and level rules have been tried many times on US index futures); above the 95th percentile of 500 runs of the matched control; positive without the 10 best trades; holdout net positive (flagged used). Fewer than 30 trades in all: Inconclusive.
- **Matched control (moved entries):** every real trade moved, all together, by one random circular offset of whole usable days (at least 5% of them), entered at the same minute of the new day's session, same direction, the same stop and target distances in points, the same session-close exit and costs. 500 runs, seeds 1000 + run. Statistic: average net dollars per trade.
- **Also reported (descriptive):** how often bar 1 reaches each zone; the video's "phenomenon" (after 09:45, the range low breaks and price reaches the swing low the same day, or the range high breaks and price reaches the swing high), how often, against how often price later reaches the opposite range line; long and short; by year; exits by reason.

## Engine and self-test (before the run)
New engine `snp_lib.js`, independent re-implementation `snp_ref.js`, `snp_selftest.js` that must pass before any result is printed: the range and swing levels on hand-made days (including no swing level), the tolerance, a long and a short setup, both and neither, the sneaky candle on bar 2 and on bar 3, none, an entry in bar 4, a setup cancelled by a new low, a gap open beyond the entry, the stop, both targets, a target already passed, the session-close exit, an early-close day; the reference matched trade by trade on the real data for all four variants; the control at offset 0 reproducing the real trades.

## Before the article
Results go to the owner first. One article, published only with the owner's agreement. Working title for search: "Sneaky Pivot Strategy Backtest: Previous Day High and Low Reversal on Dow Futures".

## Reading the result
"Buried" or "Inconclusive" mean a statistically convincing edge was not demonstrated; neither is proof that none exists. One market, one data source, one mechanical reading of rules that their author applies with a "close enough" eye.
