How does the Midpoint Range Split behave on actual RangeProb ranges?
Public, reproducible research on a pre-defined, manually traded execution protocol - without our own selector, reconstructed ranges or synthetic history extension.
Awaiting the canonical Midpoint Range Split replay Result charts stay empty until the protocol, output and verification hashes are frozen.
pending-canonical
What this research measures
One manual strategy combination. Actual vendor ranges. No reconstructed substitutes.
Generalization over optimization
Further optimization by market, timeframe, session and range size is possible. We deliberately do not use those extra degrees of freedom in the headline result. Experience with overfitting favors rules that generalize across NQ, ES, YM, RTY, GC and CL and across multiple timeframes. Any finer specialization appears only as a separately labeled sensitivity analysis.
Cross-market / cross-TFResults without a black box
Two public views stay separate: headline manual true netting + P=2 and isolated signals as a diagnostic.
The headline manual portfolio uses true instrument-level target-netting and P=2. It is not the arithmetic sum of isolated trade P&L.
VerifiedCumulative result
Stability matters more than the largest raw P&L
The isolated diagnostic produces more cash before the shared monthly fee, but it is not an executable account book. True netting + P=2 gives up 13.2% of that raw diagnostic cash while cutting maximum drawdown by 42.4%.
Why this can matter for MaxUSD: lower realized drawdown may support a larger risk budget under the trader's own drawdown limit. It does not automatically authorize higher size; the MaxUSD grid below remains a quantity overlay, not a new P&L replay.
Results by timeframe, session, direction and market
Each row changes only the named dimension; the other three dimensions remain ALL. These are unconditional one-dimensional denominators and do not inherit the toolbar filters.
Timeframe
| Segment | Filled | Net cash | Max DD | WinD | WinM |
|---|
Session
| Segment | Filled | Net cash | Max DD | WinD | WinM |
|---|
Direction
| Segment | Filled | Net cash | Max DD | WinD | WinM |
|---|
Market
| Segment | Filled | Net cash | Max DD | WinD | WinM |
|---|
Monthly heatmap
Result by session
Gross to actual net
One LIMIT entry, two complementary jobs
The Edge Target & Runner manages structural price levels. The Outside-Close Exit waits for a completed signal-timeframe close. "Two ticks" and "-2R" are deliberately different protections.
Cancel an unfilled entry at the first signal-timeframe candle close outside either range edge, or at 16:30 America/New_York - whichever occurs first. A canceled intent is not a fill and does not enter filled-trade denominators.
Edge Target & Runner
Structural range leg and realization stabilizer.
- TargetFar range edge50% of this leg / maker LIMIT
- RunnerOriginal natural SLor separately labeled EOD market exit
- SL2 ticks beyond opposite edgenatural stop-market / taker
Outside-Close Exit
Close-resolution complement designed to retain continuation.
- ExitFirst signal-TF close above H or below Leither edge; market/taker, not an SL
- Failsafe-2Rtechnological safety
- Fallback16:30 New York flatmarket/taker exit, separately labeled
-2R is not the sought edge. This failsafe was chosen primarily as a technological disaster guard for failure, gap or unexpected execution state.
Earlier audit material called these legs M6 and PDF-source. The public names are now Edge Target & Runner and Outside-Close Exit. They are our execution rules applied to published ranges and must not be confused with RangeProb's separate proprietary “M6” model label.
M1 by default; 1s only when M1 cannot order events
If one minute bar reaches multiple decision levels, only that ambiguous interval is resolved with one-second data. Events in the same second receive conservative stop-first treatment.
Observed scale: about 10.3k unique M1 event/collision intervals were sent to the 1s resolver (10,314 requested; 10,310 available). Only 3 remained same-second collisions and received stop-first ordering. Four missing 1s intervals, affecting five natural replay paths, remain explicitly flagged.
Use an AI agent as a manual execution assistant
The agent validates the published signal, calculates the order ticket and tracks confirmed state. It never selects a range, invents missing inputs or sends an order to a broker.
Midpoint Range Split — manual decision support
MIDPOINT RANGE SPLIT — MANUAL DECISION-SUPPORT AGENT ROLE You are a decision-support assistant for a manually traded futures protocol. You calculate, validate, explain and monitor trade instructions. You must never connect to a broker, submit, modify or cancel an order, claim that an order was sent, or assume that an order filled. Every execution step must be clearly labeled "MANUAL ACTION" and requires human or broker confirmation. Use only an actual published RangeProb / RangeORB range. Never create, reconstruct or predict the range, direction or probability. REQUIRED INPUTS For every signal, require: - Signal ID. - Futures market and executable micro contract. - Actual signal-availability timestamp in America/New_York. - Signal timeframe. - Published direction: UP or DOWN. - Published range high H and range low L. - Tick size and tick value. - MaxUSD value: 50, 100, 150, 250 or 500. - Sizing mode: FLAT or K-FILTER. - For K-FILTER: the validated frozen normalization mean and signal-time K state. - Current same-market book: open composites, remaining quantities by leg, pending entries and working exits. - Completed signal-timeframe candles after signal availability. - Actual broker confirmations for fills, partial fills, cancellations and exits. If any required value is missing, contradictory, stale or off tick, return NEEDS_INPUT. Do not estimate it. SESSION RULES Use America/New_York throughout and classify the actual availability time: - Asia 18:00–00:00: diagnostic only; no headline trade instruction. - London 00:00–06:00: eligible. - New York AM 06:00–12:00: eligible. - New York PM 12:00–16:30: eligible. - 16:30–18:00: no new entries; manually cancel pending entries and flatten open exposure. Use signal availability, not an earlier source-candle close. Never backdate a signal. At 16:30, cancel working entry and target orders before manually flattening remaining exposure at market. LEVEL CALCULATION Let M = (H + L) / 2. For UP: - Buffered Midpoint LIMIT entry E = M − 1 tick. - Far-edge target = H. - Structural stop S = L − 2 ticks. For DOWN: - Buffered Midpoint LIMIT entry E = M + 1 tick. - Far-edge target = L. - Structural stop S = H + 2 ticks. Define R as the absolute distance between E and S. Outside-Close Technical Failsafe: - UP: E − 2R. - DOWN: E + 2R. All prices must conform to the contract tick grid. If the approved protocol does not resolve a half-tick midpoint, return NEEDS_INPUT rather than inventing a rounding method. SIZING one_micro_1R_USD = number of ticks from E to S × tick value. For FLAT: allocated_USD = MaxUSD. For K-FILTER: - London raw weight is always 1.00. - Otherwise use 1.75 when K3 agrees with the published direction. - Otherwise use 1.25 when K2 or K6 agrees. - Otherwise use 1.00. - K3 has priority when states overlap. - A disagreeing or inactive K state is not a veto. - normalized_K_weight = raw weight / frozen cohort mean. - allocated_USD = MaxUSD × normalized_K_weight. Never derive the normalization mean from recent results or P&L. N = floor(allocated_USD / one_micro_1R_USD). Never round quantity upward. If N = 0, return SKIP_SIZE; the signal must not affect P=2 or the netted book. Allocate N using round-to-nearest with ties to even: - Structural quantity = round_even(2N / 3). - Outside-Close quantity = N − Structural quantity. - Edge-target quantity = round_even(Structural quantity / 2). - Runner quantity = Structural quantity − Edge-target quantity. Low-size cases: - N=1: one runner only. - N=2: one runner plus one Outside-Close unit. - N=3: one edge-target unit, one runner and one Outside-Close unit. Warn that MaxUSD is a structural 1R reference, not a hard worst-case account cap. The Outside-Close leg uses a −2R Technical Failsafe, so full stop-based exposure can exceed MaxUSD. TRUE NETTING AND P=2 Maintain one genuine directional position per futures market. Never describe simultaneous long and short exposure in one instrument as separate broker positions. - Same-direction filled composites may pyramid. - Maximum: two filled composites per market. - Pending entries do not consume a P=2 slot. - A partial exit does not release a slot. - A composite releases its slot only when fully closed. - Once the second composite is confirmed filled, identify any additional same-market pending entry for immediate manual cancellation. - For an accepted opposite-direction signal, first instruct the trader to cancel affected working exits and manually close the entire open same-market book at market. - Wait for flat confirmation before instructing the trader to place the new resting entry LIMIT. - Label an opposing-book close as a true-netting market/taker event. Never allow working exit quantities to exceed the confirmed live net position. Recalculate all remaining quantities after every confirmed fill or exit. ENTRY For an eligible signal, output the Buffered Midpoint LIMIT price and quantity as a manual instruction. The entry must be a resting broker LIMIT. Do not replace it with a market order after price touches the level. For historical evaluation, count a fill only after price trades one tick through the LIMIT while the modeled fill remains at the LIMIT price. For live manual supervision, only an actual broker fill confirmation establishes a fill. Cancel an unfilled entry at the first completed signal-timeframe candle whose close is above H or below L, or at 16:30 America/New_York, whichever happens first. A canceled entry is not a trade. POST-FILL MANAGEMENT Only after actual fill confirmation, issue these manual setup instructions. 1. EDGE TARGET & RUNNER — STRUCTURAL QUANTITY - Place the edge-target quantity as a resting LIMIT at the far range edge. - Protect the full remaining Structural quantity with the original structural stop-market at S. - When the edge-target fill is confirmed, retain the Runner quantity with the same original structural stop. - The runner has no additional profit target. - Flatten unresolved Structural quantity at 16:30. 2. OUTSIDE-CLOSE EXIT — OUTSIDE-CLOSE QUANTITY - Protect it with the −2R Technical Failsafe stop-market. - Do not exit merely because price touches or wicks beyond H or L. - Exit manually at market immediately after the first completed signal-timeframe candle closes above H or below L. - Either edge qualifies; the closing direction need not agree with the published UP or DOWN prediction. - If neither outside-close resolution nor failsafe occurs first, flatten it at 16:30. The −2R stop is a technological disaster guard, not the intended source of edge and not claimed as native RangeProb logic. EVENT HANDLING Process events in strict chronological order. - A completed-candle condition may be used only after that signal-timeframe candle has closed. - Do not anticipate an outside close intrabar. - Broker-confirmed stops and fills override inferred chart events. - If historical M1 data cannot order fill, target and stop, request the relevant one-second interval. - If events still share the same second, use conservative stop-first ordering. - Never infer an unconfirmed live fill from chart data alone. - For a partial fill or unresolved order-state conflict, return PROTOCOL_REVIEW and request human confirmation. COST CLASSIFICATION Label expected liquidity in every instruction: - Resting entry LIMIT: maker. - Resting edge-target LIMIT: maker. - Structural stop or −2R failsafe: stop-market / taker. - Outside-close resolution: market / taker. - 16:30 flatten: market / taker. - True-netting flip: market / taker. Actual liquidity classification always follows the broker execution report. REQUIRED OUTPUT For every update, return: STATUS: ACTIONABLE | WAIT | SKIP_SESSION | SKIP_SIZE | P2_BLOCKED | NEEDS_INPUT | PROTOCOL_REVIEW SIGNAL - ID, market and executable contract. - Availability time and session. - Timeframe and published direction. - H, L, M and range width. BOOK BEFORE ACTION - Current net quantity and direction. - Filled-composite count. - Pending entries. - Working exit quantities. LEVELS - Entry LIMIT. - Far-edge target. - Structural stop. - R. - Outside-Close −2R Technical Failsafe. SIZING - MaxUSD and sizing mode. - Raw and normalized K weight when applicable. - One-micro 1R risk. - Allocated USD. - N and unused risk budget. - Edge-target, runner and Outside-Close quantities. - Worst-case stop-based exposure warning. MANUAL ACTIONS Number each action in the exact required order. State order type, price, quantity and expected maker/taker classification. Never say "placed", "filled", "closed" or "canceled" without explicit confirmation. MONITOR NEXT State the next signal-timeframe close, pending-entry cancellation condition, protective levels and the 16:30 deadline. CONFIRMATION REQUIRED List the exact broker or human confirmation needed before the next state transition. End every actionable response with: "Manual decision support only. No broker order has been sent."
A real RangeProb range, followed candle by candle
This is one permitted, bounded and derived example from the three-year archive. It shows the manual Midpoint Range Split mechanics; it is not a bulk signal feed or performance evidence.
Verified source row 6373390 continuous NQ one-minute bars · America/New_York
The full 10:00–16:30 M1 path
The green band is the actual 30-minute source range. The violet band is the separate 30-minute bar immediately before the 13:30 signal.
A limit is considered historically fillable only after price trades one tick through it. Exact event seconds come from the committed targeted one-second resolver; the displayed candles remain M1.
Chronological, not chosen for its outcome
Loading the deterministic selection receipt…
- First accepted NQ fill at or after 2026-01-01 00:00 ET.
- Sorted by fill time, then source row id.
- No ranking by outcome, exit path, P&L, probability, range size or excursion.
One auditable example, no neighboring rows
Only this selected range and the bounded M1 window required to audit its path are exposed. No neighboring vendor rows, bulk vendor ledger or bulk exchange feed is published.
Scope: a mechanics illustration only. Aggregate research remains the evidence for strategy behavior.
The headline manual portfolio result uses genuine instrument-level netting
Concurrent RangeProb signals do not behave like isolated spreadsheet rows. Same-side exposure can pyramid, while opposing exposure is actually netted in each futures instrument.
Isolated analyticsEach range on its own. Best for signal diagnosis.
Netted / pyramided bookOne resulting position per instrument. Best for cash-account reality.
The P=2 cap, event priority, true netting and cash allocation reconcile to the ordered event ledger. The frozen release passed 136 ledger invariants and 23 adversarial execution tests.
Principle illustration only - not a published result or final sizing rule. A true-netting flip is separately labeled as a market/taker event.
One MaxUSD grid, with and without the frozen structure filter
The filter does not choose a different range and does not change either exit leg. It changes only the intended risk assigned to an otherwise eligible manual entry.
Flat MaxUSD
Every otherwise eligible range receives the same 1R reference budget. This is the clean control for judging whether filter-based sizing adds anything.
allocated USD = MaxUSD
K-filter MaxUSD
A signal-time structure state assigns a raw weight. The weights are then exposure-normalized on the frozen naturally fillable headline cohort, without using trade outcomes.
allocated USD = MaxUSD × normalized K weight
A close through an opposing 60-minute fair-value gap creates the state. It resets at 18:00 New York and counts as agreement only when its sign matches the published range direction.
The first 60-minute close through the prior 18:00-to-18:00 high or low creates a continuation state; a later opposing event neutralizes it. Agreement with the range direction receives priority.
An expansion fair-value gap in the last three fully closed signal-timeframe candles defines the state. Only a directionally agreeing state receives the higher raw weight.
Round risk down, never contracts up
N = floor(allocated USD / one-micro structural 1R risk)
Tick-rounded entry and structural stop define one-micro reference risk. If N = 0, the range is skipped before it can alter the netted book. P=2 counts filled range composites, not micro contracts.
MaxUSD is a 1R reference, not a hard worst-case cap
The Outside-Close Exit keeps its deliberately distant -2R technological failsafe. Consequently, full stop-based composite exposure can exceed the displayed MaxUSD reference. The report publishes both intended 1R allocation and worst-case stop exposure.
The 2/3 + 1/3 design is allocated deterministically
Structural leg = round-even(2N / 3)
Outside-Close leg = N - structural leg
Edge target = round-even(structural leg / 2)
Runner = residual
Small positions cannot always contain all three jobs: one micro becomes a runner; two micros become one runner plus one Outside-Close Exit; three micros reproduce one edge target, one runner and one Outside-Close Exit. These low-size cases remain visible rather than being silently forced to three micros.
Whole-micro quantity overlay on the frozen accepted-entry ledger
| Mode | MaxUSD | Eligible accepted entries | N≥1 entries | N=0 | Coverage | Entered micros | Mean/fill | Median/fill | Max/fill |
|---|
P=2 admission, portfolio netting and P&L were not rerun for these variants. The frozen accepted-entry ledger is held constant, so this table measures sizing feasibility and entered-micro volume only; it is not a performance comparison.
Cost is not a footnote
Liquidity classification follows the binding manual base protocol. The conservative TP-as-taker version is shown only as a stress test.
Entry LIMITresting at broker / one-tick through
Edge-target LIMITresting at broker / one-tick through
Natural SLstop-market taker
Other market exitsoutside close / EOD / net flip
Account netRT + BBO crossing + $99/month
Measured micro-futures BBO snapshot from 2026-06-24 through 2026-07-22: 6 markets by 48 New York half-hour slots. It is applied to the 3-year replay as a clock-conditioned proxy; 6 empty slots use same-contract fallback.
This is not a 3-year historical bid/ask series. The dated one-month snapshot and fallback count must remain visible beside every result that uses it.
Conservative sensitivity: TP-as-taker remains visible as an execution stress, not as the binding manual base protocol.
Charged once per CME session month at the dedicated futures-account level, never once per trade.
Versioned cost snapshot
USD per original 1-micro position
Rates are versioned methodology inputs, not permanent constants. Every release must identify the plan and effective date.
Does the NinjaTrader plan pay for itself at MaxUSD $250?
This view compares plan cost only: Free has a $0 plan fee and adds $0.20 per entered micro round turn versus Monthly; Monthly is the $99/month reference; Lifetime (official name; sometimes called “Unlimited” in the community) is $1,499 upfront and saves $0.40 per entered micro round turn versus Monthly. BBO is excluded because it is identical across plans.
Official per-side commission rates pending.
Headline percentages use all-in plan costs, including exchange, clearing and NFA components that are common to every plan. Those shared components dilute the visible Free-versus-Monthly percentage; the plan-sensitive-only percentage removes them for a like-for-like view of the pricing decision.
Pricing reference pending
London + New York headline, Asia diagnostic
Every bucket uses America/New_York. Daylight saving time is never handled by a manual spreadsheet offset.
The headline accepts London, New York AM and New York PM signals; Asia remains a separately reported isolated-signal diagnostic. Attribution uses signal availability / entry-intent time, not exit time. The manual window ends at 16:30; no new entries are taken from 16:30 to 18:00 and any open position is flat. Maintenance 17:00-18:00 sits inside that flat block.
Session results verifiedNot just the full period. The weakest rolling 18 months.
At each CME session-month endpoint, recompute the complete trailing 18-month window. The minimum path result matters more than the flattering full-period total.
The weakest window matters
Every number has a formula and denominator
Definitions are part of the result. "Win rate," "RF" or "exposure" without a population and clock are not accepted.
| Metric | Scope / unit | Exact formula | Denominator / population | Why it matters |
|---|
From vendor range to audited aggregate
Every step has an input, version, rule and checksum. A chart without provenance is not research.
Aggregated and derived metrics only.
Protect vendor know-how and respect exchange-data licensing and redistribution terms.
Verification hashes
- Range ledger SHA256
40bda9a92cacc0fe44e4282cb143ff966b245bf13985263d145a430be8ee90f8- Vendor track SHA256
fc41919ff68f3abf4354cc6fdcde4327ed2d337774b5c3edc27babc89229ff67- Spread profile SHA256
49673491ba2963cfabe94e0d693686ffaa519ba2181916a5e4beafb8cd65ea44- Combined replay runner
pending- Public aggregate
pending
Ask @ramb0 or @Admin to help extend coverage from 3 to 13 years
Only @ramb0 or @Admin are likely to hold older original RangeProb / RangeORB exports. The community does not need to reconstruct them from charts.
Once either person shares, upload the original file or a durable download link in Discord PRO-chat and pin the message so everyone can find and inspect the same source.
Account names and personal metadata may be removed before sharing. Every contribution will be deduplicated and checked for integrity and provenance.