MT4等量图构建实战指南
用价格变动而非时间重建K线的完整流程
什么是等量图及其起源
等量图(Equivolume Chart)的概念最早由小理查德·W·阿姆斯在《Profits in Volume, Equivolume Charting》一书中系统阐述。传统做法是根据交易量大小调整柱体宽度,交易量越大柱体越宽,从而在视觉上把成交活跃度叠加到价格走势中。本文所讲的等量图并非阿姆斯原版,而是一种变体:用相等数量的价格变动(Tick)来构建每根柱体,而不是用相等的时间周期。也就是说,一根柱里永远包含设定好的 Tick 数,与时间无关。
在股票市场中,成交量数据真实可得,等量图作为量价结合工具很有价值。但外汇市场没有真实的 centralized 成交量,经纪商只提供逐笔报价(Tick)。因此,用 Tick 数量代替成交量,成为外汇交易者重构‘等量’逻辑的可行方案。这种图表能帮助交易者过滤掉低波动时段的无意义噪音,聚焦于真正发生价格博弈的区间。
为什么外汇交易者需要等量图
常规 MT4 图表以时间周期为骨架:M1、M5、H1 等。但在流动性差的时段,一小时可能只有几次报价;在新闻行情中,一分钟却有上百次跳动。时间框架会让‘信息密度’严重不均。等量图通过统一每根柱的信息量(Tick 数),使形态更具可比性:两根 100-Tick 柱无论发生在亚盘还是美盘,内在的市场参与者博弈程度近似。
需要注意的是,作者明确指出本文不探讨如何优选 TicksInBar 参数,也不提供基于等量图的交易系统,仅作为工具交付。交易者拿到工具后,可自行研究不同 Tick 数下支撑阻力的稳定性、突破的有效性等。
- 消除时间框架下的流动性偏差
- 使每根柱承载等量的市场活动样本
- 适合剥头皮与微观结构研究
- 可离线生成历史图表做复盘
第一步:收集价格变动数据
构建等量图的前提是拥有完整的 Tick 记录。最理想的方式是长期运行名为 TickSave 的 EA,它将指定品种的所有 Bid 报价写入 CSV 文件,格式为‘YYYY.MM.DD HH:MM:SS;Bid’。这些文件存放在 terminal/experts/files/[Ticks]/ServerName/ 目录下,命名遵循 Symbol_Year.Month.csv,例如 EURUSD_2008.01.csv。数月数据可合并为一个文件,EA 会根据内容日期自动检索。
并非所有人都能 24 小时开机跑 TickSave。作者给出替代方案:从免费数据源(如 gaincapital.com)下载历史 Tick,手动或借助转换器整理成上述格式,再放入对应目录。本文附带了 2007 年 11 月与 12 月 EURUSD 的现成 Tick 包,读者可直接使用。没有实时采集能力时,图表只能手动更新,但足以进行历史分析。
第二步:用 EqualVolumeBars EA 生成图表
将 EqualVolumeBars EA 放入 experts 目录并编译(F5)。打开目标品种任意周期图表(周期无关),加载 EA 并设置两个关键外部变量:TicksInBar(每柱 Tick 数)、StartYear 与 StartMonth(数据起始年月)。EA 会扫描对应 CSV,按 Tick 计数切分柱体,并在日志输出‘Processed ticks: xxxxx, built full bars: xxxxx’,同时提示打开‘!EqvEURUSDn’离线图表(n 被替换为 TicksInBar 值)。
通过‘文件 → 离线工作’打开该历史文件,即可得到持续更新的非标准图表。若 EA 保持在原图表运行,新报价会自动追加,相当于把离线图变成活图表。作者演示了 TicksInBar 从 1 到 1000 的多种形态:1-Tick 图每个点即一次报价;500-Tick 图则高度压缩,适合宏观观察。
// 伪代码逻辑示意(原文为 MQL4 EA) input int TicksInBar = 100; // 每柱价格变动数量 input int StartYear = 2007; input int StartMonth = 11; // 读取 CSV,按 TicksInBar 计数切分 OHLC // 写入 hst 离线历史文件,时间从 1970.01.01 起逐分钟排列
EA 特性与历史文件机制
MT4 的 hst 历史文件格式文档不全,终端拒绝同一图表出现时间完全相同的两根柱。当 TicksInBar 很小(如 1~5)时,大量 Tick 同秒发生,EA 采用经验法则:所有柱时间从 1970.01.01 00:00 起,每根占下一分钟,忽略真实日历与节假日。因此等量图上的时间标签仅用于排布,不具备日历意义,分析时不可当真。
另一特性是 Tick 忽略:EA 处理完上一 Tick 前若新 Tick 到达,后者被丢弃。小周期图表(如 2-Tick 柱)可能出现开高低收全等的异常柱,因为相等价格间的跳动被跳过。这种失真概率低,但在极小 TicksInBar 下可见,使用者应心中有数。
实操步骤清单
- 下载或采集 Tick 数据至 experts/files/[Ticks]/Server/
- 文件命名 Symbol_YYYY.MM.csv 并放入正确目录
- 编译 EqualVolumeBars EA 并加载到任意周期图
- 设置 TicksInBar、StartYear、StartMonth 外部变量
- 查看日志确认 built full bars 数量
- 文件菜单打开离线图 !EqvSymbol+TicksInBar
- 保持 EA 运行以接收实时 Tick 更新
等量图与其他图表方案对比
与时间框架图相比,等量图信息密度均匀,但丢失时间维度;与 Renko(固定点数砖)相比,等量图以 Tick 计数而非价格跳变触发,更贴近报价流本质;与成交量图(MT4 无真实量)相比,它用 Tick 数代理活跃度,虽不完美但可执行。对于研究高频微观结构或手动复盘新闻行情,等量图具备独特优势,而对于依赖时间周期指标(如日内时段统计)的策略则不适用。
总结而言,等量图是一把双刃剑:它修正了时间框架的信息不均,却引入了时间标签失效与微小失真。交易者应在理解机制的前提下,将它作为补充视角,而非替代标准图表。本文交付的 TickSave 思路与 EqualVolumeBars EA,构成了一套可在 MT4 落地的完整工作流。