Margin Usage History
- 实用工具
- 版本: 1.0
- 激活: 10
Margin Usage History 读取本账户自身已平仓的交易历史,显示每次开仓那一刻,通常有多少账户余额被占用为保证金——以百分比表示。它不预测,也不建议,任何地方都不查看交易结果;它只衡量每次投入了账户的多大比例。
为什么需要这个工具
同样的手数,在账户余额较大或较小时意味着完全不同的事情。如果余额减少而手数保持不变,每笔交易占用账户的比例会在无人决定的情况下悄然攀升。"状态好的时候我只投入账户的3%,但亏损开始累积后这个比例升到了15%"——很多交易者事后回顾都会认出这种模式,但账户的历史标签从不做这种汇总,它只是逐笔列出交易。
设置
1. 将EA拖到任意图表上。品种和周期都无关紧要——它读取的是账户全部已平仓交易历史,而不是它运行所在的图表。
2. 面板出现在左上角,并根据本账户自身的历史记录填充数据。
3. 仅当已平仓交易数量发生变化时才重新计算,每60秒检查一次。无需启动或配置任何东西。
4. 不需要其他任何操作。没有需要调整的数值设置。
输入参数(共4个,顺序如下)
- InpShowPanel(默认 true)——显示或隐藏面板。
- InpPanelCorner(默认 左上角)——面板位于图表四个角中的哪一个。
- InpPanelFontSize(默认 9)——面板文字大小,仅用于显示。
- InpColorText(默认 白色)——面板文字颜色。
没有任何数值阈值需要设置。365天的统计窗口是固定值,无法更改。
数字是如何得出的
对于每一笔已平仓仓位,系统会用终端自身的保证金计算方式——使用本账户当前的杠杆和品种设置——估算开仓所需的保证金。由于MT5无法查询过去某一时刻的这些设置,这是一种刻意公开说明的估算方式,而不是本工具的缺陷。该仓位开仓那一刻的账户余额,是从当前余额向前反推重建的——扣除该仓位开仓之后发生的每一笔平仓结果、隔夜利息、手续费,以及入金和出金。仍在持仓中的浮动盈亏不参与这项计算。
面板显示的内容
面板显示过去365天保证金占用比例的中位数——即每次开仓时占用账户余额比例的中间值——并在旁边显示背后的仓位总数。下方的 Highest committed margin 显示该时段内观测到的最大占用比例。By symbol 按可测算仓位的数量排序,列出最多5个品种的保证金占用比例中位数,超出部分归入 Other symbols 一行。当没有可供测算的已平仓历史时,面板会用一行文字说明这一点。
报告文件
CSV文件会写入 MQL5\Files\MarginUsageHistory\margin_usage_report.csv,按月份分组,列为:Month, Symbol, ClosedCount, MedianMarginPercent。Symbol 为空的行是该月的整体汇总行。每次都会完整重写,而不是追加,因此不会产生重复记录。完整路径会显示在面板上。
测试前须知
策略测试器只拥有那一次测试运行中已平仓的交易历史,因此那里显示的反映的是测试期间的情况,而不是该账户真实的交易历史。它适合用来确认EA运行无误,而不适合把它的数字当作真实账户数据来解读。
它不会做的事
它从不开仓、平仓或修改任何交易——与终端的交易一侧完全没有连接;它只从已存在的历史中读取和计算。它不使用交易结果来评判任何事情——每笔已平仓交易的结果仅在内部用于重建各个时间点的账户余额,不会作为数字显示在任何地方。它不包含尚未平仓的仓位——只统计完全平仓的仓位,浮动盈亏不参与这项计算。它不评判保证金占用比例是过高还是过低,也不建议应该使用什么比例。它只读取一个终端上的一个账户,只能追溯到该账户自身交易历史所能到达的范围。
