#!/bin/bash # V11 PROGRESSIVE Parameter Sweep Launch Script # Stage 1: Ultra-permissive (start from 0 filters) to find baseline set -e # Exit on error echo "================================================================" echo "V11 PROGRESSIVE PARAMETER SWEEP - STAGE 1 (FIXED)" echo "================================================================" echo "" echo "Strategy: Start from 0 (filters disabled) and go upwards" echo "" echo "Progressive Grid (1024 combinations):" echo " - flip_threshold: 0.3, 0.35, 0.4, 0.45 (all proven working)" echo " - adx_min: 0, 5, 10, 15 (0 = disabled)" echo " - long_pos_max: 95, 100 (very loose)" echo " - short_pos_min: 0, 5 (0 = disabled)" echo " - vol_min: 0.0, 0.5 (0 = disabled)" echo " - entry_buffer_atr: 0.0, 0.10 (0 = disabled)" echo " - rsi_long_min: 25, 30 (permissive)" echo " - rsi_short_max: 75, 80 (permissive)" echo "" echo "Expected signal counts by flip_threshold:" echo " - flip_threshold=0.3: 1,400-1,600 signals (very loose)" echo " - flip_threshold=0.35: 1,200-1,400 signals" echo " - flip_threshold=0.4: 1,096-1,186 signals (proven working)" echo " - flip_threshold=0.45: 800-1,000 signals (tighter but viable)" echo "" echo "Expected outcomes by adx_min:" echo " - adx_min=0 configs: 150-300 signals (almost no filtering)" echo " - adx_min=5 configs: 80-150 signals (light filtering)" echo " - adx_min=10 configs: 40-80 signals (moderate filtering)" echo " - adx_min=15 configs: 10-40 signals (strict filtering)" echo "" echo "FIX APPLIED: Replaced flip_threshold=0.5 (0 signals) with working values" echo "" echo "================================================================" echo "" cd "$(dirname "$0")" # Check if data file exists if [ ! -f "data/solusdt_5m.csv" ]; then echo "✗ Error: data/solusdt_5m.csv not found" echo " Please ensure market data is available" exit 1 fi echo "✓ Market data found" # Check if coordinator script exists if [ ! -f "v11_test_coordinator.py" ]; then echo "✗ Error: v11_test_coordinator.py not found" exit 1 fi echo "✓ Coordinator script found" # Clear previous test data echo "" echo "🗑️ Clearing previous test data..." rm -rf v11_test_results/* if [ -f "exploration.db" ]; then sqlite3 exploration.db "DELETE FROM v11_test_chunks;" 2>/dev/null || true sqlite3 exploration.db "DELETE FROM v11_test_strategies;" 2>/dev/null || true echo "✓ Database cleared" fi # Launch coordinator in background echo "" echo "🚀 Starting progressive sweep coordinator..." nohup python3 v11_test_coordinator.py > coordinator_v11_progressive.log 2>&1 & COORDINATOR_PID=$! echo "✓ Coordinator started (PID: $COORDINATOR_PID)" echo "" echo "================================================================" echo "MONITORING" echo "================================================================" echo "Live log: tail -f coordinator_v11_progressive.log" echo "Database: sqlite3 exploration.db" echo "Results: cluster/v11_test_results/*.csv" echo "" echo "Check status:" echo " sqlite3 exploration.db \"SELECT * FROM v11_test_chunks\"" echo "" echo "Analyze signal distribution by ADX:" echo " sqlite3 exploration.db \\" echo " \"SELECT json_extract(params, '$.adx_min') as adx_min, \\" echo " AVG(total_trades) as avg_signals, COUNT(*) as configs \\" echo " FROM v11_test_strategies \\" echo " GROUP BY adx_min ORDER BY adx_min;\"" echo "" echo "To stop sweep:" echo " kill $COORDINATOR_PID" echo "================================================================"