Files
trading_bot_v4/cluster/V11_SWEEP_RESULTS.md
mindesbunister a669058636 docs: V11 progressive sweep results - 1,024 configs complete
SWEEP COMPLETED: 33.2 minutes, 4 workers, ALL 1,024 configs tested

KEY FINDINGS:
 NO zero-signal configs (flip_threshold fix successful)
 Top strategy: 1.97 PF, 74.7% WR, $2,416 PnL (766 trades)
 5× better P&L than v9 baseline ($405 → $2,416)
 96% less drawdown than v9 (-$1,360 → -$55)

CRITICAL ANOMALY DISCOVERED:
 flip_threshold=0.35/0.40 generating 3-4× FEWER signals than expected
  - flip=0.30: 1,271 avg signals (Worker1) ✓
  - flip=0.35: 304 avg signals (Worker2) ⚠️
  - flip=0.40: 276 avg signals (Worker2) ⚠️
  - flip=0.45: 920 avg signals (Worker1) ✓

Expected: 0.30 > 0.35 > 0.40 > 0.45 (linear decrease)
Actual: 0.30 (1,271) > 0.45 (920) > 0.35 (304) > 0.40 (276)

Possible causes:
1. Indicator bug in mid-range flip detection
2. Worker2 deployment issue (stale code?)
3. Dataset artifact (2024 SOL specific pattern)

OPTIMAL PRODUCTION CONFIG:
- flip_threshold=0.45 (all top 10 use this)
- adx_min=15 (strictest filter, all top 10)
- long_pos_max=95, short_pos_min=5 (permissive)
- vol_min=0.0 (no volume filter)
- RSI parameters DON'T MATTER (identical results)

ADX FILTER VALIDATION:
 adx=0: 1,162 signals (most, as expected)
 adx=5: 582 signals (50% reduction)
 adx=10: 572 signals (similar to adx=5)
 adx=15: 455 signals (least, as expected)

NEXT STEPS:
1. Investigate flip=0.35/0.40 anomaly (re-run on Worker1)
2. Forward test flip=0.45, adx=15 config on 2025 data
3. Deploy to production if validation passes

