在 MQL5 市场获取: SMC Structure and Liquidity PRO

SMC Structure and Liquidity PRO 是一款适用于 MetaTrader 5 的 Smart Money Concepts(聪明钱概念)指标。它在同一张图表上绘制波段与内部市场结构(BOS 和 CHoCH)、订单块与突破块、公允价值缺口与反转 FVG、流动性水平与扫荡、溢价区与折价区,以及更高时间周期的区域。面板汇总显示趋势、多个时间周期的方向偏好以及各区域的状态。
所有计算均基于已收盘的K线。标签、区域或水平线只有在确认它的K线收盘后才会出现,之后不会重绘。本手册的截图取自 EURUSD M15 模拟账户图表。
风险提示。 交易存在亏损风险。本指标是一款分析工具:它不会开仓,也不承诺任何结果。请务必先在模拟账户上测试您的使用方法。
1. 安装
- 在 MQL5 市场购买或租用本产品,然后在 MetaTrader 5 终端的市场选项卡中安装(工具箱 → 市场 → 已购买 → 安装)。
- 打开一张图表,从导航器(指标 → 市场)中将 SMC Structure and Liquidity PRO 拖到图表上。
- 如有需要,调整输入参数(第 10 节),然后按确定。
本指标适用于任何交易品种和时间周期,支持净额结算账户和对冲账户,也可在策略测试器中使用。默认分析最近 3000 根K线(输入参数 Bars analysed)。
2. 图表图例
| 图表上的显示 | 含义 |
|---|---|
| BOS / CHoCH(实线,文字较大) | 波段结构突破 / 性质转变 |
| iBOS / iCHoCH(点线,文字较小) | 内部结构突破 / 性质转变 |
| OB(填充矩形) | 由波段突破产生的订单块 |
| OB i | 由内部突破产生的订单块(仅在启用时显示) |
| BB | 突破块:被收盘价穿越并转换方向的订单块 |
| FVG | 公允价值缺口 |
| IFVG | 反转 FVG:被收盘价穿越并转换方向的缺口 |
| H4 OB、H1 FVG…(虚线边框) | 更高时间周期的订单块或 FVG |
| EQH / EQL(点线) | 等高点 / 等低点 |
| BSL / SSL | 买方 / 卖方流动性(波段高点 / 低点) |
| PDH / PDL、PWH / PWL | 前一日 / 前一周的最高价和最低价 |
| Asia H/L、London H/L | 亚洲时段和伦敦时段的最高价和最低价 |
| 水平名称前的 x(例如 x London L) | 该水平已被扫荡 |
| Premium、EQ、Discount | 当前波段区间的顶部、均衡点(50%)和底部 |
看涨元素使用 bullish color(默认青色),看跌元素使用 bearish color(默认红色)。流动性使用 liquidity color(默认金色)。将鼠标悬停在线条或矩形上,可查看显示精确价格的提示信息。
3. 市场结构

本指标同时跟踪两个层级的结构:
- 波段结构: 由两侧各 Swing structure strength 根K线确认的枢轴点(默认 10)。这是主趋势。
- 内部结构: 由两侧各 Internal structure strength 根K线确认的枢轴点(默认 3)。它显示波段走势内部的波动。波段强度必须大于内部强度。
当一根K线收盘超越最近的枢轴点时,指标会从该枢轴点到突破K线绘制一条突破线:
- BOS(结构突破): 突破方向与当前趋势一致,趋势延续。
- CHoCH(性质转变): 突破方向与当前趋势相反,趋势转向。
Structure breaks shown 限制每个层级绘制的最近突破数量(默认 10)。可以通过 Swing BOS / CHoCH 和 Internal BOS / CHoCH 隐藏任一层级;计算(趋势、订单块、面板)仍会继续运行。
4. 订单块与突破块

订单块是突破结构的那段走势起点处最后一根反向K线:看涨突破前的最后一根阴线,或看跌突破前的最后一根阳线。
- 默认情况下,订单块仅来自波段突破。开启 Order blocks also from internal breaks 可获得更多、更小的区域(标记为 OB i)。
- Order block on the candle body 使用K线实体而不是包含影线的完整范围,使区域更窄。
- 当一根K线收盘穿越订单块时,该订单块结束。开启 Breaker blocks 后,它会以 BB 的形式在另一侧重新出现:被突破的看涨订单块变为看跌突破块,反之亦然。
5. 公允价值缺口与反转 FVG

