smc
类别:趋势 · 复合指标 · 🧪 莫比乌斯实验室 · 关键词:smc, smart money concepts, ict, bos, choch, break of structure, change of character, order block
返回说明
需要解读说明时,使用 POST /api/indicators?explain=true,读取 indicators[响应key].explain。指标数值位于同一对象的 columns 和 data 中。
SMC (Smart Money Concepts) 智能资金概念:BOS / CHoCH 结构突破、Order Block 订单块、Fair Value Gap 公允价值缺口、EQH/EQL 等高等低、Premium / Discount 区间。输出 14 列 per-bar 状态 + objects 结构化几何对象。
参数
| 参数 | 类型 | 默认值 |
|---|---|---|
mode | string | historical |
internal_size | int | 5 |
internal_filter_confluence | bool | false |
internal_show_bull | string | all |
internal_show_bear | string | all |
swing_size | int | 50 |
swing_show_bull | string | all |
swing_show_bear | string | all |
show_swing_points | bool | false |
show_strong_weak_hl | bool | true |
internal_ob_max | int | 5 |
swing_ob_max | int | 5 |
ob_filter | string | atr |
ob_mitigation | string | highlow |
eq_size | int | 3 |
eq_threshold | float | 0.1 |
fvg_auto_threshold | bool | true |
fvg_timeframe | string | `` |
fvg_extend | int | 1 |
show_daily_levels | bool | false |
show_weekly_levels | bool | false |
show_monthly_levels | bool | false |
show_premium_discount_zones | bool | false |
show_color_candles | bool | false |
输出列
| 列名 | 含义 |
|---|---|
smc_atr200 | ATR(200) Wilder 平滑,EQH/EQL 阈值的基准 |
smc_parsed_low | OB 算法用的解析低 (反取) |
smc_volatility | 波动度量 (atr 或累积均 TR,按 ob_filter 参数选) |
smc_parsed_high | OB 算法用的解析高 (高波动 bar 取 low,否则取 high) |
smc_swing_trend | swing 趋势 bias:-1=bear, 0=未确定, +1=bull |
smc_candle_color | show_color_candles=true 时按 internal_trend 染色:bull / bear / null |
smc_high_vol_bar | 本根是否高波动 K 线 ((high-low) >= 2×volatility) |
smc_trailing_top | trailing 极值高 (自上次 swing pivot 起的 running max) |
smc_internal_trend | 内部结构趋势 bias:-1 / 0 / +1 |
smc_trailing_bottom | trailing 极值低 (running min) |
smc_swing_low_active | 当前活跃 swing 低点价位 |
smc_swing_high_active | 当前活跃 swing 高点价位 (前向填充至下次 pivot 更新) |
smc_internal_low_active | 当前活跃内部结构低点价位 |
smc_internal_high_active | 当前活跃内部结构高点价位 |
SMC 结果另含 objects,用于读取结构事件、订单块、缺口和区间对象。internal 表示较短尺度的市场结构。
特征信号
在计算请求顶层设置 signals: true,读取 indicators[响应key].signals。默认仅在收盘后判断。true 表示事件发生或状态成立,false 表示可判断但不成立,null 表示不可判断。这些不是买卖指令。
本指标支持 include_forming: true:将末根当前 OHLCV 作为完整样本按下表原规则试算,仍输出同一份数值、特征与对象。信号表末尾增加 bar_status 列:closed 为收盘计算,forming 为盘中试算,后者 confirmed_at_ms=null,特征可在后续更新或收盘时消失。BYO 末根形成中仍需设置 last_bar_closed: false。下表及附注中的收盘要求描述默认模式;试算只放开末根参与资格,不缩短结构窗口或降低模型确认条件。盘中试算用法。
下表历史长度为最低判断要求,不保证平滑值已完全收敛。前后比较使用未舍入数值;阈值恰好相等时按表中边界处理。输入缺口、依赖值无效或默认模式下未收盘时不要把 null 转为 false。
| 特征列 | 类型 | 判断逻辑 | 代表含义 | 所需历史 / 有效条件 |
|---|---|---|---|---|
smc.internal_bullish_bos | event | internal 未消费的高枢轴被 close 严格突破;突破前方向不相反(含初始未知)时分类为 BOS。 | 原生市场结构突破或性质改变;枢轴只消费一次。internal 还遵循枢轴不与 swing 重合及可选影线过滤。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.internal_bearish_bos | event | internal 未消费的低枢轴被 close 严格跌破;突破前方向不相反(含初始未知)时分类为 BOS。 | 原生市场结构突破或性质改变;枢轴只消费一次。internal 还遵循枢轴不与 swing 重合及可选影线过滤。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.internal_bullish_choch | event | internal 未消费的高枢轴被 close 严格突破;突破前方向相反时分类为 CHOCH。 | 原生市场结构突破或性质改变;枢轴只消费一次。internal 还遵循枢轴不与 swing 重合及可选影线过滤。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.internal_bearish_choch | event | internal 未消费的低枢轴被 close 严格跌破;突破前方向相反时分类为 CHOCH。 | 原生市场结构突破或性质改变;枢轴只消费一次。internal 还遵循枢轴不与 swing 重合及可选影线过滤。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.swing_bullish_bos | event | swing 未消费的高枢轴被 close 严格突破;突破前方向不相反(含初始未知)时分类为 BOS。 | 原生市场结构突破或性质改变;枢轴只消费一次。internal 还遵循枢轴不与 swing 重合及可选影线过滤。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.swing_bearish_bos | event | swing 未消费的低枢轴被 close 严格跌破;突破前方向不相反(含初始未知)时分类为 BOS。 | 原生市场结构突破或性质改变;枢轴只消费一次。internal 还遵循枢轴不与 swing 重合及可选影线过滤。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.swing_bullish_choch | event | swing 未消费的高枢轴被 close 严格突破;突破前方向相反时分类为 CHOCH。 | 原生市场结构突破或性质改变;枢轴只消费一次。internal 还遵循枢轴不与 swing 重合及可选影线过滤。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.swing_bearish_choch | event | swing 未消费的低枢轴被 close 严格跌破;突破前方向相反时分类为 CHOCH。 | 原生市场结构突破或性质改变;枢轴只消费一次。internal 还遵循枢轴不与 swing 重合及可选影线过滤。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.internal_bullish_order_block_mitigated | event | internal 活跃 bullish 订单块首次被low 或 close 严格跌破 bottom;价格源由 ob_mitigation 指定。 | 订单块被突破失效,不是订单块新建,也不是订单成交。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.internal_bearish_order_block_mitigated | event | internal 活跃 bearish 订单块首次被high 或 close 严格突破 top;价格源由 ob_mitigation 指定。 | 订单块被突破失效,不是订单块新建,也不是订单成交。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.swing_bullish_order_block_mitigated | event | swing 活跃 bullish 订单块首次被low 或 close 严格跌破 bottom;价格源由 ob_mitigation 指定。 | 订单块被突破失效,不是订单块新建,也不是订单成交。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.swing_bearish_order_block_mitigated | event | swing 活跃 bearish 订单块首次被high 或 close 严格突破 top;价格源由 ob_mitigation 指定。 | 订单块被突破失效,不是订单块新建,也不是订单成交。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.equal_highs | event | 相邻已确认同类枢轴的价差绝对值 < eq_threshold × 本根 smc_atr200。 | 两个同类枢轴在原有 ATR 容差内接近;不是价格完全相等,也不保证反转。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.equal_lows | event | 相邻已确认同类枢轴的价差绝对值 < eq_threshold × 本根 smc_atr200。 | 两个同类枢轴在原有 ATR 容差内接近;不是价格完全相等,也不保证反转。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.bullish_fair_value_gap | event | low[t] > high[t-2] 且 close[t-1] > high[t-2] 且 delta > threshold。 | 三根 K 线形成原生价格缺口;事件归属第三根收盘,不回填到中间柱的对象时间。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.bearish_fair_value_gap | event | high[t] < low[t-2] 且 close[t-1] < low[t-2] 且 -delta > threshold。 | 三根 K 线形成原生价格缺口;事件归属第三根收盘,不回填到中间柱的对象时间。 | 连续输入;结构/订单块至少对应 size + 1 根,等高低至少 eq_size + 1 根,FVG 至少 3 根 |
smc.internal_bullish_bos
- internal_filter_confluence=true 时,看涨要求上影线 > 下影线,看跌要求上影线 < 下影线;沿用实际计算条件。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.internal_bearish_bos
- internal_filter_confluence=true 时,看涨要求上影线 > 下影线,看跌要求上影线 < 下影线;沿用实际计算条件。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.internal_bullish_choch
- internal_filter_confluence=true 时,看涨要求上影线 > 下影线,看跌要求上影线 < 下影线;沿用实际计算条件。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.internal_bearish_choch
- internal_filter_confluence=true 时,看涨要求上影线 > 下影线,看跌要求上影线 < 下影线;沿用实际计算条件。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.swing_bullish_bos
- internal_filter_confluence=true 时,看涨要求上影线 > 下影线,看跌要求上影线 < 下影线;沿用实际计算条件。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.swing_bearish_bos
- internal_filter_confluence=true 时,看涨要求上影线 > 下影线,看跌要求上影线 < 下影线;沿用实际计算条件。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.swing_bullish_choch
- internal_filter_confluence=true 时,看涨要求上影线 > 下影线,看跌要求上影线 < 下影线;沿用实际计算条件。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.swing_bearish_choch
- internal_filter_confluence=true 时,看涨要求上影线 > 下影线,看跌要求上影线 < 下影线;沿用实际计算条件。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.internal_bullish_order_block_mitigated
- 同根多个同类订单块失效合并为 true;后续保持失效不重复触发。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.internal_bearish_order_block_mitigated
- 同根多个同类订单块失效合并为 true;后续保持失效不重复触发。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.swing_bullish_order_block_mitigated
- 同根多个同类订单块失效合并为 true;后续保持失效不重复触发。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.swing_bearish_order_block_mitigated
- 同根多个同类订单块失效合并为 true;后续保持失效不重复触发。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.equal_highs
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.equal_lows
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.bullish_fair_value_gap
- delta=(close[t-1]-open[t-1])/(open[t-1]×100);自动阈值为截至本根的 mean(abs(delta))×2,否则为 0。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
smc.bearish_fair_value_gap
- delta=(close[t-1]-open[t-1])/(open[t-1]×100);自动阈值为截至本根的 mean(abs(delta))×2,否则为 0。
- 事件来自原始判断,不受 mode=present、结构显示筛选或 K 线着色影响。仅在本根收盘后输出。
格式与示例见特征调用说明。/api/chart 同样可设置 signals: true,默认只标记已确认事件;开启 include_forming 后盘中事件也可生成标记,并带 bar_status=forming,状态不逐根绘制。参见信号绘图。
注意事项
SMC 信号有延迟:swing pivot 需 size 根 K 线后才确认 (swing_size=50 即 50 根滞后),BOS/CHoCH 在 close 突破时立即触发但 pivot 本身滞后。Order Block 是用历史 K 线反推,新形成时仍可能调整。FVG 阈值在低波动期容易过多触发。所有事件都是结构性预警,不替代仓位管理与止损。
调用示例
curl -X POST -H "Authorization: Bearer mq_xxx" \
-H "Content-Type: application/json" \
-d '{
"exchange": "binance",
"market": "perp",
"symbol": "BTCUSDT",
"interval": "5m",
"limit": 100,
"signals": true,
"calc": [{"name": "smc", "params": {"mode": "historical", "internal_size": 5, "internal_filter_confluence": false, "internal_show_bull": "all", "internal_show_bear": "all", "swing_size": 50, "swing_show_bull": "all", "swing_show_bear": "all", "show_swing_points": false, "show_strong_weak_hl": true, "internal_ob_max": 5, "swing_ob_max": 5, "ob_filter": "atr", "ob_mitigation": "highlow", "eq_size": 3, "eq_threshold": 0.1, "fvg_auto_threshold": true, "fvg_timeframe": "", "fvg_extend": 1, "show_daily_levels": false, "show_weekly_levels": false, "show_monthly_levels": false, "show_premium_discount_zones": false, "show_color_candles": false}}]
}' \
https://api.mobiusquant.ai/api/indicators同类指标
alligator · alma · ema · hma · hmm_regime · lsma · mcginley_dynamic · mobius_trend