Version 3.12 2026.04.14
Changelog v3.11 → v3.12

- Instant theme switching Changing the color preset (Default / Dark / Light / Custom) now updates all zone colors immediately after clicking OK. Previously, some zones kept the old colors until you switched timeframes. This has been fully resolved.

- Improved initialization stability Parameter change detection now uses a more reliable method, ensuring the indicator always recognizes when settings have been updated. This prevents visual glitches during settings changes.
Version 3.11 2026.04.14
SMC OrderBlocks AIO — Changelog v3.10 → v3.11

🚀 Performance Improvements
- Optimized Bar Lookup Speed The bar position lookup previously copied the entire price history array on every tick — extremely wasteful. Replaced with a direct O(1) calculation using Bars(). The indicator now runs significantly lighter, especially on charts with long history.

🔧 Logic & Bug Fixes
- OB Detection Only on Closed Bars Previously, the currently-forming bar could be mistakenly detected as an Order Block, generating false signals. The scan now starts strictly from closed bars only.

- Fixed Cleanup Order Old OB cleanup now runs before the new scan begins, eliminating potential data conflicts caused by array resizing during iteration.

- Dynamic Price Formatting Tooltip price display now automatically adjusts decimal places based on the symbol's digit count (e.g. 4712.50 for GOLD, 1.08450 for EURUSD).

- Auto-Restore Deleted Zone Objects If a zone object is accidentally deleted from the chart, it is automatically re-created on the next tick.

- Prevented Dual OB Detection on the Same Bar A single bar can now only be classified as one type of OB — it can no longer simultaneously register as both Bullish and Bearish.

- Fixed OB Expiry Counter The ZigZag swing counter used for expiry is now strictly monotonic (can only increase). This prevents expired OBs from incorrectly reappearing on the chart.

- Handled ZigZag Read Errors ZigZag read errors are now distinguished from "no swing present", preventing false OB detection caused by missing indicator data.

🎨 Visual Improvements
- Immediate Chart Redraw on Every Tick Color and state changes are now immediately reflected on the chart without any visual delay.

- Redesigned Color Presets All color presets (Default, Dark, Light) now use hand-tuned RGB values instead of raw MQL5 named colors. The result is a softer, more eye-friendly appearance on both dark and light chart backgrounds.

- Fixed Label Positioning Zone labels (Bull OB, Bear Mitigated, etc.) are now positioned inside the zone with proper spacing from the OB-forming candle — no more overlapping or labels appearing outside the box.

⚙️ UX Improvements
- No More Blank Chart After Parameter Change Previously, changing any setting and clicking OK would cause the chart to go completely blank, requiring a timeframe switch to restore the indicator. The indicator now updates instantly and seamlessly on parameter change.

- ZigZag Data Readiness Check After a parameter change, the indicator now waits for the new ZigZag handle to have computed data before starting the scan — preventing an empty chart on first load.