公允价值缺口是由三根K线构成的失衡:第三根K线的最低价高于第一根K线的最高价(看涨 FVG),或第三根K线的最高价低于第一根K线的最低价(看跌 FVG)。
- Minimum FVG size (x ATR 14) 用于过滤小缺口(默认 0.15 × ATR)。在波动杂乱的品种上调高该值,只保留清晰的缺口。
- 当价格进入缺口时,矩形会缩小为仍未回补的部分。
- 开启 Inversion FVGs 后,被收盘价穿越的缺口会以 IFVG 的形式在另一侧重新出现。
区域何时结束
输入参数 Zone ends at 适用于订单块、突破块和 FVG:
| 选项 | 区域结束的条件 |
|---|---|
| First touch | 价格回到区域内 |
| 50% (consequent encroachment) | 价格到达区域中点 |
| Full fill / close through(默认) | 一根K线收盘超越区域的远端 |
无论选择哪个选项,收盘穿越区域的K线都会生成突破块或反转 FVG。Active zones per type and side 只在图表上保留最新的区域(默认 3),Active zones and levels extend right 设置活动区域和水平线在最后一根K线之后延伸的K线数(默认 15)。
6. 流动性与扫荡

流动性水平是止损单可能集中的价格。本指标绘制:
- 等高点 / 等低点(EQH / EQL): 两个价格大致相同的枢轴点。容差为 Equal highs / lows tolerance (x ATR 14)(默认 0.1 × ATR)。
- 波段高点 / 低点(BSL / SSL): 波段高点上方的买方流动性和波段低点下方的卖方流动性。默认关闭,因为会增加很多线条。
- 前一日和前一周(PDH / PDL / PWH / PWL)。
- 亚洲和伦敦时段的最高价 / 最低价。 在 Auto 模式下,它们会在外汇、CFD 和加密货币品种上绘制,而在 B3 品种上关闭,因为这些时段在那里没有意义。也可以强制设为 On 或 Off。
Active levels per type and side 限制未被触及的水平数量(默认 3)。
当价格交易超越某个水平时,该水平结束。如果拿下该水平的K线收盘回到另一侧,即为一次扫荡(流动性猎取):开启 Mark liquidity sweeps 后,该水平会保留到这根K线,并在名称前加上 x。显示最近的六次扫荡。
7. 溢价区与折价区

当前波段区间从最近的波段高点延伸到最近的波段低点。其中点为均衡点(EQ):
- 价格位于均衡点上方时处于溢价区(在区间内偏贵);
- 位于其下方时处于折价区(在区间内偏便宜)。
面板中的 Price in range 行给出精确位置,从波段低点的 0% 到波段高点的 100%。高于 100% 或低于 0% 的数值表示价格已经位于区间之外,且新的波段枢轴点尚未确认。
8. 更高时间周期

本指标在更高时间周期上运行相同的分析,并以虚线边框绘制其订单块和 FVG,标签中注明时间周期(例如 H4 OB、H4 FVG)。更高时间周期的反转 FVG 不会绘制。
当 Higher timeframe 保持为 current 时,时间周期会自动选择:
| 图表 | 更高时间周期 |
|---|---|
| M1 | M15 |
| M2 至 M5 | H1 |
| M6 至 M30 | H4 |
| H1 至 H4 | D1 |
| 高于 H4 | W1 |
也可以改为选择固定的时间周期;只有当它高于图表时间周期时才会使用。Show higher timeframe order blocks and FVGs 可关闭这些边框,同时保留面板中的方向偏好。
9. 面板

