⚡ Polytrader
Dashboard
Processes
Configs
Accounts
Configs
/
optimizer/optimize_pso_sol-eth-15m.toml
✔ Validate
💾 Save
# PSO Optimization config for CryptoPrices — SOL + ETH 15m events (joint mode) # Based on live session replay_data/15m_live_recording_20260222_225345 # Joint mode: single parameter set optimized across both slugs simultaneously. replay_dir = "replay_data/15m_live_recording_20260222_225345" slugs = [ "eth-up-or-down-15m", "sol-up-or-down-15m", ] strategy_type = "cryptoprices" independent = false # Joint mode: single parameter set optimized across both slugs simultaneously [parameter_space.strategy] # Pricing edge threshold # ETH optimized: 0.2795, SOL live: 0.30 — tighten lower bound min_pricing_edge = { min = 0.20, max = 0.35 } # Uncertain zone — skip trades when market price is near 0.5 # ETH optimized: [0.358, 0.434] — cap max to avoid SOL degenerate solution uncertain_zone_min = { min = 0.30, max = 0.40 } uncertain_zone_max = { min = 0.40, max = 0.55 } # Stop loss floor # ETH optimized: 0.2449 stop_loss_pct = { min = 0.20, max = 0.35 } # Cooldown ticks after exit before re-entering trade_cooldown_ticks = { min = 150, max = 150 } # Minimum time to expiry to enter (seconds) # ETH optimized: 239 min_time_to_expiry_seconds = { min = 120, max = 300 } [parameter_space.global] # Stop loss recovery window stop_loss_timeout = { min = 15, max = 15 } stop_loss_recovery_buffer = { min = 0.03, max = 0.03 } # Adaptive trailing stop # ETH optimized: base=0.78, medium=0.80, high=0.796 base_trailing_pct = { min = 0.70, max = 0.85 } adaptive_medium_trailing_pct = { min = 0.70, max = 0.85 } adaptive_medium_profit_threshold = { min = 0.05, max = 0.20 } adaptive_high_trailing_pct = { min = 0.75, max = 0.85 } adaptive_high_profit_threshold = { min = 0.25, max = 0.55 } [objective] # Total profit on this small dataset; switch to sharpe_ratio on larger datasets function = "total_profit" [pso] swarm_size = 20 max_iterations = 100 inertia_weight = 0.729 cognitive_coefficient = 1.49445 social_coefficient = 1.49445