最后由 Btcfox 于 2026-9-15 14:18 编辑
Squeeze Box -- 动量挤压箱体突破指标
一支为交易者打造的「先识别收紧、再等待释放」的趋势起爆工具。
当波动率被压缩到极窄区间时,价格正在蓄力;当它真正突破箱体的瞬间,信号即刻点亮。
一、一句话定位 Squeeze Box(挤压箱体)** 把经典「Bollinger Band Squeeze(布林带挤压)」理念工程化、可视化:以「变异系数加权均线(COVWMA)」作为动态中枢,以「相对带宽挤压度」识别市场收紧,以「箱体锁定 + 收盘穿越」捕捉真实突破,把所有信息一次性铺在主图上 -- 蓝线看中枢、红绿线看箱体、青洋红箭头看信号,零窗口切换、零面板干扰。
二、为什么需要它 只看 K 线,常常遇到三个痛点:
- **横盘不知道横多久。** 均线被反复打穿,方向看不清。
- **突破分不清真假。** 价格刺穿阻力就回头,结果做了"假突破"的接盘侠。
- **信号滞后。** 等到形态走完才反应过来,行情已经走了三分之一。
Squeeze Box 用一种工程化的方式同时回应这三件事:
| 痛点 | Squeeze Box 的应对 |
| 横盘看不清 | 量化「当前带宽 vs 近期最大带宽」,比例低于阈值即认定进入「挤压态」 |
| 突破真假难辨 | 只有当**收盘价穿越箱体边界**才出信号,杜绝影线假突破 |
| 信号滞后 | COVWMA 实时跟随最新价格,低波动期几乎无滞后 |
三、核心机制
3.1 COVWMA -- 不普通的均线
普通均线把近期 N 根价格一视同仁,问题是:**波动剧烈时它被噪声牵着走,波动平淡时它又黏在原地**。
COVWMA 用「变异系数(CV = 标准差 / 均值)」动态调配权重:
- **低波动(CV 小)** → 权重偏向均值 → 中枢更稳、贴近均价;
- **高波动(CV 大)** → 权重偏向最新收盘价 → 中枢快速跟随突变行情。
直观感觉:**风平浪静给你稳稳的方向参考,惊涛骇浪时它又能立刻跟上**
```
weight = 1 / (1 + CV)
Basis = mean × weight + close × (1 − weight)
```
参数控制:
- `InpBBLength`(默认 21):计算 HLC3 均值与标准差的回溯周期。
3.2 挤压(Squeeze)检测
把布林带宽度(`2 × 倍数 × 标准差`)看作「市场的呼吸幅度」:
- - 在 `InpSamplePeriod`(默认 50)根内取最大带宽作为「参照呼吸」;
- - 拿当前带宽除以参照,得到 `squeezeRatio ∈ [0, 1]`;
- - 当 `squeezeRatio ≤ InpSqueezeThresh`(默认 0.85),**视为市场正在收紧**。
> 这套设计的妙处:不依赖绝对带宽数字(不同品种/时段波动量级不同),而是和「自己最近 50 根的最宽时刻」比,**自适应、自归一**,从黄金到外汇、从日盘到美盘都能直接用。
3.3 箱体边界:锁定 + 继承
挤压不是随时发生,箱体的边界自然也不是随时重算:
- - **挤压态内**:上下沿 = 最近 50 根的最高 / 最低,给出"当下真实收敛范围"。
- - **挤压态结束**:箱体**冻结**,继承上一根的上下沿继续绘制。
- - **下一次挤压或突破**到来时才再次更新。
这套"锁定 + 继承"机制让红绿两条线在视觉上成为**持续可见的支撑阻力带**,不是闪一下就消失。
3.4 突破信号:收盘穿越才算数
只看影线 = 容易被假突破骗;只看收盘价 = 等到行情确认。
本指标取**最近两根 K 线的收盘价对比箱体边界**:
- 买入:close[i-1] ≤ 上沿[i-1] 且 close > 上沿
- 卖出:close[i-1] ≥ 下沿[i-1] 且 close < 下沿
复制代码
只有在「上一根还在箱体内、本根明确收在外」时,才点亮箭头:
- 买入箭头(青色 ↑)落在 K 线下方,避免遮住实体;
- 卖出箭头(洋红色 ↓)落在 K 线上方,与趋势方向呼应。
**同一根 K 线只会触发一种信号**,避免重复警报。
四、视觉呈现
主图上一共 5 条线 + 2 条不可见的辅助缓冲,布局自上而下:
| 元素 | 颜色 | 样式 | 含义 |
| ---- | ---- | ---- | ---- |
| COVWMA Basis | 多尔蓝(DodgerBlue) | 实线 2px | 动态中枢(永远在线) |
| Box High | 红色 | 实线 2px | 箱体上沿 / 阻力位 |
| Box Low | 亮绿(LimeGreen) | 实线 2px | 箱体下沿 / 支撑位 |
| Buy Signal | 青色(AQUA) | Wingdings 233 ↑ | 收盘上穿箱体 |
| Sell Signal | 洋红(MAGENTA) | Wingdings 234 ↓ | 收盘下穿箱体 |
> 颜色刻意采用经典红绿/青洋红组合,**主流 MT5 主题(黑/白)下对比度都达标**,不挑背景。
五、参数详解
| 参数 | 默认值 | 取值范围 | 作用 | 调参建议 |
| ---- | ------ | -------- | ---- | -------- |
| `InpBBLength` | 21 | ≥ 2 | COVWMA 与带宽计算周期 | 越大越平滑;建议 14~30 |
| `InpBBMult` | 2.0 | > 0 | 布林带标准差倍数 | 越大越宽松;建议 1.5~2.5 |
| `InpSamplePeriod` | 50 | ≥ 1 | 带宽采样窗口 | 越大越稳定;建议 30~100 |
| `InpSqueezeThresh` | 0.85 | 0.0~1.0 | 挤压激活阈值 | 越小越严格;建议 0.7~0.95 |
**没有未来值**:所有计算只用到当前与历史已收盘的 K 线(`CopyBuffer` 默认从 shift 1 起读),不偷看未确认的当下柱。 |