Weekend Hold Report
- 实用工具
- 版本: 1.0
- 激活: 10
Weekend Hold Report 读取本账户自身已平仓的交易历史,统计仓位跨越周末持有的次数——只是一个简单的计数、按品种的细分,以及这些跨周末仓位的实际持有时长。它不做判断,也不给建议,任何地方都不查看交易结果;它只计数和计时。
为什么需要这个工具
跨周末持有仓位,很少是刻意的计划——大多数人都是事后才注意到。账户的历史标签逐笔列出交易,却从不标记哪些跨越了星期六、涉及了多少个品种,或者这些跨周末仓位到底持有了多久。"去年有17次跨周末持仓,其中9次是XAUUSD"——这是这个账户的历史早已拥有的事实,只是从未被统计过。
设置
1. 将EA拖到任意图表上。品种和周期都无关紧要——它读取的是账户全部已平仓交易历史,而不是它运行所在的图表。
2. 面板出现在左上角,并根据本账户自身的历史记录填充数据。
3. 仅当已平仓交易数量发生变化时才重新计算,每60秒检查一次。无需启动或配置任何东西。
4. 不需要其他任何操作。没有需要调整的数值设置。
输入参数(共4个,顺序如下)
- InpShowPanel(默认 true)——显示或隐藏面板。
- InpPanelCorner(默认 左上角)——面板位于图表四个角中的哪一个。
- InpPanelFontSize(默认 9)——面板文字大小,仅用于显示。
- InpColorText(默认 白色)——面板文字颜色。
没有任何数值阈值需要设置。365天的统计窗口、跨周末持仓的判定标准以及计算中位数所需的最小样本量,全部是固定值,无法更改。
什么算作跨周末持仓
如果一笔已平仓仓位从开仓到平仓的区间内包含服务器时间的星期六,它就会被计入统计。这是一条固定的日历日规则,而不是经纪商实际的休市时间——终端无法可靠读取确切的休市与开市时刻,因此该规则对每个账户都保持一致且简单:只要开仓与平仓之间落入任何一个星期六,该仓位就算作一次,无论它跨越了多少个星期六。
面板显示的内容
面板会显示过去365天内跨周末已平仓仓位的总数,并在旁边显示其占同期全部已平仓仓位的比例。下方的 By symbol 按数量列出最多5个品种的跨周末持仓次数,超出部分归入 Other symbols 一行。Median hold 只显示跨周末仓位的持仓时长中位数——这是一个与账户整体持仓时长不同的独立数字——当跨周末仓位少于5笔时,显示短横线而非数字。当该范围内没有跨周末仓位时,面板会用一行文字说明这一点。
报告文件
CSV文件会写入 MQL5\Files\WeekendHoldReport\weekend_report.csv,按月份分组,列为:Month, Symbol, Count, MedianHoldSeconds。Symbol 为空的行是该月的整体汇总行。每次都会完整重写,而不是追加,因此不会产生重复记录。即使完全没有跨周末仓位,它仍会为当前月份写入一行计数为零的记录。完整路径会显示在面板上。
测试前须知
策略测试器只拥有那一次测试运行中已平仓的交易历史,因此那里显示的反映的是测试期间的情况,而不是该账户真实的交易历史。它适合用来确认EA运行无误,而不适合把它的数字当作真实账户数据来解读。
它不会做的事
它从不开仓、平仓或修改任何交易——与终端的交易一侧完全没有连接,也不会在周末前自动平仓;它只统计已经发生的事。它在任何地方都不使用交易结果——只使用仓位何时开仓、何时平仓,以及其品种。它不包含尚未平仓的仓位——只统计完全平仓的仓位。它不评判跨周末持仓是好决定还是坏决定,也不建议改变交易方式。它只读取一个终端上的一个账户,只能追溯到该账户自身交易历史所能到达的范围。
