Contract Change Watch
- 实用工具
- 版本: 1.11
- 更新: 5 九月 2026
- 激活: 10
Contract Change Watch 读取本账户所连接经纪商设定的品种参数,并在数值发生变化的瞬间记录下来。它不预测,也不建议。日志中的每一条记录都已经发生:这个账户的经纪商实际设定的某个数值,在片刻之前与现在不同。
为什么需要它:经纪商可以随时更改品种的隔夜利息率、止损水平、交易量步长、所需保证金,以及另外六项参数,而终端不会显示任何通知。规格对话框始终只显示当前值。除非在变化发生之前就有东西在记录,否则无法知道某个数值是否变化了,或者变化了多少。
设置步骤:
1. 将该EA拖到任意图表上。品种和周期都无关紧要——它读取的是市场报价窗口中的每一个品种,而不仅仅是它所运行的那张图表。
2. 面板出现在左上角。首次运行时,会为每个被监视的品种保存基准值,并显示 Changes recorded 0。
3. 此后每隔60秒,将当前数值与基准值进行比较。变化在被检测到的那一刻就会被记录。
4. 不需要其他任何操作。没有需要调整的数值设置。
输入参数(共七项,按此顺序):
InpShowPanel(默认 true)——显示或隐藏面板。
InpPanelCorner(默认左上角)——面板显示在图表四个角中的哪一个。
InpPanelFontSize(默认 9)——面板文字大小,仅影响显示。
InpColorText(默认白色)——面板文字颜色。
InpAlertScreen(默认 false)——屏幕提醒。
InpAlertPush(默认 false)——推送通知。
InpAlertEmail(默认 false)——邮件通知。
没有任何数值阈值设置。60秒的轮询间隔与17项监视属性的清单都是固定的,无法更改。
监视的内容(17项属性,仅读取——从不计算):
隔夜利息相关4项(多头利率、空头利率、隔夜利息模式、三倍隔夜利息的星期)。
交易限制相关5项(止损水平、冻结水平、最小交易量、最大交易量、交易量步长)。
合约相关5项(合约大小、初始保证金、点值、最小变动价位、小数位数)。
模式相关3项(交易模式、浮动点差标志、执行模式)。
这17项数据全部直接取自本账户上该品种自身的属性,没有任何一项是估算得出的。
日志:每一次检测到的变化都会写入一个CSV文件,列为 DetectedAt, Symbol, Field, OldValue, NewValue, Kind。数值发生变化时 Kind 为 CHANGED,某个品种首次出现时为 NEW_SYMBOL。该文件只做追加,从不覆盖,因此即使终端重启,完整的历史记录依然保留。文件的完整路径会显示在面板上,无需另行查找。面板本身只显示最近的十条变化;文件则保存全部记录。
关于点值的说明:17项属性之一的点值,虽由经纪商设定,但当某个品种的结算货币与账户货币不同时,它也会随市场价格波动而变化——例如,一个使用日元账户的交易者在关注以美元或欧元计价的交叉货币对。对于这类品种,Contract Change Watch 几乎会在每一次轮询周期都记录到点值的变化,因为是市场本身在推动经纪商发布的这个数字,而不是经纪商在更改设置。这不是缺陷,也不是经纪商方面的设置变更,而是 MetaTrader 对这类品种计算点值的方式本身如此。其余16项属性则不会这样表现——在一般账户上,其中大多数会长时间完全没有任何变化,这才是预期中的平静状态。
测试之前须知:策略测试器只能针对单一品种运行,因此无法像实盘或模拟图表那样展示跨账户的监视效果。将其加载到测试器中,EA 仍会保存基准值并按计划进行轮询——这有助于确认它能无错误运行——但不会显示其他品种上经纪商方面的变化,因为测试器并不会模拟与它们的真实经纪商连接。
它不会做的事:它绝不会下单、平仓或修改订单——它与终端的交易部分完全没有连接。它不会说明数值为何变化——经纪商的理由不会向终端公开。它不比较经纪商,也不建议更换经纪商。它无法看到首次附加之前的设置——只记录此后发生的变化。如果变化发生时终端处于关闭状态,该变化会在终端下次运行时被检测并记录,记录的是检测时间,而不是变化实际生效的那一刻。
