MQL5 Optimizations:
- Consolidate trade counting and profit calculation into a single history scan in `UpdateDailyStatistics()`.
- Optimize `IsTradingAllowed()` with fast math for hour extraction, replacing expensive `TimeToStruct()`.
- Reduce terminal API calls in `CheckDailyLimits()` by caching account balance.
- Reuse `TimeCurrent()` value in `OnTick()` and pass to sub-functions.
CI Fixes:
- Transition all workflows from `ubuntu-latest` to `self-hosted` runners.
- This resolves the "Runner of type hosted not acquired" failure by utilizing the repository's configured self-hosted infrastructure.
Impact: Measurably faster execution in MT5 'hot paths' and restored CI/CD functionality.
Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>