| 行 | 显示内容 |
|---|---|
| Header | 指标名称、交易品种和时间周期 |
| Swing trend | 看涨或看跌,依据最近一次波段突破 |
| Internal trend | 看涨或看跌,依据最近一次内部突破 |
| Bias | M5、M15、H1、H4 和 D1 上的波段趋势(仅显示等于或高于图表的时间周期)。向上三角 = 看涨,向下三角 = 看跌 |
| Price in range | 溢价或折价,以及在波段区间中的位置(第 7 节) |
| Last swing break | 最近一次波段突破的方向、类型(BOS 或 CHoCH)和价格 |
| Active OB / FVG | 活动的看涨/看跌订单块,然后是活动的看涨/看跌 FVG |
| Zones held (history) | 在分析的历史中,订单块和 FVG 被触及后守住的比例 |
| Last events | 最近五条警报(时间和文本),在启用警报时显示 |
当价格触及某个区域后,在收盘穿越它之前先远离它一个 ATR,该区域即计为守住。这是对您所用品种和时间周期历史情况的描述,而不是预测。
面板可以用鼠标拖动;其位置会针对该图表保存。面板会跟随图表背景(深色或浅色)。Panel size (%) 用于缩放面板,Show panel 用于隐藏面板。
10. 输入参数
市场结构
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Internal structure strength (bars each side) | 3 | 确认内部枢轴点所需的两侧K线数 |
| Swing structure strength (bars each side) | 10 | 确认波段枢轴点所需的两侧K线数(必须大于内部值) |
| Swing BOS / CHoCH | true | 绘制波段突破 |
| Internal BOS / CHoCH | true | 绘制内部突破 |
| Structure breaks shown (each scope) | 10 | 绘制的最近突破数量 |
| Bullish color / Bearish color | teal / red | 看涨和看跌元素的颜色 |
订单块与公允价值缺口
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Order blocks | true | 显示订单块 |
| Order blocks also from internal breaks | false | 增加由内部突破产生的订单块 |
| Order block on the candle body | false | 使用K线实体而不是完整K线 |
| Breaker blocks (broken order blocks) | true | 显示突破块 |
| Fair value gaps | true | 显示 FVG |
| Inversion FVGs (closed-through gaps) | true | 显示反转 FVG |
| Minimum FVG size (x ATR 14) | 0.15 | 忽略更小的缺口 |
| Zone ends at | Full fill / close through | 首次触及、50% 或完全回补(第 5 节) |
| Active zones per type and side | 3 | 图表上保留的最新区域 |
| Bullish / bearish order block, bullish / bearish FVG | — | 区域的填充颜色 |
流动性
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Equal highs / lows | true | 显示 EQH / EQL |
| Swing highs / lows (buy-side / sell-side liquidity) | false | 显示 BSL / SSL |
| Previous day and week highs / lows | true | 显示 PDH / PDL / PWH / PWL |
| Asia and London session highs / lows | Auto | Auto(B3 品种上关闭)、On 或 Off |
| Mark liquidity sweeps | true | 标记被拿下后又收盘回到另一侧的水平 |
| Active levels per type and side | 3 | 图表上保留的未触及水平 |
| Equal highs / lows tolerance (x ATR 14) | 0.1 | 两个"相等"枢轴点之间的最大距离 |
| Liquidity color | gold | 水平线的颜色 |
溢价/折价、更高时间周期与交易时段
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Equilibrium of the swing range | true | 显示溢价区、EQ 和折价区 |
| Higher timeframe for bias and zones | current (auto) | 参见第 8 节的表格 |
| Show higher timeframe order blocks and FVGs | true | 更高时间周期的虚线边框 |
| Broker time zone | Auto | 为交易时段确定经纪商时区的方式 |
| Broker GMT offset (fixed mode and tester) | 2 | 固定模式和策略测试器中使用的时差 |
历史与面板
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Bars analysed | 3000 | 使用的历史(最少 200)。K线越多,加载时间越长 |
| Active zones and levels extend right (bars) | 15 | 在最后一根K线之后的延伸长度 |
| Show panel | true | 显示或隐藏面板 |
| Panel size (%) | 100 | 面板缩放比例 |
警报
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Swing BOS / CHoCH | Off | 每次波段突破时发出警报 |
| Liquidity sweep | Off | 水平被扫荡时发出警报 |
| Price enters an order block or FVG | Off | 价格进入活动区域时发出警报 |
| Sound | alert2 | 声音模式使用的声音文件 |
| Also send e-mail | false | 同时通过电子邮件发送警报(在 工具 → 选项 → 电子邮件 中配置邮箱) |
每个警报可设为 Off、Popup、Sound、Smartphone notification,或其中两种的组合。推送通知需要在 工具 → 选项 → 通知 中填写您的 MetaQuotes ID。每个事件在已收盘的K线上只触发一次警报。
11. 供 EA(智能交易系统)使用的缓冲区
本指标提供三个缓冲区,可通过 iCustom 和 CopyBuffer 读取。趋势缓冲区在每根K线上都有值。事件缓冲区仅在确认突破的K线上设置(其他K线上为 0);当波段突破和内部突破发生在同一根K线上时,报告波段突破。
| 缓冲区 | 内容 |
|---|---|
| 0 | 波段趋势:+1 看涨,−1 看跌 |
| 1 | 内部趋势:+1 看涨,−1 看跌 |
| 2 | 结构事件:±1 波段 BOS,±2 波段 CHoCH,±3 内部 BOS,±4 内部 CHoCH(+ 看涨,− 看跌) |
请在已收盘的K线上读取数值(shift 1 及更早)。本指标绘制的对象使用前缀 JSMP_ 。
12. 使用技巧
- 图表上的对象太多? 关闭内部突破,将 Active zones per type and side 设为 1–2,并调高 Minimum FVG size。
- 先看更高时间周期的背景。 使用 Bias 行和更高时间周期的虚线区域,了解图表时间周期在更大格局中所处的位置。
- 先扫荡,再性质转变。 一种常见的读图方式是:等待某个流动性水平被扫荡,随后出现反方向的 CHoCH,再观察这段走势留下的区域。
- 多张图表。 每张图表都有各自的指标副本、各自的面板位置和各自的警报。
- 加载时间。 首次加载时,指标会处理历史数据和更高时间周期;在 M1 上且K线数量较多时,可能需要几秒钟。
技术支持: 请在 MQL5 上给作者发送私信。产品页面:MQL5 市场上的 SMC Structure and Liquidity PRO。


