每个把指标变成提醒或交易的工具都会问同一个问题:信号在哪个缓冲区里?答案是一个很小的数字,比如 0、1、2,但指标不会在任何地方显示它;如果指标是在 Market 上购买的,也没有源代码可查。下面介绍三种找到它的方法,从最快的到最完整的。
1. Data Window(Ctrl+D)
打开 Data Window(数据窗口),把鼠标移到带箭头的 K 线上。指标绘制的每个数值都列在指标名称下方,顺序与其缓冲区一致:第一行是缓冲区 0,第二行是缓冲区 1,依此类推。在出现上分形的 K 线上,第一行有数值,第二行为空;在出现下分形的 K 线上则正好相反。
局限在于:Data Window 只显示被绘制的缓冲区。颜色缓冲区(Heiken Ashi K 线的颜色、双色移动平均线的颜色)和计算缓冲区都是隐藏的,而它们会占用编号,使您看到的缓冲区编号发生偏移。如果指标有颜色缓冲区,从那里开始 Data Window 中的计数就不对了。
2. 为箭头标注编号的免费脚本
Buffer Inspector Kb 在代码库(Code Base)中免费提供,附带源代码。把它拖到已经加载了您的指标的图表上:它会读取图表上每个指标的每个缓冲区,包括隐藏的缓冲区,并把缓冲区编号直接写在箭头旁边——上分形上方标 B0,下分形下方标 B1。对于线,它显示当前值和数值范围;对于颜色缓冲区,它显示颜色编号,因此您一眼就能看出 Heiken Ashi 的颜色是缓冲区 4,取值为 0 和 1。

3. 让缓冲区一览始终在眼前的面板
Indicator Signal Trader Kb 和免费的 Indicator Signal Alerts Kb 加载到图表上时会进行同样的扫描,并把结果保留在面板上:"Buffer 0: ARROWS - 46, the latest on ..."、"Buffer 1: ARROWS - 37 ..."。您选择规则——出现箭头、穿越某一水平、一条线穿越另一条线、颜色变化——然后填入面板上显示的编号即可。两者还在输入参数的第一行为内置指标提供了现成设置。

内置指标缓冲区速查
| 指标(MQL5\Indicators\Examples) | 缓冲区 |
|---|---|
| Fractals | 0 上分形(卖出),1 下分形(买入)——箭头,2 根 K 线后确认 |
| MACD | 0 MACD 线,1 信号线 |
| RSI | 0 RSI |
| Stochastic | 0 %K(主线),1 %D(信号线) |
| CCI | 0 CCI |
| ADX | 0 ADX,1 +DI,2 -DI |
| Bollinger Bands (BB) | 0 中轨,1 上轨,2 下轨 |
| Alligator | 0 颚线,1 齿线,2 唇线 |
| Ichimoku | 0 Tenkan-sen,1 Kijun-sen,2 Senkou Span A,3 Senkou Span B,4 Chikou Span |
| Heiken Ashi | 0-3 开盘价、最高价、最低价、收盘价;4 颜色(0 阳线,1 阴线) |
| Awesome Oscillator | 0 数值,1 颜色(0 上升,1 下降) |
| Parabolic SAR | 0 SAR 点 |
完全没有缓冲区时
如果 Data Window 是空的,脚本也找不到箭头缓冲区,而图表上却能看到箭头,那就说明指标是以图表对象的形式绘制这些箭头的。任何程序都无法通过指标读取这类箭头,因此 EA 和提醒工具都看不到它们。唯一的办法是使用把箭头写入缓冲区的指标版本——购买前值得先问问作者。