Files:
- cluster/V11_SWEEP_RESULTS.md (comprehensive analysis)
- cluster/v11_results/*.csv (local copies of all 4 chunks)
2025-12-07 00:34:49 +01:00

6.9 KiB
Raw Blame History

V11 Progressive Sweep Results

Date: December 7, 2025
Total Configurations: 1,024
Duration: 33.2 minutes
Workers: 2 (parallel execution)

SUCCESS METRICS

  • All 1,024 configurations tested successfully
  • ZERO configs generated 0 signals (flip_threshold fix worked perfectly!)
  • Top profit factor: 1.97 (74.7% WR, $2,416 PnL, 766 trades)
  • Parallel execution: 4× 256 configs in 33 minutes

📊 SIGNAL DISTRIBUTION BY FLIP_THRESHOLD

flip_threshold Configs Avg Signals Status
0.30 256 1,271 Loosest (most signals)
0.35 256 304 ⚠️ Unexpectedly LOW
0.40 256 276 ⚠️ Unexpectedly LOW
0.45 256 920 Tightest but viable

CRITICAL FINDING: flip_threshold=0.35 and 0.40 generating FEWER signals than 0.45! This suggests a BUG in the indicator logic for mid-range flip thresholds.

Expected vs Actual

  • Expected gradient: 0.30 > 0.35 > 0.40 > 0.45 (stricter = fewer signals)
  • Actual pattern: 0.30 (1,271) > 0.45 (920) > 0.35 (304) > 0.40 (276)
  • Anomaly: 0.35 and 0.40 generating 3-4× FEWER signals than expected

📊 SIGNAL DISTRIBUTION BY ADX_MIN

adx_min Configs Avg Signals Status
0 (disabled) 256 1,162 Highest (as expected)
5 256 582 50% reduction
10 256 572 Similar to adx=5
15 (strictest) 256 455 Lowest (as expected)

VALIDATION: ADX filter behaves correctly - stricter thresholds reduce signals as expected.

🏆 TOP 10 CONFIGURATIONS BY PROFIT FACTOR

Best Strategy: flip=0.45, adx=15, long_max=95, short_min=5, vol=0.0, buf=0.1, rsi_L=30, rsi_S=80

  • Profit Factor: 1.97
  • Win Rate: 74.7%
  • P&L: $2,416.60
  • Max Drawdown: $55.90
  • Total Trades: 766
  • Risk-Reward: 43.2× (P&L / DD ratio)

Pattern in Top 10:

  • All use flip_threshold=0.45 (tightest threshold)
  • All use adx_min=15 (strictest ADX filter)
  • All use long_pos_max=95 (permissive long entries)
  • All use short_pos_min=5 (permissive short entries)
  • RSI parameters DON'T MATTER (identical results for 25/30 and 75/80)
  • Volume filter MINIMAL IMPACT (vol=0.0 vs 0.5 only changes PnL by 5%)
  • Entry buffer MINIMAL IMPACT (buf=0.0 vs 0.1 identical results)

Insensitive Parameters (No Impact)

  1. rsi_long_min (25 vs 30): Identical results
  2. rsi_short_max (75 vs 80): Identical results
  3. entry_buffer_atr (0.0 vs 0.1): No difference

Sensitive Parameters (Major Impact)

  1. flip_threshold: 0.45 dominates all top 10 configs
  2. adx_min: 15 (strictest filter) in all top 10
  3. Position filters: 95/5 (permissive) in all top 10

🔍 CRITICAL ISSUE: flip_threshold=0.35/0.40 ANOMALY

Problem: Mid-range flip thresholds (0.35, 0.40) generating 3-4× fewer signals than both looser (0.30) AND tighter (0.45) thresholds.

Hypotheses:

  1. Indicator bug: Logic error for flip values between 0.35-0.40
  2. Dataset artifact: 2024 SOL data has specific pattern that breaks mid-range
  3. EMA calculation error: Flip detection misfiring for certain threshold ranges
  4. Compilation issue: Worker2 chunks (0.35, 0.40) had stale code?

Evidence:

  • Worker1 processed flip=0.30 (1,271 signals) and flip=0.45 (920 signals) ✓
  • Worker2 processed flip=0.35 (304 signals) and flip=0.40 (276 signals) ⚠️
  • No zero-signal configs (all ranges generated SOME signals)
  • But 70-75% signal reduction for mid-range is NOT PLAUSIBLE

Validation Needed:

# Re-run ONLY flip=0.35 and flip=0.40 configs on Worker1
# If signals match Worker2 → dataset/indicator issue
# If signals match flip=0.30 → Worker2 deployment issue

Based on top 10 results:

flip_threshold = 0.45        # Proven winner (all top 10)
adx_min = 15                 # Strictest filter (all top 10)
long_pos_max = 95            # Permissive longs
short_pos_min = 5            # Permissive shorts
vol_min = 0.0                # No volume filter
entry_buffer_atr = 0.0       # No entry buffer
rsi_long_min = 25            # Doesn't matter (pick lower)
rsi_short_max = 75           # Doesn't matter (pick lower)

Expected Performance:

  • 766 trades over backtest period (2024 SOL/USDT 5min)
  • 74.7% win rate (very high)
  • 1.97 profit factor (excellent)
  • $2,416 total P&L (strong profitability)
  • $55.90 max drawdown (minimal risk)

🚨 NEXT STEPS

  1. URGENT: Investigate flip_threshold=0.35/0.40 anomaly

    • Re-run those configs on Worker1 (eliminate Worker2 as variable)
    • Check indicator code for bugs in mid-range flip detection
    • Validate with different dataset (2023 or 2025 data)
  2. VALIDATE TOP CONFIG: Forward test flip=0.45, adx=15 config on fresh data

    • Use 2025 data (not in backtest)
    • Verify 766 trades is sufficient frequency for production
  3. ELIMINATE NOISE: Remove insensitive parameters from future sweeps

    • Drop rsi_long_min/rsi_short_max (no impact on results)
    • Drop entry_buffer_atr (minimal impact)
    • Focus on: flip_threshold, adx_min, long_pos_max, short_pos_min, vol_min
  4. DEPLOY TO PRODUCTION: If validation passes

    • Update v11 production config with optimal parameters
    • Monitor signal frequency (expect ~3-4 trades/day if extrapolating from backtest)
    • Compare to v9/v10 live performance

📈 COMPARISON TO BASELINE

V9 Baseline (from earlier sweep):

  • P&L: $405.88
  • Win Rate: 60.98%
  • Profit Factor: 1.022
  • Max Drawdown: -$1,360.58

V11 Best Config:

  • P&L: $2,416.60 (+495% improvement)
  • Win Rate: 74.7% (+22.5% absolute improvement)
  • Profit Factor: 1.97 (+92.8% improvement)
  • Max Drawdown: -$55.90 (96% reduction in risk!)

Result: V11 best config is 5× more profitable with 14× less drawdown than V9 baseline.

⚠️ CRITICAL WARNINGS

  1. flip_threshold=0.35/0.40 BROKEN - Do NOT use mid-range values until bug fixed
  2. Overfitting risk - 1.97 PF on backtest may not translate to live (need forward validation)
  3. Sample size - 766 trades is decent but not massive (need confidence intervals)
  4. Dataset limited - Only 2024 SOL data, not tested on BTC/ETH or other years

📝 FILES

Result CSVs:

  • /home/comprehensive_sweep/v11_test_results/v11_test_chunk_0000_results.csv (flip=0.30, 256 configs)
  • /home/backtest_dual/backtest/v11_test_results/v11_test_chunk_0001_results.csv (flip=0.35, 256 configs)
  • /home/backtest_dual/backtest/v11_test_results/v11_test_chunk_0002_results.csv (flip=0.40, 256 configs)
  • /home/comprehensive_sweep/v11_test_results/v11_test_chunk_0003_results.csv (flip=0.45, 256 configs)

Local copies:

  • /home/icke/traderv4/cluster/v11_results/*.csv (all 4 chunks)

Analysis:

  • Database: exploration.db (empty - results not imported)
  • This file: /home/icke/traderv4/cluster/V11_SWEEP_RESULTS.md