- NormalizeLots: derive rounding digits from SYMBOL_VOLUME_STEP instead of
hardcoded 2, floor onto the step grid before clamping to min/max
- FitLotsToMargin: shrink volume to fit 90% of free margin via
OrderCalcMargin; skip the trade when even VOLUME_MIN cannot be afforded
(fixes repeated 'not enough money' rejects on XAUUSD)
- GetSLPoints/GetTPPoints: clamp to SYMBOL_TRADE_STOPS_LEVEL + spread
(fixes repeated 'invalid stops' rejects on GBPUSD counter trades)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>