故障排除

常见设置与连接问题

出现 “Cannot load libzmq.dll” 或 “unresolved import function”

该 EA 使用 ZeroMQ 库与 brain.exe 通信,这需要 MT4 的 Libraries 文件夹中存在 libzmq.dlllibsodium.dll

  • 确认这两个文件直接位于 MQL4\Libraries 中——而不是在子文件夹里。
  • 复制完成后,请完全关闭并重新打开 MT4。MT4 只在启动时扫描该文件夹中的 DLL 文件,而不是在运行过程中扫描。
  • 确认在全局设置(Tools → Options → Expert Advisors)以及 EA 自身属性(Common 选项卡)中都已勾选Allow DLL imports

brain.exe 始终无法启动

  • 再次确认 EA 输入参数中的 AI_WORKING_DIR 指向包含 brain.exe 的确切文件夹——这必须是绝对路径,而不是相对路径。
  • 确认 AUTO_START_AI 设置为 true,且 AI_EXECUTABLE 精确为 brain.exe
  • 查看 Experts 日志(Ctrl+T → Experts 选项卡),了解 EA 在尝试启动该进程时报告的确切错误信息。
  • 某些防病毒软件会在首次运行时标记新下载的可执行文件。如果 brain.exe 被静默拦截,请检查你的防病毒软件的隔离区/历史记录。

EA 在运行,但从不下单

  • 确认AutoTrading已启用(MT4 工具栏中的按钮应为绿色)——关闭时 MT4 会阻止所有下单操作,与 EA 本身的行为无关。
  • 检查 MAX_SPREAD_PIPS——如果你的经纪商在该品种上的点差经常超过此值,入场信号会被过滤掉。
  • 检查 MAX_CONCURRENT_PAIRSMAX_ENTRIES_PER_SYMBOL 是否已因其他图表上的持仓而达到上限。
  • 如果账户回撤断路器最近被触发,新开仓会暂停 DD_COOLDOWN_MINUTES 分钟——这是预期行为,不是缺陷。

许可证密钥问题

你的许可证密钥会在结账时自动生成,并始终可以在我的账户 → 许可证密钥中查看。每次购买都包含一个许可证,最多可同时用于 3 个 MT4 账户。如果你在新电脑、VPS 或账户上重新安装后被提示名额已全部用完,无需联系客服——前往「我的账户 → 许可证密钥」,点击你不再使用的账户旁的Deactivate,然后重试。

重置 AI 的记忆

如果你想让 brain.exe 忘记它目前学到的一切——例如更换经纪商或账户之后——请先关闭 brain.exe,然后在安装文件夹内运行 Reset-Brain-Memory.bat。它只会删除该文件夹中的文件,并会在执行任何操作前请求确认。

回测引擎(”brain_backtest.exe”)问题

  • “Backtest brain already running on port 5655. Connection successful.”——这不是错误。它表示之前运行留下的 brain_backtest.exe 仍处于活动状态,新实例连接到了它,而不是启动一个重复的进程。如果你想要一次完全全新的运行,请先关闭现有的 brain_backtest.exe 控制台窗口。
  • 运行后没有出现 backtest_state 文件夹——确认在回测 EA 的 Inputs 选项卡中,AI_EXECUTABLE 确实已设置为 brain_backtest.exe。其默认值不会自动启动进程。
  • Merge-Backtest-To-Live.exe 报告 “No backtest_state folder found here”——它只会在你运行它所在的文件夹中查找。请确保 Merge-Backtest-To-Live.exe/.batbrain_backtest.exe 及其 backtest_state 文件夹位于同一文件夹中,而不是其他地方。

许可证错误

  • “license.txt not found in this folder”——将 license.txt.example 重命名为 license.txt(与 brain.exe 位于同一文件夹),并确保 LICENSE_KEYACCOUNT_NUMBER 都已填写。
  • “Invalid license key”——再次确认你是从「我的账户 → 许可证密钥」中精确复制的密钥,且没有多余的空格。
  • “X/X accounts – you have used all your license slots”——该许可证已在其最大数量的 MT4 账户上激活。前往「我的账户 → 许可证密钥」,点击你不再使用的账户旁的Deactivate,然后重启 brain.exe
  • “could not reach license server”——这只是一个警告,不是严重故障。brain.exe 仍会启动;它只是这次未能重新核实你的许可证(通常是临时的网络问题)。它会在下次启动时再次检查。