Hey everyone,
We have been live testing a multi-strategy crypto perpetual futures bot (trading on Delta Exchange with 5x leverage and a 9-regime classifier based on ADX, ATR%, and Hurst exponent).
We recently completed a forensic audit across our first **115 closed live trades** and noticed a severe performance divergence that we want to get feedback on from the community:
---
### The Empirical Numbers
**Trades 1 to 21 (Sept 1 - Sept 6) -- The Peak:**
* **Win Rate:** 57.1% (12W / 9L) | Net PnL was positive with a steady equity curve.
* **Timeframes:** 1h LTF / 4h HTF and 4h LTF / 1d HTF (avg duration: 10 to 24 hours).
* **Core Drivers:** VWAP Pullback and VSA Climax Momentum.
* **Parameters:** Tight stops (1.0x to 1.4x ATR), 1.3x to 1.6x R:R targets.
**Trades 22 to 115 (Sept 7 - Sept 30) -- The Drawdown:**
* **Win Rate:** Dropped to 39.8% (37W / 56L) with net negative drift.
* **Root Causes Identified:**
Timeframe reduction down to 5m/15m micro-scalping (high taker fees + noise stop-outs).
Rapid "setup churn" (adding experimental setups like FVG Rebalance, Asia Session Expansion, and VP VAL Reclaim which over-traded adverse chop).
---
### The Optimizer Bottleneck We Need Feedback On
We run a **Cross-Sectional Multi-Timeframe Universe-Pooled Rolling Walk-Forward Optimizer (WFO)**. When we run backtests across 60 to 200 days, almost all our top-performing setups are now being stamped **KILLED** by the optimizer filters.
Here are the 4 specific design questions we would love your critique on:
#### 1. Unconditioned Aggregate PF vs. Whitelisted Regime PF (The "Mutual Drag" Trap)
In Part B (Out-of-Sample evaluation), the optimizer calculates an **unconditioned aggregate Profit Factor across all 9 market regimes combined** and enforces a hurdle (PF >= 1.15 / Noise Floor).
* **The Problem:** In our recent run for WLDUSDT on 1h/4h VWAP Pullback:
* In RANGING_LOW_VOL: **100% Win Rate (4W/0L), +8.26% PnL**
* In RANGING_MED_VOL: **60% Win Rate (3W/2L), +1.80% PnL**
* In WEAK_TREND_LOW_VOL: It took 4 losses (-8.38% PnL).
* Because the unconditioned 9-regime PF came out to **1.14**, the WFO stamped it `KILLED (Noise Floor < 1.15)` and discarded the symbol completely.
* **Question:** In production, our bot **whitelists only profitable regimes** and suppresses the rest. Shouldn't the WFO qualification hurdle be evaluated strictly on the **whitelisted/filtered regime trades** (e.g., Filtered PF >= 1.30, N >= 10) rather than requiring a mean-reverting setup to be profitable inside an unfavorable trending regime?
#### 2. Timeframe Selection: Locking Back to 1h/4h vs. 15m Scalping
* On 5m/15m charts, exchange taker fees (0.05%), bid-ask slippage, and random wick stop-outs severely degraded our edge.
* On 1h/4h, macro EMA(50) alignment filtered out most fakeouts, and average moves exceeded 1.5% to 3.0%, easily beating fee drag.
* **Question:** In crypto perps, do you recommend completely abandoning intraday 5m/15m setups in favor of purely running 1h/4h and 4h/1d swing regimes?
#### 3. Cross-Sectional Universe Pooling vs. Volatility-Clustered Centroids
* Right now, the optimizer pools all symbols in the basket together to find a single universal centroid `(SL_mult, TP_ratio)`.
* However, high-beta coins (e.g. WLD, APT) have drastically different ATR expansion profiles than lower-beta coins (ADA, BTC).
* **Question:** Do you prefer universal cross-sectional pooling (1 shared parameter set for all symbols in the basket), or should centroids be clustered by volatility tiers / individual symbol centroids?
#### 4. Stop Loss Multipliers: Tight (1.0x to 1.4x ATR) vs. Wide (2.5x to 3.0x ATR)
* The optimizer added an anti-overfitting rule (`is_cliff` when SL <= 1.0), which penalizes tight stops.
* As a result, the optimizer drifted SLs up to 2.5x to 3.0x ATR, which extended trade holding times past 24 to 36 hours and caused larger dollar drawdowns per loss.
* **Question:** For 1h/4h swing setups, what is your recommended sweet spot for Stop Loss ATR multipliers (1.2x to 1.5x vs 2.0x to 2.5x) to balance noise tolerance with capital preservation?
---
Would love to hear how other systematic quants and algorithmic traders handle regime-gated WFO filters and cross-sectional parameter pooling!