Ironframe SMC Gold Order Blocks Liquidity MT5
- Indicators
- Version: 1.584
- Updated: 20 October 2026
- Activations: 5
IRONFRAME SMC GOLD MT5
Smart Money Concepts, Market Structure, Liquidity Mapping and Deterministic Daily Draw
PRODUCT OVERVIEW
Ironframe SMC Gold MT5 is a multi-layer custom indicator for MetaTrader 5, designed primarily for XAUUSD and gold-focused intraday analysis. It combines Smart Money Concepts, order blocks, supply and demand, premium/discount location, liquidity sweeps, divergence, exhaustion, absorption, breakout confirmation, higher-timeframe context, candlestick-pattern recognition, market-state filters and a deterministic daily liquidity objective.
The indicator separates market location, setup conditions, trigger quality, contextual evidence and target selection. It displays BUY/SELL arrows, structure and zone objects, liquidity levels, optional dashboards, inflection and pattern marks, Fibonacci references, diagnostics and hidden data buffers for compatible Expert Advisors. The indicator does not open or manage trades; execution, position sizing and account risk remain the responsibility of the trader or a separate EA.
The default configuration is Active Range Breakout with the Balanced Breakout preset. Range-bound reversal and Conservative modes are also available. Data-dependent layers are optional and require supported data sources to be configured.
FEATURES AT A GLANCE
- SMC structure engine with confirmed swings, range context, premium/discount location, order blocks and supply/demand zones.
- Three signal modes: Conservative, Range-Bound and Active Range Breakout.
- Breakout quality controls for ATR buffer, candle body, volume, setup age, invalidation, retest, extension and re-arming.
- Divergence, exhaustion, absorption and cluster-confluence detectors.
- Higher-timeframe confirmation, session filtering, signal cooldown and stale-zone controls.
- Inflection and Point of Interest (POI) annotations.
- Phase 1 market-state analysis, breakout lifecycle and no-trade diagnostics.
- Phase 2 multi-domain score, setup state machine, suppressed-setup logging and optional KPI data output.
- Phase 3 input layer for broker futures ticks and timestamped gold-options and macro/sentiment snapshots.
- Phase 4 closed-bar pattern recognition: engulfing, pin bars, Morning/Evening Stars, double tops/bottoms, Head and Shoulders patterns, and flags.
- Daily Draw on Liquidity pool map and lifecycle status.
- Directional Draw Bias using target-score edge, structure and momentum.
- Deterministic Daily Intraday Target reconstructed from complete UTC daily candles aggregated from M15 data and ranked with daily ATR.
- Fibonacci extension references, configurable alerts and 15 indicator buffers, including hidden EA-facing outputs.
1. QUICK START
- Install the compiled indicator through the MetaTrader 5 Market, or copy a supplied source file to MQL5\Indicators and compile it in MetaEditor when source installation is applicable.
- Attach it to your gold symbol. XAUUSD is the primary design focus. Broker suffixes and symbol specifications can affect the data.
- Start with the defaults: SignalMode = MODE_ACTIVE_RANGE_BREAKOUT and ParameterPreset = PRESET_BREAKOUT_BALANCED.
- Confirm UseHTFFilter, HTFTimeframe, AllowedSession and UTCOffsetHours. The default HTF is H4 and the session filter allows all sessions.
- Allow historical bars to load. The deterministic daily target requires adequate M15 history and sufficiently complete UTC-day coverage.
2. SIGNAL MODES
SignalMode selects the main signal logic. The default is MODE_ACTIVE_RANGE_BREAKOUT.
Active Range Breakout
This mode identifies a qualifying close outside the active range. BreakoutUseATRBuffer = true and BreakoutBufferATR = 0.10 define a volatility-scaled boundary buffer. BreakoutMinBodyATR = 0.50 controls minimum candle body size. BreakoutRequireVolume = true and BreakoutVolumeFactor = 1.00 set the volume condition. BreakoutSetupMaxBars = 3 limits the setup window, while BreakoutInvalidateATR = 0.50 defines the invalidation distance.
Refinement inputs include BreakoutMinRangeATR = 0.80, BreakoutMaxExtensionATR = 1.75, BreakoutRetestToleranceATR = 0.25, BreakoutCloseLocation = 0.65, BreakoutUseSameBoundaryRearm = true and BreakoutRearmBars = 3. These filters help distinguish accepted movement from a weak probe, failed break or late chase. This mode can create continuation signals and is not a reversal-only mode.
Range-Bound Mode
Range-Bound mode focuses on a structural location plus confirmation such as divergence, exhaustion or absorption. RangeBoundMinScore = 3 is the minimum score for this mode. Cluster and options-confluence evidence can contribute according to the active scoring path.
Conservative Mode
Conservative mode uses a more restrictive structural and confirmation gate. RequireOrderBlock and RequireSweep default to true, RequireDivergence defaults to false, and MinSignalScore = 4 controls the primary score threshold. OBProximityPct = 0.005 limits proximity to the order-block region.
Parameter presets
ParameterPreset offers Balanced Breakout, Strict Breakout, Range Reversal and Custom. The preset determines the applicable parameter profile; use Custom when individually tuning the related inputs. RequireOrderBlock, RequireSweep and RequireDivergence are conservative-mode controls, not universal filters for every mode.
3. CORE STRUCTURE DETECTION
The main structure inputs are SwingWing = 3, SwingLookback = 100 and ATRPeriod = 14. SwingWing sets the number of bars required on either side to confirm a pivot, SwingLookback bounds the structural search, and ATRPeriod supplies the chart-timeframe volatility scale used by many chart-level filters.
OBDisplacementMult = 1.0 sets the minimum body-to-ATR displacement requirement for order-block qualification. OBMaxWickRatio = 0.3 limits the qualifying candle's wick proportion. DisplacementMult = 1.8 is a general movement threshold, while SDMoveMultiple = 3.0 relates the explosive move to the supply/demand base-height proxy. EquilibriumBandPct = 0.35 tightens range-edge conditions toward the outer premium/discount areas.
Order blocks and supply/demand zones are model-defined price areas. Premium and discount are relative to the detected active range, not fundamental valuation, and a zone does not prove that a particular institution placed an order there.
4. DIVERGENCE, EXHAUSTION, ABSORPTION AND CLUSTER SCORING
EnableDivergence = true enables divergence analysis. DivergenceMinSwingATR = 1.0 filters comparisons by swing size, DivergenceCooldownBars = 8 limits repeated marks, and MaxTickBars = 50 bounds the recent native tick-delta window. DrawDivergenceMarks = true controls visible markers.
EnableExhaustion = true enables wick/body exhaustion checks. ExhaustionWickMult = 0.6 and ExhaustionBodyMult = 0.3 define important candle proportions.
EnableAbsorption = true enables volume/range/rejection analysis; AbsorptionVolFactor = 1.5, AbsorptionRangeFactor = 0.8 and AbsorptionRejectPct = 0.2 are its main thresholds. DrawExhaustionMarks and DrawAbsorptionMarks default to false, so the chart can stay clean while the detectors remain enabled.
Tick-volume and tick-delta evidence is broker-dependent and is not a complete exchange order book.
5. SUPPLY/DEMAND, HIGHER-TIMEFRAME AND SESSION CONTEXT
DrawSupplyDemandZones = true enables zone display. SDLookback = 100 controls the search window, SDMaxBaseCandles = 4 caps the base length, SDDisplacementMult = 0.5 sets the ATR-scaled move threshold and SDMaxZonesShown = 3 limits displayed zones. SupplyZoneColor defaults to red and DemandZoneColor to blue.
UseHTFFilter = true enables higher-timeframe confirmation. HTFTimeframe = H4, HTFLookbackBars = 20 and HTFNeutralPct = 0.05 are the defaults. The filter uses completed higher-timeframe information; changing the timeframe can change which setups qualify.
AllowedSession defaults to SESSION_ALL. The selectable windows are all sessions, London, New York or London/New York. The approximate internal windows are London 08:00-16:00 UTC and New York 13:00-21:00 UTC; they are not automatically adjusted for daylight-saving changes. UTCOffsetHours = 0 sets the configured UTC adjustment. Confirm this value against the broker's server time.
SignalCooldownBars = 5 reduces repeated signals around the same zone. LiquiditySweepMaxAgeBars = 3 requires recent sweep evidence. MaxBarAgeForSignal = 25 limits how old an order block may be for a new signal. MaxSignalAgeBarsForLog = 25 controls whether older closed-bar events are considered fresh enough for logging/alerts.
6. ARROW PROFILE AND INFLECTION / POI ENGINE
ArrowProfile defaults to ARROW_SWING; ARROW_SCALPING is available. ScalpingExtremeLookback = 5, ScalpingMinReversalATR = 0.35 and ScalpingRequireExtreme = true are scalping-oriented controls. ArrowMinBodyATR = 0.25, ArrowMinCloseLocation = 0.60 and ArrowMinSeparationBars = 1 add candle-quality and spacing constraints. RangeEdgeBufferPct = 0.05, ArrowRearmATR = 0.75 and UseLocalStructureBiasFilter = true refine range-edge tolerance, repeated triggers and local directional context.
EnableInflectionPoints = true enables the turning-point context engine. It evaluates a smoothed-price series, changes in slope/curvature, local-mean deviation, RSI, pivot proximity, range context and candle rejection..
7. PHASE 1: MARKET STATE AND BREAKOUT LIFECYCLE
EnablePhase1Engine = true activates market-state context. The sub-filters UsePhase1HTFStructureFilter, UsePhase1StateFilter, UsePhase1SessionLiquidity, UsePhase1BreakoutLifecycle and UsePhase1NoTradeEngine default to true.
The model classifies conditions such as compression, range, expansion, trend, exhaustion and transition under its configured rules. It can track breakout attempts, retests, acceptance, failure and expiry, and record reasons a setup was blocked.
8. PHASE 2: MULTI-DOMAIN SCORE AND KPI DATA
EnablePhase2Engine, EnablePhase2StateMachine and EnablePhase2OrthogonalScore default to true. Phase2ReplaceLegacyScore = true uses the Phase 2 orthogonal score as the primary score gate; false keeps the legacy score as an additional gate.
The score covers location, liquidity, trigger, participation and macro/positioning, with default weights 0.22, 0.22, 0.22, 0.22 and 0.12..
9. PHASE 3: DATA EVIDENCE AND OPTIONAL MARKET CONTEXT
Phase 3 can use broker futures tick history, timestamped gold-options snapshots and macro/sentiment snapshots. EnablePhase3Engine = true and Phase3LoadCommonFiles = true are the defaults. The futures route is disabled until Phase3FuturesSymbol contains the exact broker symbol. Phase3FuturesMinQuality = 0.35 and Phase3FuturesPressureThreshold = 0.15 control when futures evidence is usable.
The default options file is Ironframe_GoldOptions_Snapshots.csv. Phase3OptionsAllowedUnderlyings defaults to GC;MGC;GOLD. Phase3OptionsPreferredExpiry can select an expiry; Phase3OptionsMaxAgeHours = 48, Phase3OptionsMinQuality = 0.35, Phase3OptionsStrikeToleranceATR = 0.50 and Phase3OptionsMaxRows = 50000 control freshness, quality, proximity and file size. The expected snapshot fields include as-of time, underlying, expiry, strike, option type, open interest, volume, implied volatility, gamma and source.
10. OPTIONS CONFLUENCE AND FUNDAMENTAL/SENTIMENT CONTEXT
UseOptionsConfluence = true enables the options-confluence bonus where suitable data are available. OptionsConfluenceATRMult = 0.5 controls proximity to a qualifying options level and OptionsConfluenceBonus = 1 sets the scoring bonus.
Legacy options inputs include CSV_File_Name, Weekly_Call_Strikes, Weekly_Put_Strikes, Weekly_Weight, Min_OI_Threshold = 100, Min_Volume_Threshold = 200, Max_Pain_Buffer = 5, Max_Strikes_Processed = 100 and Max_Battle_Zones_Shown = 5. In the current custom-indicator workflow, use valid Phase 3 gold-options snapshots rather than assuming a legacy API key loads a live chain.
The regime scores are normalized from 0 to 100. FundamentalScore = 50 and SentimentScore = 50 are neutral fallback values when no supported shared score is available. The fundamental interpretation is 0 bearish and 100 bullish for gold. Sentiment is scored on a fear-to-greed scale.
11. PHASE 4: PATTERN RECOGNITION
EnablePatternEngine = true enables closed-bar pattern recognition. The available patterns are bullish/bearish engulfing, pin bars, Morning/Evening Stars, double bottoms/tops, inverse Head and Shoulders/Head and Shoulders, and bull/bear flags.
PatternEnableEngulfing, PatternEnablePinBar, PatternEnableStar, PatternEnableDouble, PatternEnableHns and PatternEnableFlag all default to true.
12. DAILY DRAW ON LIQUIDITY
The ordinary Daily Draw module maps multiple intraday liquidity pools. It is separate from the deterministic Daily Intraday Target, which selects one day-level objective from daily reference data.
Daily Draw candidates can include previous-day and previous-week reference levels, completed Asia/London ranges, equal highs/lows, confirmed swing pools, fair value gaps, order blocks, supply/demand zones and eligible options walls/Max Pain where a suitable Phase 3 snapshot exists. The source switches are DailyDrawUseReferenceLevels, DailyDrawUseEqualHighsLows, DailyDrawUseSwingPools, DailyDrawUseFVGs, DailyDrawUseOrderBlocks, DailyDrawUseSupplyDemand and DailyDrawUseOptionsLevels; all default to true.
13. DIRECTIONAL DRAW BIAS
Directional Draw Bias combines the difference between upside/downside target quality, market structure and normalized momentum. EnableDirectionalDrawBias = true and DrawDirectionalDrawBias = true enable its calculation and display.
Default weights are DailyDrawBiasWeightTargets = 45, DailyDrawBiasWeightStructure = 30 and DailyDrawBiasWeightMomentum = 25. The neutral band is controlled by DailyDrawBiasNeutralBand = 7, meaning approximately 43-57 is balanced around 50. Structure, momentum and recent breakout evidence are individually configurable..
14. DETERMINISTIC DAILY INTRADAY TARGET - V1.589
This module selects one principal liquidity objective for the current UTC day. It is designed to stay stable across timeframe changes and reloads when the underlying M15 history and UTC settings are unchanged. It reconstructs daily OHLC candles from M15 rates, discards poorly covered UTC days and calculates daily ATR from the reconstructed daily series. It does not use the chart timeframe's ATR to judge a daily-sized move.
Candidate sources include the previous completed UTC-day high/low, previous completed UTC-week high/low, rolling 5-, 20- and 60-trading-day extremes, confirmed daily swing
15. FIBONACCI REFERENCES, ALERTS AND CHART DISPLAY
EnableFibTargets = true displays Fibonacci extension references when the required order-block context is present. The defaults are FibTP1 = 1.618, FibTP2 = 2.618 and FibTP3 = 4.236. The target colours are yellow, orange and red, with a white break-even reference. These are chart reference levels; the indicator does not move a stop or place take-profit orders.
16. DATA AND TESTING NOTES
The indicator is built around gold and should be evaluated on the target broker's actual XAUUSD symbol and history. Symbol suffixes, spread, tick volume, session alignment, server-time changes and historical data gaps can affect results. The daily target's reproducibility depends on matching M15 history, UTC convention, input settings and symbol data; it does not guarantee identical candles across different brokers.

