- 显示:
- 13
- 等级:
- 已发布:
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
其背后的思路
通常用来判断“今天是平静还是剧烈”的方法是“日均波动幅百分比”——即今天的波动幅除以过去N天的平均值。 这种方法虽有参考价值,但仅以均值作为基准,从而掩盖了分布的实际形态:一个总体平稳但偶有剧烈波动的市场,其平均值会被拉高,导致普通波动较小的交易日看起来比实际情况更温和。 而该指标则回答了一个更精准的问题:在最近N个完整交易周期中,有多少百分比的波动范围小于今天迄今为止的波动范围? 这才是真正的百分位排名,直接基于历史波动幅度的经验分布得出,而非单一平均值——这与统计学中用于描述观测值在其自身分布中所处位置的原理相同,此处将其应用于波动率分析。
统计上的紧缩(低百分位数)往往预示着波动幅度的扩大,这就是为何在突破形态形成前,市场通常会密切关注紧缩读数;反之,极高的百分位数则表明当日波动幅度已超过几乎所有历史同类数据,这会改变实际剩余的波动空间。
如何解读
- 百分位数值——在过去InpLookbackPeriods 个完整周期中,其完整波动范围小于当前周期迄今波动范围的周期所占的百分比。12% 意味着今日迄今的波动范围小于过去 100 天中 88% 的波动范围。
- 压缩(默认蓝色)——百分位数等于或低于InpCompressionPercentile;相对于其自身历史,当前时段的波动异常平缓。
- EXPANDED(默认红色)——百分位数等于或高于InpExpansionPercentile;当前期间的波动幅度已超过其历史同期大多数时期。
- 正常(默认银色)——介于两个阈值之间——迄今为止的波动范围普通且无特别之处。
- 仪表条——一个 从 0 到 100 的简单可视化刻度;标记在轨迹上的位置即为百分位数本身,因此无需查看确切数值,即可一目了然地识别压缩和扩张状态。
外部变量(输入)
| 输入 | 默认 | 用途 |
|---|---|---|
| InpRangePeriod | D1 | 哪个时间周期定义一个“区间”——通常为日线,但周线或H4同样适用。 |
| InpLookbackPeriods | 100 | 用于构成当前区间排名基准的已结束历史周期数量。 |
| InpCompressionPercentile | 20.0 | 状态显示为“COMPRESSED”的百分位数及其以下。 |
| InpExpansionPercentile | 80.0 | 状态显示为“已展开”的百分位数(该百分位数及以上)。 |
| 仅在新柱状图时更新输入 | true | 当值为 true 时,每出现一个新的图表柱线刷新一次;当值为 false 时,每出现一个价格点刷新一次。 |
| InpPanelCorner | 左上角 | 面板锚定的图表角。 |
| InpPanelXDistance / InpPanelYDistance | 12 / 18 | 面板相对于所选角点的偏移量,单位为像素。 |
| InpFontSize | 9 | 每行使用的字体大小。 |
| InpGaugeWidth / InpGaugeHeight | 160 / 10 | 百分位数量表轨道的像素尺寸。 |
| InpCompressedColor / InpNormalColor / InpExpandedColor | 深天蓝 / 银色 / 红色 | 用于“状态”行以及三种状态下每个仪表标记的颜色。 |
| InpPanelTextColor / InpPanelBgColor | 白色 / 深灰色 | 静态文本颜色和面板背景颜色。 |
推荐用法
适用于任何符号;百分位数完全根据该符号自身的历史范围分布计算得出,因此它会根据该工具当前所处的波动率状态自动校准,无需手动重新校准。InpRangePeriod 无需与图表本身的时间框架相匹配——从 M15 图表中读取日范围百分位数与从 D1 图表中读取一样容易,因为该计算通过 CopyRates() 直接提取其自身数据。
百分位数描述的是当前价格相对于其自身历史数据的相对位置,而非预测——“压缩”读数会提高价格扩张的可能性,但不能保证一定会发生;而“扩张”读数也不意味着价格走势已经结束。 该指标仅读取价格数据,绝不会下单、修改或平仓,因此可在任何账户类型上安全运行。
该指标仅通过其自身的面板对象进行绘制,不会在每根K线图上造成杂乱,因此可安全地与任意数量的其他叠加指标同时运行。所有图表对象均以单一内部名称前缀创建,并在指标被解除绑定时,通过 OnDeinit() 中的 ObjectsDeleteAll() 完全移除,因此不会在图表上留下任何残留

图 1. XAUUSD H1 图表上的压缩面板和百分位数仪表,标示出压缩区间。根据代码库图像指南,以黑白两色呈现
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/77161
MT5 Symbol Changer Profit Display
EMTOrdersUtility 是一款实时交易监控与符号切换工具,专为需要实时查看其在多种金融工具上持仓情况的活跃交易者而设计。
PulseStrike Scalper - Statistical Burst Detection EA
PulseStrike Scalper——统计式突发信号检测EA
PropFirm Defense
这是一个包含24个MQL5类的库,用于监控任何账户是否符合自营交易公司的规则手册——包括回撤、日亏损、盈利稳定性、最低交易天数、新闻禁令等——一旦出现违规,该库会立即平仓,且绝不会自行开仓。
GDS Renko Replay Trainer
GDS Renko 回放训练器是一款免费的教学工具,用于在 MetaTrader 5 的历史 Renko 图表上练习手动决策。 加载历史时间段,向前回放并下达虚拟的买入或卖出交易。 您可以暂停、向前推进一个报价点,或跳转至下一个已完成的Renko砖块。每个虚拟头寸均设有止损和止盈,且该训练工具会记录您的交易会话结果。 该工具基于历史买价/卖价报价点构建固定大小的Renko砖块,并采用经典的两砖反转模式。 未来的价格 tick 不会用于绘制可见图表或执行虚拟交易。买入交易以卖价入场、以买价平仓;卖出交易则相反。在面板上输入的订单将等待下一个回放的有效 tick。止损和止盈会在每个 tick 时进行检查,包括价格跳空的情况。