SMC Silver Bullet: An Empirical Test
Test period: January 2012 – October 2026 · Instruments: EURUSD, GBPUSD, USDJPY, AUDUSD, XAUUSD, BTCUSD (from May 2017), US100 (M1, bid) · Windows: London 03:00–04:00, NY AM 10:00–11:00, NY PM 14:00–15:00 (New York time) · Out-of-sample block: 2012–2018 · Published: November 2026
1. Objective
The Silver Bullet is a time-window model from the SMC (smart money concepts) school. In each of three one-hour windows, traders wait for price to take a nearby liquidity level, then enter on the first fair value gap (FVG) that forms against that move, with a stop beyond the sweep and a target of a few handles or the opposite liquidity. The model rests on two ideas: that these particular hours are special, and that a liquidity raid followed by a reversing FVG marks a high-probability turn.
This study turns the model into fixed, mechanical rules and tests it against a random baseline across seven instruments, three windows and nearly 15 years of one-minute data, in the same format as the Order Blocks study and the Breaker Block study.
1.1 Claims tested
| # | Claim | Section |
|---|---|---|
| ① | Entering the first reversing FVG after a raid in the three windows beats random entries and has a positive expectancy after costs | 3.2 |
| ② | The raid matters: an FVG that follows a raid and goes against it works better than a continuation FVG or an FVG with no raid | 3.3 |
| ③ | The three windows are special: the same rules work better in those hours than in the other 21 | 3.4 |
| ④ | Refinements help: entering at the FVG midpoint, allowing a later fill, or targeting the opposite liquidity level or a fixed distance | 3.5 |
| ⑤ | Stronger setups work better: more displacement, a deeper raid, a larger FVG | 3.6 |
2. Methodology
2.1 Data
- Source: Dukascopy, M1 bid. BTCUSD starts in May 2017 and US100 in January 2012. Flat (open = high = low = close) bars are removed
- Range: 2012-01-01 to 2026-10-31. All times are New York time with full daylight-saving rules
- Out-of-sample split: the definitions below were frozen after examining 2019–2026 and before the 2012–2018 block was looked at; that block was then viewed once, with no changes. Every result is reported for both blocks. See Section 4 for what is and is not clean about this split.
2.2 Silver Bullet definition
- Windows: London 03:00–04:00, NY AM 10:00–11:00, NY PM 14:00–15:00. A 24-hour scan applies the identical rules to every hourly window as a control
- Reference levels (both reported): (R1) the high and low of the prior 60 minutes; (R2) the previous trading day’s high and low, with the day rolling at 17:00 New York time, counted only if the level was still untaken at the window start
- Raid: the first M1 bar in the window that trades beyond a reference level. A bar that takes both sides is skipped. The trade direction is the reverse of the raid
- FVG: the first three-candle gap in the trade direction whose first candle is no earlier than the raid bar and whose third candle closes inside the window (bullish: high of candle 1 below low of candle 3; bearish mirrored)
- Entry: a limit order at the gap’s near edge (the CE midpoint is tested as a variant), filled on the first touch after the third candle until the window closes. If the touching bar opens beyond the limit price, the fill is that bar’s open. No look-ahead: the order exists only from the close of candle 3
- Stop: the extreme since the window opened, up to candle 3, with no buffer
- Targets: 1R and 2R; the opposite reference level (only when it is at least 1R away); and a fixed distance of 10 × the round-trip cost (about 14 pips on EURUSD, 15 points on US100)
In total the rules produced roughly 54,400 resolved trades with the prior-60-minute reference and 2,240 with the previous-day reference, across the three windows and seven instruments.
2.3 Random baseline
Every trade is paired with ten random entries in the same direction, at the same New York local minute of the day, on other days within ±60 calendar days, with the same stop distance (and the same target distance). Random entries are market orders at that minute’s open and follow exactly the same exit rules. The quantity reported throughout is the edge: the real win rate minus the random win rate, in percentage points (pp). Standard errors and z-values use a month-block bootstrap, because trades overlap in time. Trades still open after three days are closed at market and counted in expectancy but not in the win rate.
2.4 Outcomes and costs
- If the entry bar itself touches the stop, the trade is a loss. If target and stop are both inside the same later M1 bar, the trade is unresolved and excluded
- Net expectancy is gross R minus cost ÷ stop distance, using approximate prop-firm round-trip costs (October 2026):
| EURUSD | GBPUSD | USDJPY | AUDUSD | XAUUSD | BTCUSD | US100 |
|---|---|---|---|---|---|---|
| 1.4 pips | 2.2 pips | 2.5 pips | 1.6 pips | $0.58 | $30 | 1.5 pts |
A finding about the costs themselves. The stop in a one-minute-FVG setup is the extreme of a few minutes of price, and it is usually tiny. The table below shows that the median stop is only 1.4–4.3 times the round-trip cost, so the average trade pays 0.4–0.95R in costs before anything else happens (2.3R on BTCUSD). Applying the rule used in the Breaker study, a minimum stop of 10 × cost, removes 97–99.7% of the setups on six instruments and 76% on US100. This study therefore reports two sets side by side: all setups (the model as described, where costs dominate) and tradable setups (stop at least 10 × cost, where costs are at most 0.1R).
| Instrument | Setups | Median stop ÷ round-trip cost | Share with stop ≥ 10× cost | Median cost per trade (R) | Mean cost per trade (R) |
|---|---|---|---|---|---|
| EURUSD | 8,302 | 2.6× | 1.6% | 0.39R | 0.51R |
| GBPUSD | 8,274 | 2.0× | 0.6% | 0.49R | 0.63R |
| USDJPY | 8,094 | 1.4× | 0.6% | 0.74R | 0.95R |
| AUDUSD | 8,287 | 1.7× | 0.3% | 0.59R | 0.73R |
| XAUUSD | 7,451 | 1.7× | 3.1% | 0.58R | 0.76R |
| BTCUSD | 6,146 | 1.5× | 3.4% | 0.65R | 2.31R |
| US100 | 7,974 | 4.3× | 23.6% | 0.23R | 0.42R |
Prior-60-minute reference, all years, all windows. The rule and the fixed-distance target were added after this was seen (Section 4).
3. Results
Unless stated otherwise, results use the prior-60-minute reference (R1), the near-edge limit entry, and 1R. The previous-day reference (R2) is shown beside it every time; it produces far fewer setups (it needs an untaken level to be raided inside a one-hour window).
3.1 Summary
| Set | n | Win rate | Random | Edge, pp (z) | Gross exp. | Net exp. |
|---|---|---|---|---|---|---|
| R1, all setups, 2012–2018 | 23,149 | 49.0% | 48.8% | +0.25 (z +0.8) | -0.017R | -0.844R |
| R1, all setups, 2019–2026 | 31,289 | 47.9% | 48.8% | -0.90 (z -3.3) | -0.040R | -0.899R |
| R1, all setups, all years | 54,438 | 48.4% | 48.8% | -0.41 (z -1.9) | -0.030R | -0.876R |
| R1, tradable, all years | 2,568 | 48.4% | 50.3% | -1.89 (z -1.9) | -0.031R | -0.098R |
| R2, all setups, all years | 2,242 | 47.5% | 49.4% | -1.93 (z -1.8) | -0.049R | -0.502R |
| R2, tradable, all years | 196 | 46.4% | 50.9% | -4.50 (z -1.3) | -0.076R | -0.141R |
All three windows and seven instruments pooled, limit at the FVG near edge, 1R.
3.2 Claim ① — Does the Silver Bullet entry beat random?
All setups.
| Reference | Window | n (2012–18 / 2019–26) | 1R edge, pp 2012–18 | 1R edge, pp 2019–26 | 2R edge, pp 2012–18 | 2R edge, pp 2019–26 | Gross exp. 1R (all yrs) | Net exp. 1R (all yrs) |
|---|---|---|---|---|---|---|---|---|
| Prior 60 min | London 03–04 | 8,139 / 10,999 | +1.18 (z +2.1) | -0.69 (z -1.4) | +0.86 (z +1.6) | -0.80 (z -1.8) | -0.016R | -0.858R |
| Prior 60 min | NY AM 10–11 | 8,028 / 10,650 | +0.40 (z +0.7) | -1.15 (z -2.4) | -0.46 (z -0.9) | -1.82 (z -3.8) | -0.031R | -0.641R |
| Prior 60 min | NY PM 14–15 | 6,982 / 9,640 | -0.99 (z -1.3) | -0.87 (z -1.4) | -0.56 (z -0.9) | -0.74 (z -1.4) | -0.045R | -1.158R |
| Prior 60 min | All 3 windows | 23,149 / 31,289 | +0.25 (z +0.8) | -0.90 (z -3.3) | -0.02 (z -0.1) | -1.13 (z -4.2) | -0.030R | -0.876R |
| Prev.-day H/L | London 03–04 | 506 / 529 | -1.65 (z -0.8) | -3.26 (z -1.4) | -4.33 (z -1.8) | -3.47 (z -1.5) | -0.057R | -0.593R |
| Prev.-day H/L | NY AM 10–11 | 353 / 509 | +3.86 (z +1.5) | -5.27 (z -2.3) | +6.09 (z +2.2) | -4.29 (z -1.9) | -0.039R | -0.411R |
| Prev.-day H/L | NY PM 14–15 | 153 / 192 | -9.24 (z -2.2) | +5.06 (z +1.3) | -12.90 (z -3.8) | +7.32 (z +2.0) | -0.051R | -0.455R |
| Prev.-day H/L | All 3 windows | 1,012 / 1,230 | -0.88 (z -0.5) | -2.79 (z -1.9) | -1.99 (z -1.3) | -2.12 (z -1.4) | -0.049R | -0.502R |
Tradable setups (stop ≥ 10 × cost).
| Reference | Window | n (2012–18 / 2019–26) | 1R edge, pp 2012–18 | 1R edge, pp 2019–26 | 2R edge, pp 2012–18 | 2R edge, pp 2019–26 | Gross exp. 1R (all yrs) | Net exp. 1R (all yrs) |
|---|---|---|---|---|---|---|---|---|
| Prior 60 min | London 03–04 | 14 / 460 | -21.43 (z -1.7) | -7.33 (z -3.5) | -10.71 (z -0.9) | -3.19 (z -1.5) | -0.143R | -0.217R |
| Prior 60 min | NY AM 10–11 | 86 / 1,308 | -7.62 (z -1.4) | +0.07 (z +0.1) | -4.29 (z -1.0) | -0.51 (z -0.4) | +0.005R | -0.059R |
| Prior 60 min | NY PM 14–15 | 67 / 633 | -12.24 (z -1.8) | +0.29 (z +0.1) | -10.16 (z -2.0) | +1.10 (z +0.6) | -0.026R | -0.094R |
| Prior 60 min | All 3 windows | 167 / 2,401 | -10.63 (z -2.8) | -1.29 (z -1.2) | -7.18 (z -2.2) | -0.60 (z -0.6) | -0.031R | -0.098R |
| Prev.-day H/L | London 03–04 | 2 / 30 | +50.00 | -5.00 (z -0.5) | +60.00 | -7.96 (z -0.8) | +0.063R | -0.013R |
| Prev.-day H/L | NY AM 10–11 | 8 / 95 | -2.50 (z -0.2) | -2.87 (z -0.6) | +6.67 (z +0.4) | -1.87 (z -0.4) | -0.050R | -0.114R |
| Prev.-day H/L | NY PM 14–15 | 25 / 36 | -26.87 (z -2.8) | +3.67 (z +0.4) | -23.59 (z -4.2) | +2.51 (z +0.3) | -0.188R | -0.251R |
| Prev.-day H/L | All 3 windows | 35 / 161 | -16.90 (z -2.0) | -1.81 (z -0.5) | -11.90 (z -1.7) | -2.02 (z -0.6) | -0.076R | -0.141R |
Pooled, the entry wins 48.4% of 1R trades against 48.8% for random entries with the same stop: an edge of -0.41 pp (z -1.9), and -0.66 pp at 2R (z -3.0). The two blocks do not agree: +0.25 pp (z +0.8) in 2012–2018 and -0.90 pp (z -3.3) in 2019–2026. Before costs the trade earns -0.030R; after costs, -0.876R, because the stop is about as small as the spread. Restricting to tradable stops removes most of the cost drag (net -0.098R) but not the problem: the gross result is still -0.031R and the edge -1.89 pp. The previous-day reference does no better.
Individual cells beyond |z| = 2 exist in both directions. The clearest negative one is London with tradable stops in 2019–2026 (-7.33 pp, z -3.5, n = 460). Every previous-day-reference cell that reaches |z| = 2 reverses sign between the two blocks (for example NY PM, 2R: z -3.8 in 2012–2018, +2.0 in 2019–2026; NY AM, 2R: +2.2 and -1.9). With 3 windows × 2 references × 2 targets × 2 blocks × 2 subsets, a few such cells are expected from chance alone.
3.3 Claim ② — Does the raid matter?
The first-FVG variant ignores the direction requirement: it takes the first FVG of either direction in the window and classifies it by the raid state when the gap completes.
| Reference | First FVG in the window is… | n (2012–18 / 2019–26) | Edge 2012–18 | Edge 2019–26 | Edge all yrs | Net exp. all yrs | n tradable | Edge tradable, all yrs |
|---|---|---|---|---|---|---|---|---|
| Prior 60 min | Raid, then FVG against the raid (Silver Bullet) | 3,780 / 5,484 | +1.29 (z +1.5) | -1.28 (z -1.5) | -0.23 (z -0.4) | -0.716R | 644 | +0.12 (z +0.1) |
| Prior 60 min | Raid, then FVG with the raid (continuation) | 7,777 / 11,007 | -2.67 (z -3.7) | -2.04 (z -4.4) | -2.30 (z -5.5) | -0.748R | 1,664 | +1.35 (z +0.9) |
| Prior 60 min | No raid of the reference level | 17,541 / 22,973 | -0.79 (z -1.7) | -2.09 (z -5.3) | -1.53 (z -5.1) | -1.187R | 1,397 | -2.74 (z -1.9) |
| Prev.-day H/L | Raid, then FVG against the raid (Silver Bullet) | 51 / 58 | -2.95 (z -0.4) | -0.06 (z -0.0) | -1.42 (z -0.3) | -0.431R | 27 | -6.82 (z -0.8) |
| Prev.-day H/L | Raid, then FVG with the raid (continuation) | 163 / 214 | -1.60 (z -0.4) | -1.42 (z -0.4) | -1.50 (z -0.5) | -0.341R | 123 | +8.06 (z +1.7) |
| Prev.-day H/L | No raid of the reference level | 27,081 / 37,335 | -1.06 (z -2.6) | -2.05 (z -6.2) | -1.64 (z -6.3) | -1.004R | 3,571 | -0.44 (z -0.4) |
The ordering is the one the model predicts — an FVG against a raid (-0.23 pp, z -0.4) is better than no raid (-1.53 pp) and better than an FVG with the raid (-2.30 pp, z -5.5) — but the best class is only as good as random, it flips sign between the blocks (+1.29 pp in 2012–2018, -1.28 pp in 2019–2026), and it loses 0.72R per trade after costs. Among tradable setups it is +0.12 pp (z +0.1). The raid separates the classes a little; it does not create an edge.
3.4 Claim ③ — Are the three windows special?
The same rules were run in all 24 hourly windows. If the Silver Bullet hours were special, they should stand out.
| Reference | Period | Mean edge, 3 Silver Bullet hours (pp) | Mean edge, other 21 hours (pp) | Rank of 03h / 10h / 14h (of 24) |
|---|---|---|---|---|
| Prior 60 min | 2012–2018 | +0.20 | +0.15 | 3 / 10 / 20 |
| Prior 60 min | 2019–2026 | -0.90 | -0.67 | 12 / 20 / 14 |
| Prior 60 min | All years | -0.43 | -0.34 | 4 / 14 / 19 |
| Prev.-day H/L | 2012–2018 | -2.35 | +0.29 | 16 / 5 / 24 |
| Prev.-day H/L | 2019–2026 | -1.15 | -2.62 | 12 / 17 / 2 |
| Prev.-day H/L | All years | -1.76 | -1.37 | 17 / 14 / 10 |
The Silver Bullet hours average -0.43 pp against -0.34 pp for the other 21 hours; they rank 4th, 14th and 19th of 24. The 17:00–18:00 hour, which straddles the daily rollover, tops the chart (+2.98 pp, 95% CI ±1.10, over all years). It also has the fewest setups of any hour and has not been investigated further here.
3.5 Claim ④ — Refinements
| Reference | Variant | 1R edge 2012–18 | 1R edge 2019–26 | Opp.-level target, edge (all yrs) | Fixed 10×cost target, edge (all yrs) | n tradable | 1R edge, tradable | 1R net exp., tradable | Fixed target edge, tradable |
|---|---|---|---|---|---|---|---|---|---|
| Prior 60 min | Baseline: limit at FVG near edge, fill inside the window | +0.25 (z +0.8) | -0.90 (z -3.3) | -0.58 (z -3.0) | -0.51 (z -2.5) | 2,568 | -1.89 (z -1.9) | -0.098R | -2.23 (z -2.4) |
| Prior 60 min | Limit at the FVG midpoint (CE) | -0.43 (z -1.2) | -1.29 (z -4.4) | -0.77 (z -4.1) | -0.56 (z -2.8) | 1,962 | -1.94 (z -1.6) | -0.103R | -0.87 (z -0.7) |
| Prior 60 min | Fill allowed for 60 min after the window closes | +0.55 (z +2.0) | -0.74 (z -2.7) | -0.45 (z -2.3) | -0.30 (z -1.6) | 2,740 | -1.44 (z -1.5) | -0.092R | -1.47 (z -1.5) |
| Prev.-day H/L | Baseline: limit at FVG near edge, fill inside the window | -0.88 (z -0.5) | -2.79 (z -1.9) | -0.59 (z -1.0) | -1.86 (z -2.1) | 196 | -4.50 (z -1.3) | -0.141R | -2.92 (z -0.9) |
| Prev.-day H/L | Limit at the FVG midpoint (CE) | -1.19 (z -0.7) | -4.47 (z -2.7) | -1.02 (z -1.8) | -1.16 (z -1.1) | 154 | -8.57 (z -2.0) | -0.236R | -3.07 (z -0.8) |
| Prev.-day H/L | Fill allowed for 60 min after the window closes | -0.30 (z -0.2) | -2.44 (z -1.9) | -0.56 (z -1.0) | -1.43 (z -1.5) | 230 | -4.57 (z -1.5) | -0.146R | -2.48 (z -0.8) |
Moving the entry to the FVG midpoint is worse (-1.29 pp, z -4.4 in 2019–2026) and fills less often. Allowing fills for an hour after the window is neutral (+0.55 pp in 2012–2018, -0.74 pp in 2019–2026). Targeting the opposite reference level or a fixed distance leaves the edge negative. Among tradable setups the net result is about -0.1R to -0.2R in every row.
3.6 Claim ⑤ — Stronger setups
| Attribute | Bin | n (2012–18 / 2019–26) | Edge 2012–18 | Edge 2019–26 | Net exp. 2012–18 | Net exp. 2019–26 |
|---|---|---|---|---|---|---|
| Displacement (middle-candle body ÷ ATR14) | <1 | 13,806 / 17,780 | +0.59 (z +1.3) | -0.70 (z -1.8) | -0.891R | -0.977R |
| Displacement (middle-candle body ÷ ATR14) | 1–2 | 7,874 / 11,501 | -0.23 (z -0.4) | -1.05 (z -2.4) | -0.765R | -0.769R |
| Displacement (middle-candle body ÷ ATR14) | 2–3 | 1,103 / 1,591 | -0.20 (z -0.1) | -1.25 (z -1.0) | -0.762R | -0.836R |
| Displacement (middle-candle body ÷ ATR14) | ≥ 3 | 283 / 346 | -3.61 (z -1.0) | -5.99 (z -2.0) | -0.823R | -1.276R |
| Raid depth beyond the reference level (÷ ATR14) | <0.5 | 3,707 / 5,226 | -1.00 (z -1.1) | -1.74 (z -2.3) | -0.924R | -0.937R |
| Raid depth beyond the reference level (÷ ATR14) | 0.5–1 | 3,327 / 4,714 | +1.53 (z +1.7) | -0.34 (z -0.5) | -0.822R | -0.866R |
| Raid depth beyond the reference level (÷ ATR14) | 1–2 | 5,291 / 7,439 | +0.53 (z +0.8) | -1.20 (z -1.9) | -0.842R | -0.891R |
| Raid depth beyond the reference level (÷ ATR14) | ≥ 2 | 10,824 / 13,910 | +0.16 (z +0.3) | -0.61 (z -1.4) | -0.824R | -0.900R |
| FVG size (÷ ATR14) | <0.25 | 9,011 / 12,094 | +0.27 (z +0.5) | -0.39 (z -0.9) | -0.946R | -0.969R |
| FVG size (÷ ATR14) | 0.25–0.5 | 6,242 / 8,344 | +0.60 (z +1.0) | -0.54 (z -1.0) | -0.829R | -0.884R |
| FVG size (÷ ATR14) | 0.5–1 | 5,538 / 7,598 | +0.25 (z +0.3) | -1.45 (z -3.0) | -0.750R | -0.814R |
| FVG size (÷ ATR14) | ≥ 1 | 2,358 / 3,253 | -0.72 (z -0.7) | -2.42 (z -2.8) | -0.712R | -0.874R |
Higher displacement and larger FVGs are not better. The strongest displacement bin (body at least 3 ATR) is the worst in both blocks, -3.6 pp and -6.0 pp, and the largest FVG bin is also worst in 2019–2026 (-2.42 pp, z -2.8). Raid depth shows a small positive hump at 0.5–1 ATR in 2012–2018 (+1.53 pp, z +1.7) that is gone in 2019–2026. Previous-day-reference results are too few to bin.
3.7 By instrument
| Instrument | n (2012–18 / 2019–26) | Edge 2012–18 | Edge 2019–26 | Net exp. 2012–18 | Net exp. 2019–26 |
|---|---|---|---|---|---|
| EURUSD | 3,865 / 4,416 | -0.53 (z -0.7) | -1.23 (z -1.5) | -0.463R | -0.605R |
| GBPUSD | 3,853 / 4,409 | -0.65 (z -0.7) | -0.44 (z -0.6) | -0.627R | -0.685R |
| USDJPY | 3,811 / 4,273 | +0.55 (z +0.7) | +0.47 (z +0.6) | -0.957R | -0.968R |
| AUDUSD | 3,907 / 4,370 | -1.32 (z -1.5) | -2.15 (z -2.7) | -0.702R | -0.845R |
| XAUUSD | 3,438 / 4,005 | +2.01 (z +2.3) | +0.45 (z +0.5) | -0.925R | -0.607R |
| BTCUSD | 720 / 5,414 | +1.87 (z +0.6) | -3.02 (z -4.2) | -4.434R | -2.090R |
| US100 | 3,555 / 4,402 | +1.48 (z +1.9) | +0.26 (z +0.3) | -0.721R | -0.194R |
Three instruments are positive in 2012–2018 (XAUUSD +2.01 pp, z +2.3; US100 +1.48 pp, z +1.9; USDJPY +0.55 pp) and all three fade in 2019–2026 (+0.45, +0.26, +0.47 pp, none significant). AUDUSD is negative in both blocks (-2.15 pp, z -2.7 in 2019–2026) and BTCUSD is strongly negative in 2019–2026 (-3.02 pp, z -4.2). Net expectancy is negative on every instrument in both blocks; US100, which has the largest stops relative to cost, is the least bad (-0.19R in 2019–2026).
4. Checks and corrections
- Independent re-simulation. A separate plain-Python implementation of the whole chain (reference level, raid, FVG, stop, limit fill, 1R outcome and R) was run on 4,000 randomly sampled EURUSD windows from the three Silver Bullet hours. All 2,107 setups matched the main engine exactly, including windows with no setup.
- Neutral baseline. Random entries average within ±0.06R gross in the large samples, as they should.
- The out-of-sample block is not pristine. EURUSD 2012–2018 had been examined in an earlier exploratory run of a simpler version of this model, so for that instrument the block is a repeat, not a first look. The other six instruments’ 2012–2018 data were opened for the first time in the final run.
- Some choices were made after seeing data. The prior-60-minute reference was chosen after exploratory EURUSD runs; the previous-day reference is reported beside it because the choice was not neutral. The 10 × cost minimum stop and the fixed-distance target were added after finding that most M1 stops are smaller than the costs, while 2019–2026 results were in view. Reporting two references and four targets is a multiple-comparisons problem, which is why single cells at |z| ≈ 2 are not treated as findings.
5. Conclusion
- ① The Silver Bullet entry does not beat random entries. Pooled, the edge is -0.41 pp (z -1.9), the gross expectancy is -0.03R, and the two blocks disagree in sign. With realistic costs the model as described loses about 0.88R per trade because its stops are barely larger than the spread; with stops large enough to trade, it loses 0.10R.
- ② A raid followed by a reversing FVG is the least bad class, but it is no better than random and it flips sign between blocks.
- ③ The three Silver Bullet hours are not special: they rank 4th, 14th and 19th of 24.
- ④ Entering at the midpoint, allowing a later fill, or changing the target does not create an edge.
- ⑤ More displacement, a deeper raid or a larger FVG do not improve results; the strongest displacement bin is the worst.
Within what can be defined mechanically, the Silver Bullet is not a special entry, and the three hours are not special hours. The most reliable thing in the data is the cost arithmetic: a minute-chart stop of two or three pips cannot carry a spread of 1.4 pips.
6. Limitations
- Each element is one mechanical definition. Discretionary use adds context (higher-timeframe bias, news, which liquidity is “obvious”) that is not modelled. Higher-timeframe filters were tried only in exploratory EURUSD runs and are not part of this protocol
- The reference levels, the first-bar raid rule and the no-buffer stop are single choices. Stops with a buffer would lower the cost share but change the setup
- The tradable subset keeps between 0.3% and 24% of setups depending on the instrument, so its results mostly describe US100 and the larger moves on the other instruments
- Bid prices only; limit orders are filled on the first touch (no queue priority); slippage is not modelled; costs are representative estimates
- The random baseline matches the New York local minute of day, so session timing is consistent across daylight-saving changes
- EURUSD 2012–2018 is not a first look (Section 4)
7. Next Steps
- Re-test on index futures (NQ) where stops are large relative to costs: US100 is the only instrument here where a quarter of setups clear 10 × cost
- Test the model with a stop buffer and with fixed-distance targets chosen in advance, as separate trials
- Combine the entry with a higher-timeframe bias, once a bias definition has been shown to carry information on its own
- Look at the 17:00 New York hour, which stood out in the 24-hour scan, separately
Appendix — Technical notes: Setup detection, fills and outcomes are JIT-compiled with Numba and resolved bar by bar on M1 data. Random baselines: ten same-direction, same-New-York-minute-of-day entries within ±60 calendar days per trade, same stop and target distances. Standard errors: month-block bootstrap with 1,000 resamples. Costs: EURUSD 1.4 pips, GBPUSD 2.2 pips, USDJPY 2.5 pips, AUDUSD 1.6 pips, XAUUSD $0.58, BTCUSD $30, US100 1.5 points round trip. Full methodology and scripts available on request.
