CHANGELOG
The Full History.
Every version. Every change. Every reason. This is how the system evolved from day one.
What’s versioned here?
This changelog tracks the BB Squeeze SHORT trading strategy running live on OKX USDT-SWAP. Platform version (website, simulator, API) is managed separately.
- • ATR unified to Wilder smoothing (RMA) — one strategy still used a simple moving average, deviating up to 7.8% from the Wilder reference on live BTC data. Now matches Wilder (1978) and TradingView.
- • Bollinger-style bands now use population standard deviation (Bollinger's own definition; also TA-Lib/TradingView) — sample-std bands were uniformly 2.6% wider at 20 periods.
- • Calmar annualization now follows the equity mode: CAGR for compounding, arithmetic scaling for the default fixed-notional curve — geometric annualization of a non-compounded curve overstated short windows and understated long ones.
- • Every affected metric is being re-measured on the live engine; strategy cards and pages update from those runs, not by hand.
- • One badge, one meaning: Verified now requires full-2yr PF ≥ 1.05 and out-of-sample (30%) and a 3-window walk-forward — measured on the live engine.
- • Applied to existing badges too: 2 presets promoted, 2 demoted. Every diagram re-audited against backend code; 5 depictions corrected.
- • Fact gates added to CI: en↔ko numeric parity, claim-census ratchet, superlative verification.
- • The risk-managed trend ensemble moved from paper to real funds after its git-timestamped paper window (Jun 26 – Jul 5).
- • The paper record is preserved as measured on /trust.
- • One-click OKX OAuth connect shipped; paper-mode dashboard, then real-mode with per-coin budgets and MDD limits.
- • Bot toggles now persist explicit server state (no optimistic-only UI on real-money controls).
- • Data + execution moved to OKX USDT-SWAP (backtest universe now delisting-inclusive; historical Binance data retained ≤ Apr 17 with era labels).
- • Coin counts on the site became SSoT-derived ("230+" floor convention) instead of hardcoded.
P0 Bug Fix: reduceOnly Parameter
- feat• Added reduceOnly=True to market close orders to prevent ghost reverse positions
- fix• Fixed execute_market_order to accept reduce_only parameter (4 call sites updated)
- • RSI<30 filter and TIMEOUT early exit evaluated and deferred (insufficient edge)
Evidence: 2,898 trades backtested, 535 coins (Binance-era dataset), 2+ years
Trading Halted — Mar 9, 2026
Live trading paused Mar 2026 after MDD peaked at 16.5% (inside the 20% hard-stop limit). 48-day run: $46 net profit (break-even). Strategy killed on 2026-06-28 after a fresh out-of-sample re-test — PRUVIQ simulator is now used for research and public backtesting.
R:R Optimization + Blacklist
- • TP 6% → 8% (backed by 2-year backtest: +24.3% PnL improvement)
- • GUNUSDT blacklisted (anomalous -$378 loss pattern)
- • BTC Regime Filter tested and rejected (4 variants, all failed)
- • 6 expert agents validated every change
Evidence: 2,898 trades, 535 coins (Binance-era dataset), 2+ years
Partial Fill Aggregation Fix
- • Income API partial fills now aggregated (42% of exits were split)
- fix• Fixed PnL under-calculation bug (was using last fill only)
- • 16 new tests + 25 existing tests all pass
LIMIT IOC + Slippage Optimization
- • TIMEOUT exits use LIMIT IOC (63% fill rate, ~$960/year savings)
- • Slippage logging: signal_price vs fill_price tracked
- • Non-crypto pairs removed (INTC/TSLA/HOOD/PAXG)
SL Optimization (10%)
- • Stop-loss changed from 7% to 10% based on OOS validation
- • Reduces unnecessary early stops while maintaining risk control
- • Verified across 2024/2025/2026 periods (no overfitting)
SHORT ONLY Confirmed
- • 6 expert agents confirmed SHORT-only is optimal
- • Momentum LONG killed (failed validation — negative expectancy over 2 years)
- • BB Squeeze LONG killed (-$26, no edge)
- • Only BB Squeeze SHORT survives all validation tests
DUAL Mode Experiment → Killed
- • v1.4.0: Added Momentum LONG alongside SHORT
- • v1.4.3: Time filter moved to step 0 (bypass fix)
- • v1.4.4: Time filter optimized (577 coins, 2yr data)
- • v1.4.5: 5 expert agents killed LONG strategies
BB Squeeze Optimization Era
- • SL 10% → 7%, TP 4% → 6%, Volume filter 2.0x → 2.5x → 2.0x
- • Time filter: 4 hours → 6 → 10 → 7 (evidence-based each time)
- • BB expansion speed filter added (≥ 10%)
- • SHORT-only mode introduced (v1.3.0)
- • 6x Sharpe improvement (0.39 → 2.43)
Discovery & First Simulations
- • BB Squeeze strategy discovered (Jan 10)
- • Look-ahead bias found and fixed (the first hard lesson)
- • Simulation engine validated against exchange data
- • Cost modeling: realistic fees + slippage
- • First expert code review (5 agents)
Genesis
First backtest engine built. One question: can a systematic approach actually make money in crypto futures?
Why a Public Changelog?
Because "version 2.0" means nothing without context. Every change has a reason. Every reason has data. This is what transparent system development looks like.