WF backtester always passed trained models to Backtester.run(ml_models=...), overriding ml_filters even when use_ml=False. This caused 0 trades in --no-ml mode because underfitted models (trained on ~27 samples) blocked all entries with proba < 0.55 threshold. - Skip model training when use_ml=False (saves computation) - Only inject ml_models when use_ml=True Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>