EA: M1 GOLD SCALPER PRO 品种: XAUUSD.c
报告A = IS-ReportTester-52845377.xlsx 报告B = OSS-ReportTester-52845377.xlsx
| 参数 | 报告A | 报告B |
|---|---|---|
ShowPanel | true | ✓ 一致 |
Panel_X | 20 | ✓ 一致 |
Panel_Y | 30 | ✓ 一致 |
Panel_W | 543 | ✓ 一致 |
Panel_H | 181 | ✓ 一致 |
FilterTradingHours | false | ✓ 一致 |
Exit | true | ✓ 一致 |
USEMOVETOBREAKEVEN | false | ✓ 一致 |
WHENTOMOVETOBE | 10.0 | ✓ 一致 |
PIPSTOMOVESL | 5.0 | ✓ 一致 |
Lots | 0.01 | ✓ 一致 |
MaximumRisk | 0.0 | ✓ 一致 |
DecreaseFactor | 330.0 | ✓ 一致 |
TrailingStop | 2564.0 | ✓ 一致 |
Stop_Loss | 1240.0 | ✓ 一致 |
MagicNumber | 1234 | ✓ 一致 |
Take_Profit | 2000.0 | ✓ 一致 |
FastMA | 261 | ✓ 一致 |
SlowMA | 385 | ✓ 一致 |
Mom_Sell | 595.8 | ✓ 一致 |
Mom_Buy | 1513.6 | ✓ 一致 |
FractalNum | 6595 | ✓ 一致 |
| 指标 | IS-ReportTester-52845377.xlsx | OSS-ReportTester-52845377.xlsx | 单位 |
|---|---|---|---|
| 交易笔数 | 1912 | 1914 | |
| 净盈利 | -962.92 | -403.50 | |
| 盈利因子 PF | 0.69 | 0.94 | |
| 胜率 (%) | 38.13 | 44.93 | |
| 平均盈利 | 3.00 | 7.29 | |
| 平均亏损 | -2.66 | -6.33 | |
| 盈亏比 (avgW/|avgL|) | 1.13 | 1.15 | |
| 期望收益/笔 | -0.50 | -0.21 | |
| 最大回撤 | -971.54 | -642.14 | |
| 最大回撤 (%) | 96.32 | 53.10 | % |
| 夏普比率 | -5.00 | -3.33 | |
| Sortino (逐笔) | -0.16 | -0.04 | |
| Calmar (净利/|回撤|) | -0.99 | -0.63 | |
| 最大连败 | 16 | 16 | 笔 |
| 平均持仓 (分钟) | 39.66 | 34.04 | |
| 滚动PF 区间 | 0.26~1.25 | 0.50~1.90 | |
| 滚动窗口盈利比例 | 9.59 | 36.99 | % |
Sortino/Calmar 为逐笔口径估算;滚动 PF 以 100 笔窗口滑动,"滚动窗口盈利比例"=窗口 PF>1 的占比(越高越稳定)。
| 方向 | 指标 | IS-ReportTester-52845377.xlsx | OSS-ReportTester-52845377.xlsx |
|---|---|---|---|
| long | 笔数 | 1066 | 958 |
| long | 胜率(%) | 22.98 | 27.04 |
| long | 净盈利 | -412.29 | -194.63 |
| long | PF | 0.77 | 0.94 |
| long | 平均盈利 | 5.48 | 12.26 |
| long | 平均亏损 | -2.14 | -4.82 |
| long | 盈亏比 | 2.56 | 2.54 |
| long | 期望/笔 | -0.39 | -0.20 |
| short | 笔数 | 846 | 956 |
| short | 胜率(%) | 57.21 | 62.87 |
| short | 净盈利 | -550.63 | -208.87 |
| short | PF | 0.60 | 0.94 |
| short | 平均盈利 | 1.74 | 5.15 |
| short | 平均亏损 | -3.85 | -9.31 |
| short | 盈亏比 | 0.45 | 0.55 |
| short | 期望/笔 | -0.65 | -0.22 |
若多空胜率/盈亏比显著不对称,是结构性偏差信号,需结合下方 What-If 与建议规则分析。
对每份报告模拟多种改造场景,重算指标。场景为通用逻辑,不依赖具体 EA 参数。 重点看 PF 是否站上 1、回撤是否收敛、期望是否转正。
| 场景 | 笔数 | 净盈利 | PF | 胜率 | 最大回撤 | 期望/笔 |
|---|---|---|---|---|---|---|
| 基线(现状) 不做任何修改 | 1912 | -962.92 | 0.69 | 38.1% | -971.54 | -0.504 |
| 仅做空 (sell-only) 禁用多头,验证空头方向是否有正期望 | 846 | -550.63 | 0.60 | 57.2% | -562.87 | -0.651 |
| 仅做多 (buy-only) 禁用空头,验证多头方向是否有正期望 | 1066 | -412.29 | 0.77 | 23.0% | -418.15 | -0.387 |
| 信号反向 (net × -1) 盈亏整体取反。若反向后净盈利为正且 PF>1,需警惕信号方向逻辑写反 | 1912 | +962.92 | 1.44 | 61.7% | -82.29 | +0.504 |
| 过滤最差星期(周四) 剔除净盈亏最差的星期 周四 | 1498 | -637.92 | 0.74 | 37.9% | -638.02 | -0.426 |
| 过滤最差 3 个小时 剔除净盈亏最差的 3 个小时窗口 | 1639 | -629.48 | 0.76 | 39.3% | -654.13 | -0.384 |
| 仓位减半 (net × 0.5) 缩小仓位,回撤与盈利同步减半 | 1912 | -481.46 | 0.69 | 38.1% | -485.77 | -0.252 |
| 盈利单放大 ×1.5 模拟改进入场/离场让盈利单兑现更多利润 | 1912 | +129.79 | 1.04 | 38.1% | -257.48 | +0.068 |
| 亏损截断 ≤ $1.52 模拟更紧止损,把单笔亏损封顶在中位亏损水平 | 1912 | +839.09 | 1.62 | 38.1% | -52.81 | +0.439 |
| 启用 BE (盈利单 ×0.5) 模拟盈亏平移触发后盈利单部分回吐,但被保护 | 1912 | -2055.63 | 0.35 | 38.1% | -2059.48 | -1.075 |
| 场景 | 笔数 | 净盈利 | PF | 胜率 | 最大回撤 | 期望/笔 |
|---|---|---|---|---|---|---|
| 基线(现状) 不做任何修改 | 1914 | -403.50 | 0.94 | 44.9% | -642.14 | -0.211 |
| 仅做空 (sell-only) 禁用多头,验证空头方向是否有正期望 | 956 | -208.87 | 0.94 | 62.9% | -328.52 | -0.218 |
| 仅做多 (buy-only) 禁用空头,验证多头方向是否有正期望 | 958 | -194.63 | 0.94 | 27.0% | -449.30 | -0.203 |
| 信号反向 (net × -1) 盈亏整体取反。若反向后净盈利为正且 PF>1,需警惕信号方向逻辑写反 | 1914 | +403.50 | 1.06 | 55.0% | -452.49 | +0.211 |
| 过滤最差星期(周四) 剔除净盈亏最差的星期 周四 | 1514 | -9.86 | 1.00 | 46.5% | -347.70 | -0.007 |
| 过滤最差 3 个小时 剔除净盈亏最差的 3 个小时窗口 | 1653 | +84.26 | 1.02 | 46.2% | -391.04 | +0.051 |
| 仓位减半 (net × 0.5) 缩小仓位,回撤与盈利同步减半 | 1914 | -201.75 | 0.94 | 44.9% | -321.07 | -0.105 |
| 盈利单放大 ×1.5 模拟改进入场/离场让盈利单兑现更多利润 | 1914 | +2731.84 | 1.41 | 44.9% | -139.98 | +1.427 |
| 亏损截断 ≤ $4.66 模拟更紧止损,把单笔亏损封顶在中位亏损水平 | 1914 | +2653.14 | 1.73 | 44.9% | -79.25 | +1.386 |
| 启用 BE (盈利单 ×0.5) 模拟盈亏平移触发后盈利单部分回吐,但被保护 | 1914 | -3538.84 | 0.47 | 44.9% | -3544.54 | -1.849 |
将逐笔盈亏随机打乱 1000 次,看顺序无关下的回撤分布。 若"实际回撤"显著差于中位,说明存在连败聚集(顺序有自我相关),建议加连亏保护。
| 分位 | IS-ReportTester-52845377.xlsx | OSS-ReportTester-52845377.xlsx |
|---|---|---|
| 实际最大回撤 | -971.54 | -642.14 |
| 蒙特卡洛 5% 分位(更糟) | -1055.90 | -853.67 |
| 蒙特卡洛 中位 | -989.91 | -640.02 |
| 蒙特卡洛 95% 分位(较好) | -962.86 | -476.90 |
| 蒙特卡洛 均值 | -996.36 | -648.63 |
| 小时 | IS-ReportTester-52845377.xlsx净 | 笔 | OSS-ReportTester-52845377.xlsx净 | 笔 | 双负 |
|---|---|---|---|---|---|
| 01 | -42.46 | 104 | +114.52 | 95 | |
| 02 | -45.42 | 95 | -89.41 | 103 | ⚠️ |
| 03 | -105.82 | 89 | -68.79 | 90 | ⚠️ |
| 04 | -58.52 | 101 | +88.67 | 74 | |
| 05 | -36.59 | 84 | -143.04 | 71 | ⚠️ |
| 06 | +10.20 | 86 | -84.96 | 70 | |
| 07 | -10.36 | 68 | +59.08 | 78 | |
| 08 | -92.23 | 82 | -85.28 | 82 | ⚠️ |
| 09 | -61.15 | 93 | -77.24 | 80 | ⚠️ |
| 10 | -11.85 | 103 | -130.55 | 92 | ⚠️ |
| 11 | -40.28 | 78 | +16.73 | 100 | |
| 12 | -41.44 | 65 | +20.31 | 97 | |
| 13 | -135.39 | 102 | -214.17 | 98 | ⚠️ |
| 14 | -30.95 | 69 | -2.82 | 84 | ⚠️ |
| 15 | -9.29 | 89 | +30.99 | 112 | |
| 16 | -19.37 | 98 | +61.61 | 96 | |
| 17 | -13.27 | 82 | -25.72 | 94 | ⚠️ |
| 18 | -7.39 | 63 | -10.41 | 53 | ⚠️ |
| 19 | -41.58 | 51 | -111.13 | 53 | ⚠️ |
| 20 | -41.87 | 66 | +86.78 | 89 | |
| 21 | -29.59 | 86 | +20.75 | 75 | |
| 22 | -34.97 | 72 | +22.22 | 69 | |
| 23 | -63.33 | 86 | +118.36 | 59 |
| 星期 | IS-ReportTester-52845377.xlsx净 | 笔 | OSS-ReportTester-52845377.xlsx净 | 笔 | 双负 |
|---|---|---|---|---|---|
| 周一 | -104.81 | 346 | +115.22 | 363 | |
| 周二 | -140.46 | 378 | -241.25 | 388 | ⚠️ |
| 周三 | -111.67 | 364 | -106.02 | 393 | ⚠️ |
| 周四 | -325.00 | 414 | -393.64 | 400 | ⚠️ |
| 周五 | -280.98 | 410 | +222.19 | 370 |
⚠️ = 两份报告同时为负,属系统性劣势时段,应优先过滤。单元格颜色:红=负、绿=正。
| 持仓区间 | IS-ReportTester-52845377.xlsx笔 | 净 | 均值 | OSS-ReportTester-52845377.xlsx笔 | 净 | 均值 |
|---|---|---|---|---|---|---|
| <5m | 646 | -439.10 | -0.680 | 536 | -569.43 | -1.062 |
| 5-15m | 323 | -328.18 | -1.016 | 434 | -168.47 | -0.388 |
| 15-30m | 323 | -225.92 | -0.699 | 454 | -361.47 | -0.796 |
| 30-60m | 357 | -130.78 | -0.366 | 342 | +276.76 | +0.809 |
| 1-2h | 217 | +145.43 | +0.670 | 121 | +225.92 | +1.867 |
| >2h | 46 | +15.63 | +0.340 | 27 | +193.19 | +7.155 |
观察哪个持仓区间贡献正/负盈亏,可指导止盈止损时间维度调整。
以下建议由当前数据的特征触发(每条附触发条件、数据、动作),不预设任何策略特定结论。 未触发的规则不显示,未列出的维度表示数据正常。
触发条件:两份报告"信号反向"场景净盈利均为正且 PF>1。
数据:IS 反向后 净=$+962.92 / PF=1.44; OSS 反向后 净=$+403.50 / PF=1.06。
动作:强烈建议人工复核 EA 源码里 buy/sell 信号的方向判定,怀疑方向逻辑写反。
触发条件:两份报告多空胜率差均 > 20 个百分点。
数据:IS 多空胜率差 34.2,OSS 多空胜率差 35.8。 较弱方向:long(IS 胜率 23.0%)。
动作:审查较弱方向的入场信号;可先单独跑该方向 What-If(sell-only/buy-only)确认其期望。
触发条件:胜率 > 55% 且盈亏比 < 0.8(赢的太小输的太大,离场管理问题)。
数据:IS short 胜率 57.2%,盈亏比 0.45。
动作:检查提前离场逻辑是否砍断盈利单;考虑启用盈亏平衡或让盈利单跑到目标价。
触发条件:胜率 < 40% 且盈亏比 > 1.5(入场时机差但单笔盈亏结构尚可)。
数据:IS long 胜率 23.0%,盈亏比 2.56。
动作:改进入场过滤条件以提升胜率;或确认止损/止盈设置是否合理。
触发条件:某时段在两份报告同时为负(系统性劣势)。
数据:双负小时 11 个 ['02', '03', '05', '08', '09', '10', '13', '14', '17', '18', '19']; 双负星期:周二、周三、周四。
动作:若 EA 有时段过滤参数,开启并剔除上述窗口;否则在信号逻辑中加入时间过滤条件。
触发条件:任一报告最大回撤 > 40%。
数据:IS 回撤 96.32%,OSS 回撤 53.1%,最大连败 IS 16 笔 / OSS 16 笔。
动作:缩小单笔风险(止损/仓位);考虑在连亏达 N 笔时暂停或减仓; 参考 What-If 表"仓位减半"和"亏损截断"场景的回撤改善效果。
触发条件:"盈利单放大×1.5"场景 PF 站上 1 且优于基线。
数据:IS 基线 PF 0.69 → 场景 PF 1.04; OSS 基线 PF 0.94 → 场景 PF 1.41。
动作:离场逻辑有改进空间,考虑让盈利单兑现更多利润(放宽止盈/调整提前离场条件)。
触发条件:两份报告 PF 差异 > 0.2。
数据:IS PF 0.69,OSS PF 0.94,差 0.25。
动作:策略对行情敏感,建议做参数敏感度扫描找稳健高原(而非单点峰值),并用 Walk-Forward 验证。
将每份报告的逐笔交易按时间切成滚动窗口(IS 45天 + OOS 30天,步长 30天), 计算每个窗口的 IS/OOS 指标。WFE = ΣOOS净 / ΣIS净,越高越稳健; IS-OOS PF 相关性高=泛化好,低=过拟合风险。数据太短无法切窗会提示。
| 窗口 | IS区间 | OOS区间 | IS笔 | IS净 | IS PF | IS胜率 | OOS笔 | OOS净 | OOS PF | OOS胜率 | OOS回撤 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| #0 | 2025-07-17~2025-08-31 | 2025-08-31~2025-09-30 | 956 | -497.13 | 0.59 | 39.7% | 607 | -281.56 | 0.72 | 37.4% | -296.37 |
| 窗口 | IS区间 | OOS区间 | IS笔 | IS净 | IS PF | IS胜率 | OOS笔 | OOS净 | OOS PF | OOS胜率 | OOS回撤 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| #0 | 2026-02-16~2026-04-02 | 2026-04-02~2026-05-02 | 852 | +182.58 | 1.05 | 45.1% | 530 | -299.73 | 0.83 | 45.7% | -338.75 |
以下三项已实现为独立可复用工具,按需调用:
python param_scan.py gen-set ... 生成网格 .set + 批处理脚本,
在 MT5 跑完后 python param_scan.py analyze ... 出响应面热力图 + 3D 曲面 + 高原检测。
python param_scan.py demo 可先看效果。python mae_mfe.py --show-snippet
取 MQL5 代码粘进 EA 导出 CSV,再 python mae_mfe.py mae_mfe.csv 出散点 + TP/SL 扫描热力图。python walk_forward.py <report.xlsx> --is-days 60 --oos-days 30
出滚动窗口 IS/OOS 验证(本报告第 8 节已内嵌简化版)。其它建议(未实现,需自行扩展):