fable_mentor_internal_btc — mentor v2 spec transplanted to BTCUSDDate registered: 2026-07-22, before any test execution of this spec on BTC.
Lineage: mentor (Track R; gates 0.1/0.2 open — no result is evidence about the mentor's
edge). Program rung: the R2 lineage continued to the primary benchmark instrument, per the
decision tree registered in 2026-07-22-mentor-btc-v1.md (branch b): the displacement spec
is the only mentor formalization with demonstrated gross signal (R2 gold: +0.1002R vs
coin-flip −0.1306R), while the pullback-condition transplant (R8) was refuted at n=11,836.
This run asks whether R2's signal replicates on BTC.
This is an instrument transplant, not a rule change. Signal logic byte-identical to v2
(expansion.py: displacement ≥ k× baseline, body ≥ 60%, compression precondition,
first-pullback confirmation, cancels, 3/day cap, optional H4 alignment, zero-baseline guard,
stop floor). Only instrument-denominated constants are translated, by the declared rules
below. Same walk-forward harness, same coin-flip baseline, same registry path as R2.
Research split only: Binance BTCUSDT M1, 2017-08-17 → 2022-12-31. Validation (10/10 looks) and Vault untouched. Research-split scan: unlimited looks, never validation evidence. Fresh instrument segment: iteration budget resets — this registration covers run 1 of 3. No in-sample smoke tests of this spec have been run on BTC.
BTC spans $3.2k → $69k inside the research split — a 21× range that makes absolute
pip-denominated constants meaningless across the span. The engine therefore runs on a
scale-normalized index: N_t = P_t / ref_t × 100, where ref_t = trailing 90-day
median of daily median closes, shifted one full day (no lookahead), min 30 days of
history (spec start ≈ 2017-09-17). One index pip (0.01 at index≈100) ≡ 1 bp of price,
uniformly across the split. Every spec statistic is a ≤24 h window (24 h baseline median,
1 h compression, 24 h H4-align reference), over which the 90-day reference moves
negligibly — the transformation rescales, it does not reshape. R-multiples are ratios and
are unaffected. Declared consequence: report prices are index units, and dollar P&L is
nominal (risk-normalized 1% sizing, as every prior run).
Synthetic bid/ask: Binance klines are mid-only. Bid/ask = N × (1 ∓ 0.02775%) — the
Dukascopy-measured $50/0.0555% flat spread floor (BTC-COST-PREVIEW-v1.md), halved per
side. Spread is thereby proportional and paid in fill prices exactly as in every prior run
(long entries at ask, exits at bid). The measured floor is flat across all 24 hours, so a
flat synthetic spread loses nothing the source actually contains.
costmodel.for_symbol("BTCUSD") added with these constants)| Parameter | Value | Basis (declared, not tuned) |
|---|---|---|
| pip_size | 0.01 index units (= 1 bp of price) | Normalization above |
| pip_value_per_lot | $10.0 | Nominal, aligns R math with FX/gold |
| spread_pips (all sessions) | 5.55 | Measured Dukascopy floor, flat by hour |
| commission_per_lot_rt | $7.0 (≈0.7 pips) | Same raw-account placeholder class as FX/gold |
| slippage_entry_pips | 1.0 | 0.18× spread — same fraction as gold's 1.0/5.5 |
| slippage_stop_exit_pips | 4.0 | 0.72× spread — same fraction as gold's 4.0/5.5 |
| swap per lot-night | −35 / −35 | Pessimistic placeholder; hold_max ≤ 45 min ⇒ ~never fires |
Round-trip friction ≈ 5.55 + 5.0 + 0.7 ≈ 11.3 bp on a stopped trade — almost exactly gold's 11.4 pips, by coincidence of units. Drag at a 30 bp floored stop ≈ 0.38R; at a 100 bp structural stop ≈ 0.11R.
Walk-forward 12-month IS / 3-month OOS rolling (harness default); IS selection = best net
expectancy, ≥20 IS trades. Baseline: coin-flip control, identical event set, per OOS window
(baseline_for_windows, seed 7 — harness default). Registry: strategy
fable_mentor_internal_btc, pair BTCUSD, lineage mentor, kind backtest.
FAIL on criterion 1 — drag arithmetic sits at 0.11–0.38R against a plausible gross of 0.05–0.15R; nothing about BTC changes that. Sample (criterion 4) should finally clear: 24/7 event surface over 5.4 years. The live questions are H1 and H4: if gold's gross signal replicates on BTC, the mentor-mechanics branch survives with two-instrument evidence and the wide-stop/cheap-execution geometry work inherits a real target; if gross ≤ 0 here, the displacement spec joins the pullback spec as refuted-on-BTC and the mentor branch's remaining life is R7 (S/R engine) plus whatever his verified data eventually re-anchors.
Run 1 of 3 on the BTCUSD research-split segment. Any rule, grid, translation, or cost change after seeing results = new pre-registration. Hypotheses logged vs project budget: 4.
FAIL — criteria 1 and 2; H1 and H4 REFUTED, H2 and H3 held. The gold signal does not
replicate on BTC — it inverts. Stitched OOS 2018-09→2022-12: 165 trades (criterion 4
finally clears, first time in the project), gross −0.0706R, net −0.2224R, win 29.7%,
max DD −37.76R, drag 0.1518R. Coin-flip baseline on the identical event set: 403 trades,
gross +0.0526R, net −0.0816R. Registry run 18, fable_mentor_internal_btc@490c38b6,
cost btcusd@80939dd7; artifacts reports/fable-mentor-internal-btc/.
Where this leaves the mentor branch on BTC: 0-for-2 (pullback-conditions spec refuted at n=11,836; displacement spec refuted at n=165 with information inversion). R2's gold result stands but is now evidence about gold, not about the mechanics in general. Remaining mentor-lineage life: R7 S/R level engine (the one observable his record supports that nothing has tested), and re-anchoring against his verified data if Gate 0.2 ever delivers. Runs 2–3 of this segment remain; neither may be spent without a new registration.