Trade Duration Profile
- 实用工具
- 版本: 1.10
- 更新: 6 九月 2026
- 激活: 10
Trade Duration Profile 读取本账户自身已平仓的交易历史,以分布而非单一平均值的方式,展示仓位实际持有了多长时间。它不预测,也不建议。它从不查看交易结果,只测量时间。
为什么需要这个工具
大多数交易者对自己的风格只有模糊的印象——"我基本上是短线党","我倾向于持仓较久"——但背后并没有真正的数字支撑。账户的历史标签逐笔列出交易,却从不汇总它们实际持有了多久、哪个品种持仓时间最长,或者周一的交易是否比周五的交易持续更久。"我的持仓中位数是42分钟,但仅XAUUSD一项就接近3小时"——这是这个账户早已拥有的事实,只是从未被统计过。
设置
1. 将EA拖到任意图表上。品种和周期都无关紧要——它读取的是账户全部已平仓交易历史,而不是它运行所在的图表。
2. 面板出现在左上角,并根据本账户自身的历史记录填充数据。
3. 仅当已平仓交易数量发生变化时才重新计算,每60秒检查一次。无需启动或配置任何东西。
4. 不需要其他任何操作。没有需要调整的数值设置。
输入参数(共4个,顺序如下)
- InpShowPanel(默认 true)——显示或隐藏面板。
- InpPanelCorner(默认 左上角)——面板位于图表四个角中的哪一个。
- InpPanelFontSize(默认 9)——面板文字大小,仅用于显示。
- InpColorText(默认 白色)——面板文字颜色。
没有任何数值阈值需要设置。365天的统计窗口、7个持仓时长区间以及计算中位数所需的最小样本量,全部是固定值,无法更改。
面板显示的内容
过去365天内每一笔已平仓的仓位,都会按从开仓到平仓的持有时长被归入7个区间之一:少于5分钟、5至30分钟、30分钟至2小时、2至8小时、8至24小时、1至7天,以及超过7天。面板会在账户整体持仓时长中位数旁边,显示每个区间的数量。
下方的 By symbol 列出该账户交易最活跃品种(按交易笔数排序,最多5个;超出部分不会去猜测,而是直接不显示)的持仓时长中位数。By weekday 则按开仓当天是星期几(周一至周五)拆分同一中位数。样本数少于5笔的品种或星期,会显示短横线而非数字——样本太小,没有意义。
报告文件
CSV文件会写入 MQL5\Files\TradeDurationProfile\duration_report.csv,按月份分组,包含三种行——整体行、按品种行和按星期行——列为:Month, Symbol, Weekday, Count, MedianDurationSeconds。每次都会完整重写,而不是追加,因此不会产生重复记录。完整路径会显示在面板上。
测试前须知
策略测试器只拥有那一次测试运行中已平仓的交易历史,因此那里显示的反映的是测试期间的情况,而不是该账户真实的交易历史。它适合用来确认EA运行无误,而不适合把它的数字当作真实账户数据来解读。
它不会做的事
它从不开仓、平仓或修改任何交易——与终端的交易一侧完全没有连接。它在任何地方都不使用交易结果——只使用仓位何时开仓、何时平仓这两个时间点。它不包含尚未平仓的仓位——只统计完全平仓的仓位,因此这里的任何内容都不会反映仍在进行中的交易。它不评判持仓时间是过长还是过短,也不建议改变持仓时长。它只读取一个终端上的一个账户,只能追溯到该账户自身交易历史所能到达的范围。
