Force Index with Adaptive Volatility Bands
- 指标
-
Narayanan Mohanan Mohanan Krishnan
专注于开发 MT5/MQL5 Expert Advisor、自定义指标以及回测与验证工具。我坚持编写结构清晰、文档完善、无重绘(No Repaint)的代码,采用收盘K线逻辑、经过验证的缓冲区(Buffers)、规范的句柄(Handle)与内存管理。这些工程实践正是可靠工具与脆弱实现之间的区别。
我始终按照明确的需求规格进行开发,在开始编码之前主动指出任何存在歧义的地方,并交付自己能够充分解释并负责到底的代码。如果您需要 Expert Advisor、技术指标,或现有项目的修复与升级,欢迎随时联系我。 - 版本: 1.0
本指标绘制 力度指数(Force Index) —— 即每根 K 线的价格变动乘以其成交量 —— 并将其置于自适应的标准差通道之中。价格本身只能告诉您市场移动了,而力度指数告诉您推动这次移动付出了多大的力气。
成交量稀薄下的大幅价格变动,与成交量沉重下的小幅变动,是截然不同的两件事,即便 K 线看起来相似。力度指数把两者合并为一个数值来加以区分,而通道则将这个数值放入该品种自身近期表现的背景中。
工作原理
对每根 K 线而言,原始力度指数等于当前收盘价与前一根收盘价之差,再乘以该 K 线的成交量。收盘走高时为正值,走低时为负值,其大小则随成交量而缩放。默认使用 Tick 成交量;当经纪商提供真实成交量时会自动采用。
随后,该原始序列会按您选择的周期与均线算法进行平滑处理。平滑在这里十分关键:未经平滑的力度指数噪声极大,而您所选的周期决定了您观察的是短期力度,还是一段长得多的波动。
接着在平滑后的序列上计算 20 周期基准线及其标准差,上下通道按所选的标准差倍数绘制。由于通道由序列自身的变动性构建,因此在力度变得不稳定时扩张,在其趋于平稳时收缩。
通道为何重要
力度指数随成交量缩放,因此其绝对数值在不同品种之间不具可比性。在本页附带的截图中,同一个指标、同一套设置,在 ETHBTC 上读数大致在正负 2 之间,在 GBPUSD 上大致在正负 10 之间,而在 TSLA 上则达到数万。这些数字单独来看都没有意义。
这正是通道所要解决的问题。它们不问某个数值在绝对意义上是否很大,而是问它对这个品种、在此刻是否很大 —— 这个问题在任何图表上含义都相同。也正因如此,同一套默认参数才能跨越相差四个数量级的市场。
通道说明了什么
力度指数围绕零轴波动,而零轴本身即具含义:在零轴之上,收盘价相对于成交量在推进;在零轴之下,则在回落。
数值运行至通道之外,意味着近期 K 线背后的力度相对于该品种自身近期的表现已进入统计意义上的异常区间;回到通道之内则意味着已恢复常态。两者本身都不是交易信号 —— 它们描述的是力度相对于自身近期区间当前所处的位置。
交易者通常从这一显示中读取三种信息。
由静转动的扩张。 当通道紧紧收拢、线条走平时,力度稳定且平淡无奇。当通道骤然张开,意味着推动行情的成交量出现了变化。之后会如何并不确定 —— 扩张可能延续,也可能消退 —— 但变化本身是立刻可见的。
确认。 价格创出新高或新低,力度指数同步创出新高或新低。该行情由相称的力度所支撑。
背离。 价格创出新低而力度指数却形成更高的低点,或在高点处出现相反情形。价格已经移动,但其背后的力度并未跟随。这只是参考背景,而非预测 —— 背离可能以延续或反转两种方式化解,并且往往持续得比预期更久。
输入参数
- Force Index period —— 默认 13。应用于原始序列的平滑长度。
- Force Index smoothing method —— 默认 SMA;可选 EMA、SMA、SMMA 与 LWMA。
- Applied volume —— Tick 成交量(默认)或真实成交量(需经纪商支持)
- Bands period —— 20
- Bands deviation —— 2.0
力度指数周期是最值得调整的参数。周期越短反应越快,触及通道的次数也越多;周期越长反应越慢,只标记力度上较大的变化。其中一张截图在黄金日线图上使用了 200 周期,用以展示长周期设置的样貌 —— 同一个指标,回答的是另一个问题。
缓冲区
- Buffer 0 —— 力度指数线(已平滑)
- Buffer 1 —— 上轨
- Buffer 2 —— 基准线
- Buffer 3 —— 下轨
这四个缓冲区均可通过 iCustom() 与 CopyBuffer() 从 EA 或其他指标中读取。若需获取不会再变化的数值,请读取 shift 1,即最近一根已完全收盘的 K 线。
本指标完全独立运行:它不创建任何其他指标的句柄,因此您的代码只需管理它自身创建的那一个句柄。
跨品种应用
截图展示了本指标在五个表现迥异的市场上的运行情况。
- GBPUSD H1 —— 图中在正负 1 处绘制了水平参考线。连续两天里,读数始终被夹在这两条线之间,通道紧紧收拢。在标记的那根 K 线处,价格突破区间,读数跃升至约 8.8,通道随之骤然张开。固定参考线使这种量级变化一眼可辨。
- TSLA H1 —— 一次股票抛售。力度随价格下跌而深跌至下轨之下,随后回升至零轴附近,并在价格转入区间震荡时稳定在通道之内。
- DE30 M10 —— 欧洲开盘时段的指数。隔夜数小时读数近乎平直、通道紧紧收拢,随后随着开盘与成交量涌入而急剧扩张。
- XAUUSD 日线,周期 200 —— 黄金上的长周期设置。1 月高点处出现一次尖峰,随后在长达数月的下跌过程中持续保持负值读数。
- ETHBTC H4 —— 一个加密货币交叉盘,整个读数大致落在正负 2 以内。通道对这一量级的适应方式,与在规模大上数千倍的品种上完全相同。
计算特性
所有数值仅依据已完成的数据计算。K 线一旦收盘,其数值即为最终值且不再改变。只有当前正在形成的 K 线会随新 Tick 数据更新,并在该 K 线收盘时定格。本指标不使用未来数据(look-ahead),也不会对已收盘的 K 线进行重绘。
说明
- 独立指标窗口,4 个绘图,5 个缓冲区(其中一个为内部使用)。
- 在默认设置下,通道开始绘制前约需 33 根 K 线的历史数据。力度指数周期越长,所需数据越多。
- Tick 成交量是实际成交量的替代指标。在经纪商提供真实成交量的品种上,选择真实成交量可获得更贴近实际的读数。
- 无外部依赖。 力度指数、基准线与标准差通道全部在指标内部计算。它不调用任何其他指标,因此不存在可能失效的句柄,无需额外安装任何组件,也不依赖您标准指标文件夹的状态。
本指标是一款技术分析与市场状态过滤工具。它不是交易系统,不生成交易信号,不提供投资建议,也不会自动开仓或管理交易。本指标不作任何绩效声明。
本指标免费下载使用。如果它对您有帮助,一个评分能帮助更多交易者找到它。
| 该开发者的其他工具 我开发 MT5 指标与智能交易系统(EA),注重代码的整洁、完善的文档与不重绘特性:基于收盘 K 线的逻辑、经过验证的缓冲区,以及不依赖任何其他指标的独立架构。 对计算方法、缓冲区,或如何在您自己的 EA 中使用本指标有疑问?请给我发送私信,我很乐意解答。 |
开发与维护:Narayanan Mohanan,MT5/MQL5 开发者。
如您发现本页译文有误,欢迎与我联系,我会及时更正。
