Ironframe SMC Gold MT5 EA
- 专家
- 版本: 1.23
- 更新: 23 九月 2026
- 激活: 5
Ironframe SMC Gold MT5 EA:订单块、流动性与自动执行
区间震荡版 · EA 手册 · v1.31 架构
使用经过验证的市场结构交易黄金,并实现自动化执行
大多数零售型 Expert Advisor(EA)都基于单一触发条件执行交易,例如指标交叉、移动平均线或简单形态。Ironframe SMC Gold MT5 EA采用了不同的设计理念。它将多层 Smart Money Concept(SMC)框架转化为自动执行工作流,以经过确认的价格行为结构为核心,并可结合可选的订单流确认、期权市场共振、宏观经济状态和市场情绪。
该EA基于 Ironframe SMC Gold MT5 指标的相同核心架构。指标仅停留在图表信号层面,而EA不仅评估符合条件的交易设置,还可以根据EA中实际实现的配置自动执行交易管理流程。
它专为已经理解订单块、流动性扫盘、供需区域以及机构式市场结构的交易者设计,希望由自动化系统持续、一致地评估这些条件。
重要提示: 具体的入场、止损、仓位管理、点差、交易时段以及交易管理参数,取决于EA的实际实现。以下章节描述的是文档化的策略架构,以及应当与实际EA输入参数保持一致的执行层。
核心差异
-
完整的SMC结构引擎 —— 基于经过确认的、已收盘K线价格行为构建订单块、流动性扫盘以及供需区域。
-
多层确认,而不仅仅是结构。 结构性交易设置在执行前,可以进一步与背离、衰竭、吸收以及集群共振进行交叉验证。
-
真实期权市场共振。 在配置支持的数据源后,系统可以使用COMEX黄金期货期权数据,包括未平仓量(Open Interest)、Max Pain和流动性水平。
-
以宏观因素为设计基础。 基本面输入可以纳入美联储资产负债表、CPI/PPI、就业数据以及相关宏观经济状态信息。
-
市场情绪感知。 可以使用CFTC Commitment of Traders(COT)持仓数据和Fear & Greed作为逆向过滤器。
-
两种针对性设计的信号模式。 Conservative Mode使用评分框架进行更强的确认,而Range-Bound Mode则专注于震荡条件下的结构区域与确认因素。
-
自动执行。 当交易设置满足EA当前启用的规则后,EA可以根据其执行与风险管理设置,将信号转换为自动交易。
-
可配置架构。 高级层可以保持关闭,从而允许核心结构引擎在减少外部依赖的情况下运行。
EA如何进行判断
应当将EA理解为一个决策流水线,而不是单一指标信号:
Market Structure → Structural Setup → Confirmation → Confluence → Regime Check → Trade Filter → Execution → Trade Management
每一个阶段都旨在减少低质量设置进入执行层的数量。
1. 快速开始-
将 .ex5 文件复制到终端的 MQL5\Experts 文件夹中(在MT5内部选择 File → Open Data Folder)。如果使用源代码安装,则在MetaEditor中编译 .mq5 文件。
-
如果EA没有立即出现在Navigator中,请重新启动或刷新Navigator。
-
将EA加载到黄金图表。原始架构以XAUUSD为设计核心,但具体实现可能允许核心结构逻辑应用于其他品种。
-
在启用自动交易前,确认交易品种、时间周期、经纪商合约规格以及交易条件。
-
从EA默认设置开始。文档化版本的基础策略默认使用Range-Bound Mode。
-
只有在确认EA能够正确接收市场数据且所有必需的数据源均可用后,才启用Algo Trading / AutoTrading。
-
首次部署期间,请监控Experts和Journal选项卡。外部数据获取失败、执行错误、订单拒绝、止损无效或经纪商限制等问题,应在无人值守运行前解决。
-
如需使用期权市场共振,请配置一种受支持的数据路径。当该层被禁用时,EA无需期权数据也可运行。
enum ENUM_SIGNAL_MODE { MODE_CONSERVATIVE, MODE_RANGEBOUND };
Conservative Mode
采用积分评分框架。订单块、流动性扫盘、背离、衰竭、吸收、集群共振以及期权共振均可以对信号评分产生贡献。
只有当评分达到 MinSignalScore ,并且有效的方向性/市场状态过滤器允许该设置时,系统才会考虑交易。
Range-Bound Mode
**Range-Bound Mode是本版本文档所定义的默认模式。**它要求:
-
一个结构条件:订单块或有效的需求/供应区域;
-
一个确认条件:背离、衰竭或吸收;
-
通过 RangeBoundMinScore 达到最低评分(文档默认值:2)。
Range-Bound Mode中的市场状态过滤器不会阻止交易方向。因此,即使基本面或市场情绪形成了明确的方向性偏差,买卖两个方向仍然可以出现。
3. 核心结构检测| 输入 | 默认值 | 控制内容 |
|---|---|---|
| SwingWing | 3 | 确认Swing High/Low时,K线左右两侧所需的柱数。数值越低,产生的摆动点越多;数值越高,产生的摆动点越少但意义更强。 |
| SwingLookback | 100 | 在评估背离或扫盘结构时,摆动点搜索向历史回溯的范围。 |
| ATRPeriod | 14 | 用于缩放位移、衰竭、吸收和背离等距离型阈值的ATR周期。 |
| OBDisplacementMult | 1.0 | 一根K线要成为与订单块相关的位移K线,其实体大小与ATR之间所需达到的最小比率。 |
| OBMaxWickRatio | 0.3 | 位移K线中,允许影线占据整个K线区间的最大比例。 |
| SDMoveMultiple | 3.0 | 后续爆发性移动必须达到基准K线区间的多少倍,才能构成有效供需模式。 |
| EquilibriumBandPct | 0.05 | 在检测到的区间50%水平附近设置的平衡带宽度。 |
| 输入 | 默认值 | 控制内容 |
|---|---|---|
| EnableExhaustion | true | 启用衰竭检测器。 |
| ExhaustionWickMult | 0.6 | 构成衰竭条件所需的最小影线/区间比率。 |
| ExhaustionBodyMult | 0.3 | 与衰竭影线同时存在时允许的最大实体/区间比率。 |
| EnableAbsorption | true | 启用吸收检测器。 |
| AbsorptionVolFactor | 1.5 | 构成吸收条件所需的最小成交量/平均成交量倍数。 |
| AbsorptionRangeFactor | 0.8 | 高成交量/小区间吸收条件允许的最大区间/ATR比率。 |
| AbsorptionRejectPct | 0.2 | 所需的最小影线拒绝比例。 |
| EnableDivergence | true | 启用背离检测器。 |
| DrawDivergenceMarks | false | 在支持该功能时仅影响可视化;不会决定是否评估背离。 |
| DivergenceMinSwingATR | 1.0 | 在进行背离评估之前,两个摆动点之间以ATR表示的最小价格差。 |
| MaxTickBars | 50 | 可以使用真实买卖Tick Delta的最近K线最大数量。更早的K线将回退使用原始Tick Volume。 |
| 输入 | 默认值 | 控制内容 |
|---|---|---|
| UseClusterScoring | true | 是否在同一根K线上同时出现多个确认条件时给予评分加成。 |
| MinClusterSignals | 3 | 触发集群加成所需的同时确认数量。 |
| ClusterBonusScore | 2 | 达到集群阈值时增加的评分。 |
| 输入 | 默认值 | 控制内容 |
|---|---|---|
| DrawSupplyDemandZones | true | 在实现图表可视化的情况下,控制供需区域检测/绘制引擎的总开关。 |
| SDLookback | 100 | 搜索符合条件的Base + Explosive Move形态所使用的历史范围。 |
| SDMaxBaseCandles | 4 | 在位移移动之前允许的最大Base/盘整K线数量。 |
| SDDisplacementMult | 0.5 | 离开某个区域的爆发性移动所需的最小实体/ATR比率。 |
| SDMaxZonesShown | 3 | 在启用可视化时可同时显示的最大区域数量。 |
| SupplyZoneColor / DemandZoneColor | Red / Blue | 图表显示颜色。 |
| 输入 | 默认值 | 控制内容 |
|---|---|---|
| UseHTFFilter | true | 在实现该功能时,要求更高时间周期的方向判断与之保持一致后,才允许信号/交易。 |
| HTFTimeframe | H4 | 用于方向性判断的更高时间周期。 |
| HTFLookbackBars | 20 | 用于趋势判断的已收盘高时间周期K线数量。 |
| HTFNeutralPct | 0.05 | 用于将平坦的高时间周期趋势归类为中性(Neutral)的阈值。 |
| 输入 | 默认值 | 控制内容 |
|---|---|---|
| AllowedSession | SESSION_ALL | 将交易限制在 SESSION_ALL 、 SESSION_LONDON 、 SESSION_NEWYORK 或 SESSION_LONDON_NY 。 |
| UTCOffsetHours | 0 | 当经纪商服务器时间与UTC存在偏移时,用于调整交易时段计算。 |
| 输入 | 默认值 | 控制内容 |
|---|---|---|
| SignalCooldownBars | 5 | 同一区域重复产生信号之间所需的最小K线数量,或在适用情况下的必要价格距离。 |
| MaxBarAgeForSignal | 25 | 一个订单块在仍可作为新信号有效结构的情况下所允许的最大K线年龄。 |
EA版本将信号框架转换为实际执行流程。以下项目的具体实现必须与已编译EA所提供的输入参数保持一致:
Entry
只有在当前信号模式、结构规则、确认层、可选共振层、时间周期过滤器以及执行过滤器全部满足条件后,EA才应开仓。
Stop Loss
止损应根据EA实际实现的结构化风险模型设置。在保留原始指标逻辑的情况下,订单块或满足条件的结构区域将作为判断失效位置的主要参考。
Take Profit
原始架构绘制Fibonacci Extension目标位:
-
FibTP1 = 1.618
-
FibTP2 = 2.618
-
FibTP3 = 4.236
该策略架构支持两种方式向共振层提供期权市场信息。启用Options Confluence时,只需要其中一种数据源。
Option A — FlashAlpha Live API
-
从 lab.flashalpha.com 获取API密钥。
-
将 UseLiveAPI = true ,并在 FlashAlpha_API_Key 中输入密钥。
-
将 FlashAlpha_Expiration 设置为所需到期日,格式为 yyyy-MM-dd 。
-
除非有特定原因需要更改,否则将 FlashAlpha_Symbol 保留为文档默认值( NEM )。
Option B — 来自Barchart.com的月度CSV
此方式使用实际的COMEX Gold( GC )期货期权数据,而不是股票代理数据。
-
从Barchart下载所需合约月份的黄金期货期权链。
-
将该期权链保存为CSV。
-
文档化的解析器要求每行至少包含13个逗号分隔的列。
-
必需的位置如下:
-
Column 1 = Strike
-
Column 9 = Volume
-
Column 10 = Open Interest
-
Column 13 = Option Type( C 或 P )
-
-
将CSV放入终端的 MQL5\Files 目录。
-
将 CSV_File_Name 设置为准确的文件名。
-
将 UseLiveAPI = false 。
Options Display / Confluence Settings
| 输入 | 默认值 | 控制内容 |
|---|---|---|
| Min_OI_Threshold | 100 | 某个Strike要参与BSL/SSL计算所需的最小未平仓量。 |
| Min_Volume_Threshold | 200 | 最小期权成交量过滤器。 |
| Max_Pain_Buffer | 5 | 计算出的Max Pain水平周围允许的Strike容差。 |
| Max_Strikes_Processed | 100 | 从最接近当前价格的Strike开始加载的最大Strike数量。 |
| Max_Battle_Zones_Shown | 5 | 最多显示的高OI Battle Zone水平数量。 |
| Refresh_Hotkey | R | 在支持该功能时,用于手动刷新期权数据的图表快捷键。 |
| Auto_Refresh_Seconds | 60 | EA检查是否需要刷新期权数据的时间间隔。 |
| UseOptionsConfluence | true | Options Confluence评分贡献的总开关。 |
| OptionsConfluenceATRMult | 0.5 | 相对于关键期权水平的ATR近距离容差。 |
| OptionsConfluenceBonus | 1 | 符合条件的Options Confluence所获得的评分加成。 |
原始框架使用两个归一化评分:
-
Fundamental Score: 0 = 对黄金看跌,100 = 对黄金看涨。
-
Sentiment Score: 0 = 极度恐慌,100 = 极度贪婪。
-
中性/默认值:50。
手动输入
| 手动输入 | 含义 | 来源 / 方法 |
|---|---|---|
| ManualFedStance | 0 = 非常鹰派 … 100 = 非常鸽派 | 手动判断。 |
| ManualCmeCutProb | CME下一次会议降息概率 | CME FedWatch Tool。 |
| ManualNFPActual / ManualNFPExpected | 非农就业数据,实际值与共识预期 | 实际值来自BLS;共识值为外部数据。 |
| ManualADPActual / ManualADPExpected | ADP就业数据,实际值与共识预期 | ADP / 外部共识。 |
| ManualGeoScore | 地缘政治紧张度评分 | 手动评估。 |
| BPR_USBanksLong / BPR_USBanksShort | CFTC Bank Participation Report持仓 | CFTC报告。 |
自动获取的输入
启用后,该架构可以获取:
-
FRED的美联储资产负债表数据;
-
BLS的CPI、PPI和失业率数据;
-
经纪商Oil Symbol的价格;
-
CFTC Commitment of Traders持仓数据;
-
JM Bullion Fear & Greed数据。
Tools → Options → Expert Advisors → Allow WebRequest for listed URL
仅添加当前配置实际需要的域名。文档化架构引用以下地址:
https://publicreporting.cftc.gov

