A detailed explanation of the constant long+short hedge method, now updated with the completed v1.2 offline validation and the running v1.3-real1m optimizer. The core idea is no longer just “add to the loser”; it is: optionally re-anchor the losing leg, build entry separation, allow a profile-bounded snap/mega rescue add, close excess quickly, and keep a survivor core. v1.3 is now testing whether this survives real BTC/ETH/SOL 1-minute candles and matched controls.
Version: explainer v1.7 · Date: 15 June 2026 · Status: research specification + v1.2 offline validation PASS + v1.3-real1m deep optimizer running — not a live bot, not financial advice.
Open LONG and SHORT at the same time, then manage each book independently.
When one side suffers enough adverse ROE, add to that losing side by a tested sizing rule.
Over time, improve the average entry of both books and harvest recovery/trailing profit.
Realized profit alone is not enough; open tail risk must be counted.
This section summarizes the first local compact side-run performed on 3 June 2026. It is useful because it tested the idea across multiple regenerated synthetic 1m universes, but it is still a small research pass, not a full standard/deep validation.
Real SOLUSDT 2026 YTD daily candles. Synthetic 1m candles were constrained exactly to each daily OHLC.
Compact parameter sweep across base size, loss ladder, add sizing, core keep, and exit style.
Top 20 candidates were rechecked on unseen fresh seed universes 401–430.
Strict isolated-side survival was 0.00 for top candidates. Results are cross-margin / venue-model dependent.
The compact run did find a real positive signal: several candidates survived all fresh30 universes and kept positive median MTM. The most useful signal is not “Pi predicts price.” The useful signal is the combination of hedge separation + rescue spacing + controlled add sizing + trailing reduction + multi-universe robustness.
Wallet model: 1,000 USDT, 300× leverage, zero fees, simplified cross-margin replay. MTM = realized PnL + ending unrealized PnL.
| Rank | Candidate | Why it matters | Survival | Median MTM | Worst seed MTM | Median realized | Median unrealized | Max gross p90 |
|---|---|---|---|---|---|---|---|---|
| 1 | b1.0 · fixed 200 linear · add 2× current · keep geometric · TP2 close-to-core | Strongest raw MTM, but dirty because most gain is final unrealized separation. | 100% | +$5,170.95 | +$5,140.93 | +$16.53 | +$5,150.65 | 560 SOL |
| 3 | b5.0 · geometric 2× loss · target-total PiX · keep base · trail100 close-to-core | Cleaner: most of the gain is realized, with lower gross exposure than the raw winner. | 100% | +$1,912.86 | +$717.29 | +$1,651.11 | +$309.41 | 97.5 SOL |
| 4 | b2.0 · Fib loss · base-multiple PiX · keep base · trail100 close-to-core | Best clean Fib/PiX-style candidate from the first read: high realized PnL and modest gross size. | 100% | +$1,843.46 | +$900.58 | +$1,702.71 | +$148.37 | 62 SOL |
| 5 | b2.0 · PiX π/2 loss · base-multiple PiX · keep PiX · trail100 close-to-core | Most PiX-heavy candidate: very strong worst-seed MTM, but more profit remains unrealized. | 100% | +$1,744.16 | +$1,458.99 | +$445.79 | +$1,264.67 | 119 SOL |
Exciting enough to run the full standalone arena. Not safe, not live, not promoted. The next proof step is a standard/deep multi-worker run with more parameter coverage, more fresh universes, stricter margin/liquidation checks, and matched controls against fixed, geometric, Fibonacci, PiX, random, and no-add baselines.
The v1.0 arena tested the direct version of the idea: wait for an adverse move and stabilization, snap-average the losing side to a much larger total size, close the excess near small price profit, and leave a smaller survivor core.
Best current survival-style branch. Lower upside, cleaner risk.
More profit pressure than 10×, but higher open-loss and margin demand.
Strong in Deep/Fresh, but Long/Longer showed a ruin branch. Must be tiny-wallet / moonshot-labelled.
Feed-forward/event integrity is now clean; rank by explicit risk budget.
| Old framing | New framing after v1.0 | Why it matters |
|---|---|---|
| “Should we add big?” | “Which add size belongs to which wallet/risk profile?” | 10×, 15×, and 20× are not one strategy. They are different risk products. |
| “20× makes more money.” | “20× can also be an account-killer branch.” | It may be valid for a tiny wallet where loss is intentional risk capital, not for survival mode. |
| “Close winner, rescue loser.” | “Use winner cushion, wait for stabilization, snap-average, close excess, keep core.” | The engine must track realized PnL, ending unrealized PnL, max open loss, margin, and ruin. |
This is the important BD manual move that was not fully present in v1.0. When one leg becomes the bad leg, do not always start adding immediately. Sometimes close the bad leg, reopen it closer to current price, and repeat until enough long/short entry separation exists. Only then decide whether a huge add is justified.
Re-anchoring can move the losing leg's average entry closer to current price before any huge add happens. That may reduce the size needed for snap-average rescue and may allow a larger initial position under the same wallet stress.
If re-anchor happens just before reversal, the method pays realized loss and then reopens into a new losing position. The arena must measure whipsaw tax, not hide it.
This is the corrected design principle. BD may sometimes prefer max risk with a tiny wallet, and sometimes prefer maximum survivability. The arena must not collapse those into one “best” setting.
| Profile | Plain-language meaning | What counts as good | What must be reported |
|---|---|---|---|
P0_SURVIVAL_MAX | Maximum survivability, minimum risk. | Low ruin, low DD, low open tail, modest but repeatable MTM. | Worst loss, liquidation buffer, side-isolated survival. |
P1_CONSERVATIVE | Still safe, accepts a bit more action. | Stable positive median, few/no rescue blowups. | Re-anchor count, realized re-anchor loss, max gross SOL. |
P2_BALANCED | Middle survivability / middle risk. | Best risk-adjusted MTM, stable region not one lucky tuple. | Profit/DD ratio, positive rate, controls comparison. |
P3_AGGRESSIVE | Higher risk for faster earning. | Higher MTM without uncontrolled ruin. | Wallet DD, silo DD, worst case, re-anchor whipsaws. |
P4_MOONSHOT | Very high risk / high upside. | Big upside, but honestly labelled as moonshot. | Ruin rate and account-killer probability must be explicit. |
P5_TINY_WALLET_BLAST | Small wallet where full loss is acceptable experiment capital. | Fast upside under known max-loss budget. | Expected loss, chance of wipeout, and best-case payout. |
v1.1 was useful because it found both a real signal and a measurement bug. v1.2 is the corrected run: the master completed, the feed-forward/event-preservation audit passed, and re-anchor/mega-rescue flags no longer disappear after promotion.
15/15 stages completed; 11 roots complete; final extract LIVE_EXTRACT_HSR_PIX_V12_FOR_GPT_20260615_002010.zip.
Canonical config payloads survived feed-forward reconstruction.
Promotion-event integrity passed; re-anchor and mega flag mismatches = 0.
v1.3c deep optimizer is now testing real BTC/ETH/SOL 1m candles.
| Claim | Status | Reason |
|---|---|---|
| “The v1.1 feed-forward bug is fixed in v1.2 evidence.” | Yes | Roundtrip audit and promotion-event integrity both pass with zero re-anchor/mega flag mismatches. |
| “Profiled re-anchor + snap/mega rescue is worth promoting to real-data validation.” | Yes | Wallet Stress and Mega Rescue Stress produced real P0–P5 winners and non-zero event counts. |
| “Re-anchor is always better than no-reanchor.” | No | Mega Rescue Stress P1 still preferred a matched no-reanchor control, so the method is profile-specific. |
| “This is live-trading proof.” | No | The run is still offline synthetic-1m replay. Real exchange 1m data, fees, slippage and execution are pending. |
| Profile | Best tuple | MTM PnL | Realized PnL | Wallet DD | Survival | Meaning |
|---|---|---|---|---|---|---|
P0_SURVIVAL_MAX | t300 · sep500 · m10 · flat5 | +$9.31 | +$1.20 | 1.25% | 100% | survival-first real re-anchor |
P1_CONSERVATIVE | t500 · sep500 · m12 · flat3 | +$14.65 | +$2.61 | 1.02% | 100% | conservative real re-anchor |
P2_BALANCED | t300 · sep700 · m15 · same5 | +$28.17 | +$5.01 | 2.43% | 100% | balanced real re-anchor |
P3_AGGRESSIVE | t500 · sep500 · m30 · none | +$44.51 | +$12.12 | 4.30% | 100% | aggressive real re-anchor |
P4_MOONSHOT | t1300 · sep1300 · m20 · same3 | +$37.94 | ≈$0.00 | 1.22% | 100% | moonshot real re-anchor, mostly MTM |
P5_TINY_WALLET_BLAST | t1000 · sep1500 · m50 · same3 | +$109.59 | +$86.59 | 0.70% | 100% | tiny-wallet all-risk branch |
| Profile | Best tuple | MTM PnL | Realized PnL | Wallet DD | Survival | Meaning |
|---|---|---|---|---|---|---|
P0_SURVIVAL_MAX | t300 · sep500 · m10 · flat5 | +$37.02 | +$0.49 | 3.90% | 100% | real re-anchor |
P1_CONSERVATIVE | t300 · sep300 · no-reanchor control | +$34.49 | +$13.12 | 1.41% | 100% | matched control wins this profile |
P2_BALANCED | t500 · sep700 · m12 · same3 | +$113.28 | +$6.96 | 8.17% | 100% | real re-anchor |
P3_AGGRESSIVE | t1000 · sep500 · m20 · none | +$163.29 | +$17.62 | 8.95% | 100% | real re-anchor |
P4_MOONSHOT | t500 · sep1300 · m20 · same3 | +$133.14 | +$3.16 | 10.36% | 100% | real re-anchor |
P5_TINY_WALLET_BLAST | t1000 · sep1500 · m50 · same3 | +$461.62 | +$364.51 | 0.92% | 100% | largest upside branch |
v1.2 turns HSR PiX from “interesting but contaminated proof chain” into a clean offline validation candidate. The edge attribution remains base-core only: constant hedge, profile-specific re-anchor, snap/mega rescue, excess close, and wallet sizing. PiX/Fib gates are currently minority branches, not the main driver.
v1.2 answered the proof-chain question. v1.3 is now asking the harder question: do any HSR PiX settings survive real BTC/ETH/SOL 1-minute candles, matched controls, and realistic cost assumptions?
BTCUSDT, ETHUSDT and SOLUSDT 1m CSV replay, 2026-01-01 to 2026-06-14.
10,000 candidate policies × controls × assets × zero/realistic costs.
LIVE_EXTRACT_HSR_PIX_REAL1M_V13_FOR_GPT_20260615_195814.zip.
Historical candles and simulated fills only; no API keys, no exchange calls, no live orders.
| Signal | Current read | Rule |
|---|---|---|
| Clean data | All three files pass gap, duplicate and OHLC validity checks. | Good enough to keep running. |
| Controls | Most candidates still lose to matched controls; only a minority beat the best control. | That is healthy pressure, not failure. |
| Early robust group | Some candidates already beat controls in all 6 symbol×cost tests. | Promising, but not final at 7% completion. |
| Manual protocol | Do not replace the manual table yet. | Final numbers wait for completed survivor-first triage. |
v1.2 answered the measurement-integrity question. It did not answer the real-market microstructure question.
The arena can preserve reanchor_enabled, mega_rescue_enabled, trigger/separation/multiplier fields and event counts through the promoted chain. The final integrity audit passed, and the P0–P5 winners are separable instead of collapsed into one number.
Real 1m exchange candles, real spread/slippage, funding, liquidation model, fee model, order-fill assumptions, and multi-asset robustness are not solved by v1.2. These are now the v1.3-real1m optimizer target.
| Step | Goal | Pass condition |
|---|---|---|
| 1. Real SOLUSDT 1m replay | Replay the v1.2 profile winners on true exchange 1m OHLCV. | Same P0–P5 branches stay positive after fees/slippage/funding assumptions. |
| 2. BTC/ETH cross-check | Check whether the mechanism is SOL-specific or broader. | At least some profiles survive without retuning into overfit. |
| 3. Paper/shadow run | Observe live market formation without orders or with paper-only execution. | Fill assumptions and drawdown behavior match replay closely enough to continue. |
| 4. Strategy bank integration | Combine with SM/ZZ/DCC only after base-core real-1m validation. | Adapters improve risk/entry timing without hiding open-tail risk. |
The strategy does not try to predict direction at the start. It starts neutral: long and short are both open. The edge, if it exists, must come from position management: how the losing side is rescued, how much size is added, when excess size is closed, and how the winning side is trailed.
0.2 to 20 SOL.Daily SOLUSDT candles are treated as the real source. The 1-minute candles are generated as many possible intraday universes constrained to the same daily OHLC. That is useful for testing many path shapes, but it is not proof on real exchange 1-minute microstructure.
The correct label is: daily real + minute synthetic/replay.
ROE numbers look huge, but at 300× they correspond to tiny underlying price moves.
P0, open LONG base_qty_sol and SHORT base_qty_sol.The loss ladder answers only one question: when should the losing side be allowed to add?
| Family | Formula | Example with base loss 200% ROE | Meaning |
|---|---|---|---|
| Fixed linear | -200 × level | -200, -400, -600, -800… | Simple control. Adds at equal ROE intervals. |
| Geometric 2× | -200 × 2^(level-1) | -200, -400, -800, -1600… | Your corrected idea: deeper adds become increasingly rarer. |
| PiX π/2 float | -200 × (π/2)^(level-1) | -200, -314, -493.5, -775.2… | π/2 sits between fixed and hard 2× expansion. |
| Fibonacci | -200 × [1,2,3,5,8,13…] | -200, -400, -600, -1000, -1600… | Classical organic spacing control. |
| Random / uniform | matched range and count | same min/max/count as tested family | Anti-pattern-trap control. PiX must beat this fairly. |
This is one of the most important distinctions. The arena must test PiX and Fibonacci not only for where loss triggers happen, but also for how much size is added or targeted.
loss_ladder_mode = when to add. add_sizing_mode = how much new quantity to add. target_total_mode = what total quantity should exist after the add. core_keep_mode = what quantity remains after recovery.| Add mode | Rule | Example from 2 SOL | Risk profile |
|---|---|---|---|
| add_2x_current | add_qty = 2 × current_qty | 2 → add 4 → 6; 6 → add 12 → 18; 18 → add 36 → 54 | Very explosive. Must be capped and audited. |
| total_double | add_qty = current_qty | 2 → 4 → 8 → 16 | Cleaner geometric control. |
| fixed_sol_add | add_qty = fixed X SOL | 2 → 4 → 6 → 8 if X=2 | Simple and interpretable. |
| base_multiple_fib | add = base × Fib(level) | add 2, 4, 6, 10, 16… if base=2 | Tests Fib as add-size sequence. |
| base_multiple_pix | add = base × (π/2)^(level-1) | add 2, 3.14, 4.93, 7.75… if base=2 | Tests PiX as add-size sequence. |
| target_total_fib | total = base × FibTarget(level) | target 4, 6, 10, 16… | Safer than compounding from current size. |
| target_total_pix | total = base × PiXTarget(level) | target by π/2 sequence | Controlled PiX total-size ladder. |
| current_multiple_pix/fib | add = current × sequence(level) | grows from current book size | Potentially extreme; must obey hard caps. |
| risk_budget_add | largest add allowed by risk caps | depends on wallet, silo, margin, liquidation buffer | Governed/safety variant. |
After a rescued side reaches its escape trigger, it closes excess size. The key question is: how much should remain?
Always return to the original base, for example 2 SOL. This is the simplest control.
core_keep = base_qty
After deeper rescue, keep a larger core. With base 2 SOL: level 1 keeps 2, level 2 keeps 4, level 3 keeps 8.
core_keep = base × 2^(L-1)
Use the PiX sequence to decide the remaining core. This tests whether π/2 gives a smoother middle path than hard doubling.
core_keep = base × PiX(L)
If the strategy always flattens back to 2 SOL, it may harvest rescue profit but lose the long-term entry separation effect. If it keeps too much, it may carry dangerous open tail. This must be measured, not guessed.
When the rescued side comes back into profit, close excess size down to the configured core.
if rescued_side_roe >= escape_tp_roe:
close_qty = current_qty - core_keep_qty
Legacy default starts with escape_tp_roe = +2%, but the arena should test larger values because +2% ROE at 300× is only about 0.0067% underlying price movement.
When a side becomes strongly profitable, protect part of the profit with a 100% ROE reserve.
+200% ROE activation → stop/lock at +100% +400% ROE activation → stop/lock at +300% +500% ROE activation → stop/lock at +400%
The stop closes a tranche: for example half of current quantity or half of excess above core.
| Activation | Lock / trailing stop | Default action | What to test |
|---|---|---|---|
| +200% ROE | +100% ROE | Close/protect about half of position or excess. | Current vs excess tranche sizing. |
| +400% ROE | +300% ROE | Raise lock and/or close another tranche. | Protect core true/false. |
| +500% ROE | +400% ROE | Continue locking favorable move with 100% reserve. | Linear, geometric, PiX, Fib profit ladders. |
| +600% and beyond | activation − 100% | Continue by configured ladder. | Which ladder reduces tail without killing runners? |
Read all percentages below as ROE % shown on the position, not SOL price movement. At 300×, 100% ROE is roughly 0.33% price movement before fees/slippage/funding/liquidation details.
| Phase | Condition | Action | Example with 1 SOL core | Purpose |
|---|---|---|---|---|
| Start | Beginning of cycle | Open LONG + SHORT | LONG 1 SOL + SHORT 1 SOL | Always keep both directions alive. |
| Profit side — first add | One side reaches +300% ROE | Add to the profitable side | If LONG is +300%, add +1 SOL LONG → LONG 2 SOL | Build a profit cushion that can help absorb the other side. |
| Profit side — trail | Profit add starts losing momentum | Trail the added part tightly | Protect the added 1 SOL LONG | The profit add is a cushion/accelerator, not a permanent burden. |
| Profit side — close add | Momentum fades or profit falls back | Close the added profit leg; keep core | LONG 2 SOL → close added 1 SOL, keep LONG core 1 SOL | Lock cushion before it turns into a new problem. |
| Losing side — rescue 1 | Losing side around −100% ROE | Add 1× current losing side | SHORT 1 SOL → add 1 SOL → SHORT 2 SOL | First average-entry compression. |
| Losing side — rescue 2 | Losing side around −200% ROE | Double the losing side again | SHORT 2 SOL → add 2 SOL → SHORT 4 SOL | Stronger rescue if move continues. |
| Losing side — rescue 3 | Losing side around −300% ROE | Double only if profit-side cushion is strong enough | SHORT 4 SOL → add 4 SOL → SHORT 8 SOL | Aggressive rescue; use only with enough cross-margin cushion. |
| Losing side — extreme rescue | Losing side around −500% ROE | Add only with very strong cushion and margin buffer | SHORT 8 SOL → add 8 SOL → SHORT 16 SOL | Very aggressive; not for a first manual test without reserve. |
| Near-entry zone | Rescue side returns to −50% to 0% ROE, but fails to break profit after 2–3 candles | Close 33–50% of excess even with a small loss | SHORT total 4 SOL, core 1, excess 3 → close about 1–1.5 SOL | Reduce danger before price runs away again. |
| Rescue first profit exit | Rescue side reaches +2% ROE | Close about 50% of excess | SHORT 4 SOL, core 1, excess 3 → close 1.5 SOL | Main goal is to shrink oversized rescue exposure. |
| Rescue clean exit | Rescue side reaches +5% to +10% ROE | Close almost all excess | SHORT 2.5 SOL → close 1.5 SOL → keep SHORT 1 SOL core | Return to safer base hedge state. |
| Reset | Both sides are back near core | Keep LONG 1 SOL + SHORT 1 SOL | LONG 1 + SHORT 1 | Cycle can begin again. |
| Step | State | Manual action |
|---|---|---|
| 1 | Open LONG 1 + SHORT 1 | No action yet. |
| 2 | Price rises; LONG +300%, SHORT negative | Add +1 SOL LONG → LONG 2, SHORT 1. |
| 3 | SHORT keeps worsening but LONG is now a cushion | Do not panic-add; wait for rescue trigger and some pause/absorption. |
| 4 | SHORT hits a rescue level | Add SHORT by the table: 1→2, then 2→4 only if needed. |
| 5 | Price comes back toward SHORT average entry | Prepare to reduce excess, not to hold oversized rescue size forever. |
| 6 | SHORT stalls between −50% and 0% ROE | Close part of excess even with a small loss. |
| 7 | SHORT reaches +2% ROE | Close about half of excess. |
| 8 | SHORT reaches +5% to +10% ROE | Close almost all excess; keep 1 SOL core. |
| 9 | Added LONG loses momentum | Close added LONG 1 SOL; keep LONG core. |
| 10 | Back to LONG 1 + SHORT 1 | Cycle reset. |
A smoother growth factor than 2×, close to but distinct from φ ≈ 1.618.
Loss spacing, add sizing, target total, core keep, profit ladder, time windows.
PiX must beat matched alternatives under the same scenario universes.
Float π/2 loss ladder from base 200% ROE:
-200, -314.16, -493.48, -775.16, -1217.61, -1912.43...
Rounded unique PiX variants should also be tested because a live parameter grid often needs discrete levels.
This should be a separate Python arena for this one recipe. The big v0.9 arena can be used for infrastructure ideas — resume, workers, reporting — but this strategy should not be tangled into the broad arena yet.
| Truth level | Meaning | Promotion allowed? |
|---|---|---|
| single_universe_result | One generated 1m path. Useful for debug only. | No. |
| cross_universe_result | Same parameters across multiple generated 1m paths. | Maybe, if risk is acceptable. |
| robust_parameter_region | A stable neighborhood of parameters works, not one exact lucky tuple. | Yes, if controls and risk gates pass. |
Optimistic / venue-dependent model. The long and short books share wallet equity, and the winning side may help absorb the losing side.
Conservative audit model. Each side can fail on its own if its loss exceeds its side margin. A config that only works under cross margin must be labeled venue-dependent.
final_mtm_usdt, not just realized PnL.ending_unrealized_pnl_usdt.open_tail_risk_usdt.max_margin_required_usdt.min_liquidation_buffer_pct.survival_rate and account_ruin_rate.pix_lift_vs_fib, pix_lift_vs_random, pix_lift_vs_uniform.for each scenario_universe:
generate 1m paths constrained to real SOL daily OHLC
audit daily reconstruction == exact
for each config:
open LONG base_qty at P0
open SHORT base_qty at P0
for each 1m bar:
choose conservative intrabar path
for side in [LONG, SHORT]:
update avg_entry, qty, ROE, unrealized, margin, liq_buffer
if side is adverse and reanchor_trigger_hit:
if profile_allows_reanchor and trend_or_flat_gate_passes:
close losing leg and record realized reanchor loss
reopen after configured delay closer to current price
update entry separation and whipsaw metrics
if entry_separation_target_hit and huge_add_trigger_hit:
add_qty = profile_bounded_huge_add(side, target_total_mult)
add only if wallet/silo/risk caps allow
update avg_entry, rescue level, and mega_rescue_events
if side is adverse and next_loss_trigger_hit and not in reanchor branch:
add_qty = add_sizing_rule(side, level, sequence_family)
add only if risk caps allow
update avg_entry and rescue level
if side is rescued and escape_trigger_hit:
core = core_keep_rule(deepest_rescue_level)
close excess qty down to core
record realized PnL
if side is strongly profitable:
update profit_peak
create/update tranche trailing locks
if trailing lock hit:
close configured tranche
protect core unless testing protect_core=false
final_mtm = realized_pnl + ending_unrealized_pnl
write row with risk, rescue, margin, and control metrics
reanchor_enabled / mega_rescue_enabled behavior, not only labels.reanchor_events=0 and mega_rescue_events=0.This is not a “trust it because the idea sounds smart” strategy. The compact side-run and v1.1 Broad Scout found enough positive evidence to justify the full standalone truth-machine arena, and v1.2 now passes the event-preservation proof inside offline replay. The next question is harder: whether hedge separation + profile-specific re-anchor + bounded huge rescue + excess-close harvesting survives real exchange 1m microstructure, fees, slippage, and latency.
| Component | Must exist |
|---|---|
| Core engine | Separate LONG/SHORT books, average entry, partial closes, realized/unrealized/MTM. |
| Sequences | Fixed, geometric 2×, Fib, PiX π/2 float, PiX rounded unique, random/uniform controls. |
| Add sizing | 2× current, total double, fixed SOL, base multiple, target total, current multiple, risk-budget add. |
| Exits | Escape-to-core plus profit-tranche trailing with 100% ROE reserve. |
| Validation | Train/validation/fresh seed universes; no promotion from single synthetic 1m path. |
| Risk | Cross-hedge and side-isolated margin audits, liquidation buffer, max gross size, open-tail report. |
| Re-anchor | Close/reopen losing leg, separation target, reopen delay, trend gate, whipsaw-tax metrics, and event-preservation checks. |
| Risk profiles | P0 survival through P5 tiny-wallet blast, with separate leaderboards and profile-specific winners. |
| Infrastructure | Multi-worker, resume-safe JSONL, progress JSON, compact bundle, no zero-row fake success, no silent feed-forward flag loss; next validator must ingest real exchange 1m data without API keys or live orders. |