Summary: MT4回测运行了但没有产生任何交易?本文从检查自动交易按钮、品种后缀、建模模式、日期范围到EA内部逻辑,手把手帮你找出EA不回测下单的原因。




步骤1:开启策略测试器中的自动交易

打开MT4,按Ctrl+R启动策略测试器。查看测试器窗口内的工具栏,确保“自动交易”按钮(机器人图标)是绿色的激活状态。如果是红色或带叉,点击它启用。截图位置:策略测试器工具栏中高亮显示绿色的自动交易按钮。

步骤2:检查品种名称和后缀

在策略测试器中,选择你的EA所设计的正确品种。许多经纪商会添加后缀,如“EURUSDm”或“EURUSD.”。如果缺少后缀,EA可能无法识别该品种。输入和市场报价窗口中完全一致的品种名称。截图位置:策略测试器中的品种下拉框,显示“EURUSDm”作为示例。

步骤3:将建模模式设为“每个即时价位”

点击测试器中的“建模”下拉框。如果设置为“仅用开盘价”或“控制点”,EA可能会错过重要的tick数据。选择“每个即时价位”(如果可用,也可选择“基于真实tick的每个即时价位”)。这能确保EA接收所有价格变动。截图位置:建模下拉框中已选中“每个即时价位”。

步骤4:确认日期范围和可用数据

勾选“使用日期”复选框,并设置有效的日期范围。确保你的历史数据覆盖该时间段。如需下载缺失数据,按F2打开历史数据中心,选择品种,然后点击“下载”。截图位置:历史数据中心中高亮显示下载按钮。

步骤5:启用“可视化模式”观察运行

勾选测试器中的“可视化”复选框,重新运行回测。观察图表移动。如果EA没有下单,留意是否有某个指标或价格条件始终未满足(例如RSI从未低于30)。截图位置:可视化模式下EA在图表上运行但没有下单的界面。

步骤6:检查EA输入参数和时间过滤器

部分EA内置了时间过滤器(如“TradeHourStart”和“TradeHourEnd”)。如果你的回测时间落在这些时间之外,EA不会开单。同时检查“MaxSpread”和“MinDistance”等参数。截图位置:EA输入参数窗口显示时间和点差过滤器。

步骤7:换用不同的品种或时间周期测试

该EA可能要求特定的时间周期(例如仅限M5)。在多个品种和时间周期上测试。如果在其他品种或周期上能下单,说明原始品种缺乏必要的价格波动或tick量。截图位置:策略测试器中选中H1时间周期。

参考来源: MetaQuotes官方帮助 - 策略测试器故障排除