model #26

MN HOLD-SIDE

When RTH opens 60–200 pts away from the NY midnight open AND the 4H trend agrees, price holds that side all day. 409 sessions, +28 pts/trade at target 250; PRIME tier (10:00 ext≥60) gets +55/tr.

updated 2026-04-29
tier 1 both trend-day-filter midnight-openhold-daytrend-filterconfluence-multipliertier-1pdc-overlay
Available on MNQ
Midnight Open — setup illustration
Midnight Open — detection logic

The setup

New York midnight (00:00 ET) is a liquidity pivot. On most sessions price eventually crosses it during RTH — but on ~33% of days it never does. Those are hold days: price opens on one side of the midnight open and runs away from it all session long.

The problem has always been identifying in advance which days will hold. Our T3 filter does it cleanly:

ConditionRequirement
Distance|RTH_open − MN| ∈ [60, 200] pts
Trend4H SMC trend aligns with the open side (above MN + 4H bullish → BULL; below MN + 4H bearish → BEAR)

When both conditions fire at 09:30, the model publishes MN HOLD BULL / MN HOLD BEAR to the chart HUD. Stop = the midnight-open price. Target = entry ± 250 pts. Flat by 15:55.

If by 10:00 the market has extended ≥60 pts away from MN (confirming the hold thesis), the line upgrades to MN HOLD PRIME — base probability lifts from 57 → 64%, and the setup becomes the single highest-expectancy trade in the stack.

Entry rules

Two deployable modes

The backtest surfaced two clean configurations, both shipped:

ModeEntryGatenWin% @ 250Exp/trTotal pts
A — ImmediateOpen93009:30 opennone34116.7%+28.25+12,694
B — ConfirmAt100010:00 openext ≥ 60 in first 30 min14816.2%+55.13+8,160

Mode A trades more frequently with a simpler rule. Mode B filters to trend days that have already proven themselves by 10:00 and doubles per-trade expectancy in exchange for a deeper stop (Q50 risk 182 vs 101).

Probability calibration

Base probability = 57% (realized hit rate at 150-pt target on the qualifying pool).

ConditionAdjustment
PRIME tier (ext ≥ 60 by 10:00)+7 → 64%
Thursday−5
Tuesday / Friday+3
Monday + PRIME−5

Why Tier 1

This is a rare setup that earned Tier 1 on two independent grounds:

1. Standalone expectancy. +28.25 pts/trade across 341 trades, all five weekdays positive, zero negative targets in the target-sweep curve. The PRIME variant approaches +55/trade. By itself it is the best-expectancy trend-day filter in the stack.

2. Confluence amplifier. When MN HOLD is active, 16 other models in our suite show measurably different hit rates based on direction agreement. PDH TOUCH / PDL TOUCH swing 60 percentage points between aligned and opposed. 1H CRT lifts from 81.7 → 94.5% when aligned. Full bonus/penalty table below. In the 34k-prediction meta-validation, applying the confluence layer:

Confluence rules (applied to other lines when MN HOLD is active)

Aligned = same direction as mn_hold_side. Kill floor 40.

LineAligned bonusOpposed penaltyPRIME extra
PDH TOUCH / PDL TOUCH+25−20+3
PO XTND BEAR+150+3
1H CRT+12−15+3
ASIA [Med] LOW+12−8+3
PO XTND BULL+10−10+3
0809 MID+10−12+2
AMD BEAR+8−15+2
0809 SEQ LOW+8−5+5
ASIA [Med] HIGH+8−8+3
PO RNG MID+80+8
PO RNG BEAR+8−8+2
PWH/L RETEST+80+5
LON SWEEP L+80+8
AMD BULL+50+2
0809 SEQ HIGH+5−5+5
LON SWEEP H+40+8
OR30 BREAK (direct 09:30 breakout)+20−18+12
OB STRETCH B+30+5
PO RNG BULL / OB BULL+1 to +2−3 to −4+2 to +3
OB MID−5−200
OB MID MAGNET−5−180
MN OPEN FILL / INSIDE GAP FILL0−250
FILL 07-08 L0−140
FILL 06-07 H / GAP FILL → PDH0−130
FILL series (other)0−10 to −120
HRR 08:00-09:00 SHORT0−150

The mean-reversion lines (MN OPEN FILL, INSIDE GAP FILL, FILL series, OB MID, OB MID MAGNET) get killed on opposed hold days — the backtest showed their edge evaporates when the market is in trend mode. OB MID signals get a small aligned penalty as well, because the replay backtest (1,370 sessions) found MN-active sessions are −6.6 pts/trade regardless of direction when trading 10:30 OB midpoint reversion — the trend-day regime dominates over direction agreement.

DOW breakdown (Mode A, target 250)

DOWnWin%Exp/trTotal
Mon6111.5%+40.06+2,444
Tue7116.9%+50.77+3,605
Wed6523.1%+46.84+3,044
Thu819.9%+8.92+723
Fri6323.8%+45.69+2,878
All34116.7%+37.23+12,694

Thursday is the outlier drag but still net positive. Skipping it lifts remaining exp to +46/tr × 260 trades.

PDC overlay (2026-04-29)

We hypothesized that midnight’s position relative to the prior-day range would refine the signal — a midnight parked on top of yesterday’s close is doing something different from one stretched far above PDH. Backtest on the T3 pool (n=265, dist 60-200 + 4H aligned, target 250):

MN offset from PDC

BucketnExp/tr
MN << PDC (≥50pt below)38+37
MN < PDC (15–50 below)51+44
MN ≈ PDC (±15) — dead zone59+2
MN > PDC (15–50 above)53+38
MN >> PDC (≥50 above)64+30

The middle bucket — when midnight prints within 15pt of yesterday’s RTH close — collapses the edge. 22% of T3 trades are in this dead zone and they barely net positive. Skip them.

Opposite-half pattern

Splitting BULL vs BEAR by which side of PDC midnight sits on:

DirectionMN side of PDCnExp/tr
BEARMN > PDC (above)78+58
BEARMN < PDC (below)41+12
BULLMN < PDC (below)48+71
BULLMN > PDC (above)39+18

BEAR trades work best when midnight is above prior close (price has room to fall back through it); BULL trades work best when midnight is below prior close (room to rally back). Same-side setups are weak.

What ships

isDead     = abs(MN − PDC) < 15                      → SKIP entirely
isOppHalf  = (BEAR and MN > PDC) or (BULL and MN < PDC)  → +10pp

Wired into smc_analysis.py (emits mn_pdc_offset, mn_pdc_dead, mn_opposite_half, mn_rpos), track_predictions.py:model_mn_hold_side, and PredictionModel.cs Model 16. Backtest script: backtest_mn_hold_pdhlc_overlay.py.

Implementation

History