15a4138bbd
Run reale phase1-real-001 ha rivelato due problemi: 1. 67% parse_error perche' qwen3 nestava indicatori non supportati (es. "(sma (indicator realized_vol 30) 150)"). Il prompt SYSTEM ora esplicita le regole strette: indicator non e' annidabile, sma/rsi/etc. esistono solo come 1o argomento di indicator, crossover/crossunder accetta espressioni-serie come (feature close) o (indicator sma N). 2. max_drawdown calcolato su equity assoluta (P&L in unita' BTC) +1.0 produceva drawdown nominali enormi (>89000) per strategie con posizioni perdenti su BTC a $96k. Normalizziamo dividendo per il notional iniziale (close[0]), cosi' max_dd diventa drawdown relativo al wealth iniziale. Test suite resta 122 PASSED, ruff e mypy clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>