Stop Distance Ledger
- 实用工具
- 版本: 1.10
- 更新: 6 九月 2026
- 激活: 10
Stop Distance Ledger 读取本账户自身已平仓的交易历史,显示开仓时实际设置了止损或止盈的比例,以及设置的距离——以开仓价格的百分比表示。它不预测,也不建议,任何地方都不查看交易结果;它只测量已经设置的内容。
为什么需要这个工具
"入场前一定设置止损"是许多交易者打算遵守却很少核对的规则。账户的历史标签逐笔列出交易,却从不统计有多少笔真正设置了止损、多少笔没有,或者那些止损设置的距离有多远。"931笔已平仓仓位中有17笔设置了止损——比率1.8%"——这是这个账户的历史早已拥有的事实,只是从未被统计过。
设置
1. 将EA拖到任意图表上。品种和周期都无关紧要——它读取的是账户全部已平仓交易历史,而不是它运行所在的图表。
2. 面板出现在左上角,并根据本账户自身的历史记录填充数据。
3. 仅当已平仓交易数量发生变化时才重新计算,每60秒检查一次。无需启动或配置任何东西。
4. 不需要其他任何操作。没有需要调整的数值设置。
输入参数(共4个,顺序如下)
- InpShowPanel(默认 true)——显示或隐藏面板。
- InpPanelCorner(默认 左上角)——面板位于图表四个角中的哪一个。
- InpPanelFontSize(默认 9)——面板文字大小,仅用于显示。
- InpColorText(默认 白色)——面板文字颜色。
没有任何数值阈值需要设置。365天的统计窗口是固定值,无法更改。
它只查看什么:仅限开仓订单
本工具读取的是仓位开仓那一刻,该开仓订单上所设置的止损和止盈。MT5不会记录之后对止损或止盈所做的修改——事后修改仓位的止损只会直接更新仓位本身,不会在订单历史中留下任何记录。这是平台本身的限制,而不是本工具的限制:仅凭账户历史,技术上无法完整还原止损的修改历史。本工具回答的问题是"这个仓位一开始是否设置了止损,距离多远",而不是"止损之后是否被移动过"。
面板显示的内容
面板显示过去365天的止损设置率,并在旁边显示背后的具体笔数。下方 Take-profit set rate 显示止盈的同样数据,随后是止损距离和止盈距离的中位数,两者都以开仓价格的百分比表示(设置了该止损/止盈的样本少于5笔时,显示短横线而非数字)。By symbol 按设置止损的笔数排序,列出最多5个品种的止损距离中位数,超出部分归入 Other symbols 一行。当没有可供判断的已平仓历史时,面板会用一行文字说明这一点。
报告文件
CSV文件会写入 MQL5\Files\StopDistanceLedger\stop_distance_report.csv,按月份分组,列为:Month, Symbol, ClosedCount, SLSetCount, MedianSLPercent, TPSetCount, MedianTPPercent。Symbol 为空的行是该月的整体汇总行。每次都会完整重写,而不是追加,因此不会产生重复记录。完整路径会显示在面板上。
测试前须知
策略测试器只拥有那一次测试运行中已平仓的交易历史,因此那里显示的反映的是测试期间的情况,而不是该账户真实的交易历史。它适合用来确认EA运行无误,而不适合把它的数字当作真实账户数据来解读。
它不会做的事
它从不开仓、平仓或修改任何交易,也从不设置或更改止损或止盈——与终端的交易一侧完全没有连接;它只读取仓位开仓时已经存在的信息。它在任何地方都不使用交易结果——只使用是否设置了止损或止盈及其距离。它不包含尚未平仓的仓位——只统计完全平仓的仓位。它不评判止损距离是过近还是过远,也不建议应该使用什么距离。它只读取一个终端上的一个账户,只能追溯到该账户自身交易历史所能到达的范围。
