EA 回测分析报告

EA: M1 GOLD SCALPER PRO 品种: XAUUSD.c  报告A = IS-ReportTester-52845377.xlsx 报告B = OSS-ReportTester-52845377.xlsx

报告A 净盈利
-962.92
报告B 净盈利
-403.50
PF (A / B)
0.69 / 0.94
回撤% (A / B)
96.32% / 53.1%
实际交易区间:报告A = 2025-07-17 01:58:00 ~ 2025-10-27 22:39:00;报告B = 2026-02-16 01:02:00 ~ 2026-05-29 23:46:00。
输入参数:完全一致。 若两份报告参数相同而结果差异大,说明策略对行情敏感;若参数不同,需先确认对比是否公平。

输入参数

参数报告A报告B
ShowPaneltrue✓ 一致
Panel_X20✓ 一致
Panel_Y30✓ 一致
Panel_W543✓ 一致
Panel_H181✓ 一致
FilterTradingHoursfalse✓ 一致
Exittrue✓ 一致
USEMOVETOBREAKEVENfalse✓ 一致
WHENTOMOVETOBE10.0✓ 一致
PIPSTOMOVESL5.0✓ 一致
Lots0.01✓ 一致
MaximumRisk0.0✓ 一致
DecreaseFactor330.0✓ 一致
TrailingStop2564.0✓ 一致
Stop_Loss1240.0✓ 一致
MagicNumber1234✓ 一致
Take_Profit2000.0✓ 一致
FastMA261✓ 一致
SlowMA385✓ 一致
Mom_Sell595.8✓ 一致
Mom_Buy1513.6✓ 一致
FractalNum6595✓ 一致

1. 核心指标对比

指标IS-ReportTester-52845377.xlsxOSS-ReportTester-52845377.xlsx单位
交易笔数19121914
净盈利-962.92-403.50
盈利因子 PF0.690.94
胜率 (%)38.1344.93
平均盈利3.007.29
平均亏损-2.66-6.33
盈亏比 (avgW/|avgL|)1.131.15
期望收益/笔-0.50-0.21
最大回撤-971.54-642.14
最大回撤 (%)96.3253.10%
夏普比率-5.00-3.33
Sortino (逐笔)-0.16-0.04
Calmar (净利/|回撤|)-0.99-0.63
最大连败1616
平均持仓 (分钟)39.6634.04
滚动PF 区间0.26~1.250.50~1.90
滚动窗口盈利比例9.5936.99%

Sortino/Calmar 为逐笔口径估算;滚动 PF 以 100 笔窗口滑动,"滚动窗口盈利比例"=窗口 PF>1 的占比(越高越稳定)。

2. 资金曲线

-963-670-377-84209IS-ReportTester-52845377.xlsxOSS-ReportTester-52845377.xlsx交易序号 →累计盈亏

3. 方向性诊断

方向指标IS-ReportTester-52845377.xlsxOSS-ReportTester-52845377.xlsx
long笔数1066958
long胜率(%)22.9827.04
long净盈利-412.29-194.63
longPF0.770.94
long平均盈利5.4812.26
long平均亏损-2.14-4.82
long盈亏比2.562.54
long期望/笔-0.39-0.20
short笔数846956
short胜率(%)57.2162.87
short净盈利-550.63-208.87
shortPF0.600.94
short平均盈利1.745.15
short平均亏损-3.85-9.31
short盈亏比0.450.55
short期望/笔-0.65-0.22
-570-25266各方向净盈亏(A=报告A, B=报告B)-412long-A-195long-B-551short-A-209short-B

若多空胜率/盈亏比显著不对称,是结构性偏差信号,需结合下方 What-If 与建议规则分析。

4. What-If 假设分析

对每份报告模拟多种改造场景,重算指标。场景为通用逻辑,不依赖具体 EA 参数。 重点看 PF 是否站上 1、回撤是否收敛、期望是否转正

IS-ReportTester-52845377.xlsx

场景笔数净盈利PF胜率最大回撤期望/笔
基线(现状)
不做任何修改
1912-962.920.6938.1%-971.54-0.504
仅做空 (sell-only)
禁用多头,验证空头方向是否有正期望
846-550.630.6057.2%-562.87-0.651
仅做多 (buy-only)
禁用空头,验证多头方向是否有正期望
1066-412.290.7723.0%-418.15-0.387
信号反向 (net × -1)
盈亏整体取反。若反向后净盈利为正且 PF>1,需警惕信号方向逻辑写反
1912+962.921.4461.7%-82.29+0.504
过滤最差星期(周四)
剔除净盈亏最差的星期 周四
1498-637.920.7437.9%-638.02-0.426
过滤最差 3 个小时
剔除净盈亏最差的 3 个小时窗口
1639-629.480.7639.3%-654.13-0.384
仓位减半 (net × 0.5)
缩小仓位,回撤与盈利同步减半
1912-481.460.6938.1%-485.77-0.252
盈利单放大 ×1.5
模拟改进入场/离场让盈利单兑现更多利润
1912+129.791.0438.1%-257.48+0.068
亏损截断 ≤ $1.52
模拟更紧止损,把单笔亏损封顶在中位亏损水平
1912+839.091.6238.1%-52.81+0.439
启用 BE (盈利单 ×0.5)
模拟盈亏平移触发后盈利单部分回吐,但被保护
1912-2055.630.3538.1%-2059.48-1.075

OSS-ReportTester-52845377.xlsx

场景笔数净盈利PF胜率最大回撤期望/笔
基线(现状)
不做任何修改
1914-403.500.9444.9%-642.14-0.211
仅做空 (sell-only)
禁用多头,验证空头方向是否有正期望
956-208.870.9462.9%-328.52-0.218
仅做多 (buy-only)
禁用空头,验证多头方向是否有正期望
958-194.630.9427.0%-449.30-0.203
信号反向 (net × -1)
盈亏整体取反。若反向后净盈利为正且 PF>1,需警惕信号方向逻辑写反
1914+403.501.0655.0%-452.49+0.211
过滤最差星期(周四)
剔除净盈亏最差的星期 周四
1514-9.861.0046.5%-347.70-0.007
过滤最差 3 个小时
剔除净盈亏最差的 3 个小时窗口
1653+84.261.0246.2%-391.04+0.051
仓位减半 (net × 0.5)
缩小仓位,回撤与盈利同步减半
1914-201.750.9444.9%-321.07-0.105
盈利单放大 ×1.5
模拟改进入场/离场让盈利单兑现更多利润
1914+2731.841.4144.9%-139.98+1.427
亏损截断 ≤ $4.66
模拟更紧止损,把单笔亏损封顶在中位亏损水平
1914+2653.141.7344.9%-79.25+1.386
启用 BE (盈利单 ×0.5)
模拟盈亏平移触发后盈利单部分回吐,但被保护
1914-3538.840.4744.9%-3544.54-1.849
必看:"信号反向"场景若两份报告净盈利均转正且 PF>1,需警惕信号方向逻辑写反,应人工复核源码。

5. 蒙特卡洛回撤模拟

将逐笔盈亏随机打乱 1000 次,看顺序无关下的回撤分布。 若"实际回撤"显著差于中位,说明存在连败聚集(顺序有自我相关),建议加连亏保护。

报告A 蒙特卡洛回撤

-1059-1005-952-1056p5(更糟)-996均值-990p50-963p95(较好)-972实际

报告B 蒙特卡洛回撤

-867-649-432-854p5(更糟)-649均值-640p50-477p95(较好)-642实际
分位IS-ReportTester-52845377.xlsxOSS-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

6. 时段诊断

6.1 按小时

小时IS-ReportTester-52845377.xlsx净OSS-ReportTester-52845377.xlsx净双负
01-42.46104+114.5295
02-45.4295-89.41103⚠️
03-105.8289-68.7990⚠️
04-58.52101+88.6774
05-36.5984-143.0471⚠️
06+10.2086-84.9670
07-10.3668+59.0878
08-92.2382-85.2882⚠️
09-61.1593-77.2480⚠️
10-11.85103-130.5592⚠️
11-40.2878+16.73100
12-41.4465+20.3197
13-135.39102-214.1798⚠️
14-30.9569-2.8284⚠️
15-9.2989+30.99112
16-19.3798+61.6196
17-13.2782-25.7294⚠️
18-7.3963-10.4153⚠️
19-41.5851-111.1353⚠️
20-41.8766+86.7889
21-29.5986+20.7575
22-34.9772+22.2269
23-63.3386+118.3659

6.2 按星期

星期IS-ReportTester-52845377.xlsx净OSS-ReportTester-52845377.xlsx净双负
周一-104.81346+115.22363
周二-140.46378-241.25388⚠️
周三-111.67364-106.02393⚠️
周四-325.00414-393.64400⚠️
周五-280.98410+222.19370

⚠️ = 两份报告同时为负,属系统性劣势时段,应优先过滤。单元格颜色:红=负、绿=正。

7. 持仓时间分桶

持仓区间IS-ReportTester-52845377.xlsx笔均值OSS-ReportTester-52845377.xlsx笔均值
<5m646-439.10-0.680536-569.43-1.062
5-15m323-328.18-1.016434-168.47-0.388
15-30m323-225.92-0.699454-361.47-0.796
30-60m357-130.78-0.366342+276.76+0.809
1-2h217+145.43+0.670121+225.92+1.867
>2h46+15.63+0.34027+193.19+7.155

观察哪个持仓区间贡献正/负盈亏,可指导止盈止损时间维度调整。

8. 数据驱动的优化方向建议

以下建议由当前数据的特征触发(每条附触发条件、数据、动作),不预设任何策略特定结论。 未触发的规则不显示,未列出的维度表示数据正常。

① 信号方向自检 ⚠️ 触发

触发条件:两份报告"信号反向"场景净盈利均为正且 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)确认其期望。

③ short 方向:高胜率低盈亏比

触发条件:胜率 > 55% 且盈亏比 < 0.8(赢的太小输的太大,离场管理问题)。

数据:IS short 胜率 57.2%,盈亏比 0.45。

动作:检查提前离场逻辑是否砍断盈利单;考虑启用盈亏平衡或让盈利单跑到目标价。

③ long 方向:高盈亏比低胜率

触发条件:胜率 < 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 验证。

9. Walk-Forward 滚动验证

将每份报告的逐笔交易按时间切成滚动窗口(IS 45天 + OOS 30天,步长 30天), 计算每个窗口的 IS/OOS 指标。WFE = ΣOOS净 / ΣIS净,越高越稳健; IS-OOS PF 相关性高=泛化好,低=过拟合风险。数据太短无法切窗会提示。

报告A: IS-ReportTester-52845377.xlsx

窗口数
1
WFE (ΣOOS净/ΣIS净)
+0.57
OOS 盈利窗口占比
0%
IS-OOS PF 相关性
0.000.250.500.751.00#0#0#0滚动窗口 IS vs OOS 盈利因子 (PF=1 为盈亏平衡线)IS PFOOS PF窗口序号 →
窗口IS区间OOS区间IS笔IS净IS PFIS胜率OOS笔OOS净OOS PFOOS胜率OOS回撤
#02025-07-17~2025-08-312025-08-31~2025-09-30956-497.130.5939.7%607-281.560.7237.4%-296.37
WFE > 0.5:OOS 能保留 IS 的一半以上盈利,泛化较好。

报告B: OSS-ReportTester-52845377.xlsx

窗口数
1
WFE (ΣOOS净/ΣIS净)
-1.64
OOS 盈利窗口占比
0%
IS-OOS PF 相关性
0.000.260.530.791.05#0#0#0滚动窗口 IS vs OOS 盈利因子 (PF=1 为盈亏平衡线)IS PFOOS PF窗口序号 →
窗口IS区间OOS区间IS笔IS净IS PFIS胜率OOS笔OOS净OOS PFOOS胜率OOS回撤
#02026-02-16~2026-04-022026-04-02~2026-05-02852+182.581.0545.1%530-299.730.8345.7%-338.75
WFE 为负:OOS 累计亏损。即使 IS 段盈利,策略也未能泛化。

10. 可选扩展分析

以下三项已实现为独立可复用工具,按需调用:

其它建议(未实现,需自行扩展):