ForexBestRobots.com比较 EA →

VPS 与 MT4 稳定性 · 指南 2

如何在 VPS 上配置和优化 MT4

在 Windows VPS 上配置 MT4:分开终端、测量 CPU 和 RAM、调整图表和历史数据、核验 EA 权限,并测试重启和告警。

阅读时间:13 分钟由 ForexBestRobots 编辑团队审查
可重复执行的 MT4 配置流程:梳理工作负载、测量资源压力、调整一个设置,然后核验数据、权限和 EA 运行情况,确认后再保留改动。VPS 上的 MT4 配置测量、调整与验证

配置流程;并非容量或性能基准测试。

有效的 MT4 配置应有足够容量应对实际工作负载,能清楚识别每个交易实例,并在日常维护后保留预定设置。应根据观察到的资源压力及已验证的 EA 行为调整环境,而不是照搬一套通用的“快速 MT4”预设。

这是 VPS 与 MT4 稳定性系列的第 2 篇指南。 基础指南 介绍托管与运行连续性。事故响应、备份和恢复请参阅 指南 3:故障与安全恢复。事故之间的持续监督,请继续阅读 指南 4:EA 监控、报价与告警。

明确要优化什么

本指南假设 MT4 和目标 EA 已安装,并已在模拟环境测试。文件放置与挂载步骤请参阅 EA 安装指南。MetaTrader 集成虚拟托管采用不同的迁移流程,而且没有 Windows 桌面;不要将 Windows 启动或文件夹操作说明应用到该环境。

运行优化是指在保留 EA 获准行为的前提下,减少不必要的负载。它不同于 在测试器中优化策略参数。不要为了让终端看起来响应更快而改变手数、信号过滤条件、风险限制或执行设置。终端负载更轻,不能证明盈利能力,也不保证执行结果。

修改设置前,先梳理工作负载

记录每个终端的用途及实际需要的组件。只统计图表数量,会漏掉多品种 EA 和内部计算的指标。一个高负载 EA 所需资源,可能超过多个简单 EA。

记录项应包含的内容
终端身份安装路径、实际数据文件夹、Windows 用户及名称清楚的快捷方式。
交易环境经纪商账户与服务器;模拟、实盘或研究用途。将登录凭据安全保存于表格之外。
当前工作负载所需图表、准确品种和周期、挂载的 EA、版本及获准的 Inputs。
依赖项其他品种与周期、回看历史、自定义指标、文件、DLL、允许的 WebRequest URL 及许可。
订单归属与运行Magic Number 分配方案、需管理的现有订单、启动方法、监控目标地址及变更日期。

在支持的情况下,保留获准的 .set 文件,以及当前配置文件和设置记录。这用于记录基准,并不是完整备份或恢复计划。

按观察到的需求配置 VPS 资源

资源评估内容配置决策
CPU繁忙时段、各终端需求及单个逻辑处理器上的集中负载。为突发负载留出余量。共享 vCPU 数量本身不能证明持续处理能力;应比较实际工作负载。
RAMWindows、全部终端、图表数据、指标及后台应用。保留内存余量。持续增加的内存压力和分页活动需要调查;不要把禁用分页文件当作优化捷径。
SSD / 存储可用空间、历史与日志增长,以及扫描、下载和更新时的磁盘活动。除 MT4 外,也应为操作系统和维护预留空间。标有 SSD 并不证明可用空间或磁盘性能足够。
Windows当前安全支持、经纪商与 EA 兼容性、用户会话及服务商管理政策。使用持续维护且许可合规的环境。向服务商和供应商确认实际系统版本及依赖项。
网络与目标经纪商服务器的连接、中断情况及相关时段内的报价更新。调查通往经纪商的网络路径。远程桌面流畅或公共测速结果很快,都不足以证明交易连接正常。

没有可靠且通用的“每 GB 可运行多少 EA”或“每个 vCPU 可运行多少终端”规则。观察完整预定工作负载后再决定容量,包括启动、历史数据加载及维护。资源余量是运行缓冲,不是交易结果承诺。

测量正常使用与重要峰值

  1. 建立基准。 使用 Ctrl+Shift+Esc打开 Windows 任务管理器。在 Processes 或 Details 中检查每个 terminal.exe,并在 Performance 中查看整体 CPU、内存、磁盘及网络活动。将进程与清单中的安装路径对应。
  2. 观察多种运行条件。 包括普通交易时段、较快报价流、启动及数据加载。记录时间、当前配置、资源压力,以及 MT4 是否保持响应。单张空闲状态截图不是容量测试。
  3. 找到负载来源。 比较终端需求与其他应用、更新和安全扫描的负载。整体 CPU 使用率可能掩盖繁忙的逻辑处理器或程序瓶颈。整体使用率低,不能证明每个 EA 都在及时处理。
  4. 分离研究负载。 条件允许时,将长时间回测和参数搜索安排在交易工作负载之外。同一 VPS 上独立的测试器安装可以分离配置,但仍会争用同一台机器的资源。

MQL4 EA 在独立线程中运行,而图表指标共享界面线程资源;通过 iCustom() 调用的指标在调用者的线程中运行。EA 内部事件按顺序处理。当其 OnTick() 正在处理时,并非所有新 tick 都会进入队列。增加核心数不能自动解决高成本逻辑或停滞指标;持续的程序级负载应向开发者咨询。

清楚区分多个 MT4 安装

同时运行多个账户时,将经纪商指定的 MT4 副本安装在 不同安装目录。为快捷方式设置能说明用途的不同名称。两个快捷方式若指向同一个可执行文件路径,并不会创建两个独立安装。

在每个运行中的副本内,使用 File → Open Data Folder 并记录实际打开的位置。普通数据文件夹取决于安装路径和 Windows 用户;其中的 origin.txt 标识对应的安装。不要根据经纪商名称猜测文件夹,也不要假设不同 Windows 用户能看到同样的 EA 文件和设置。

在每个副本实际的数据文件夹中安装并验证依赖项。独立文件夹可减少配置混淆,但不能隔离经纪商账户风险敞口。EA 也可能通过 FILE_COMMON 使用共享文件,或使用外部许可服务;应遵循文档规定的多实例规则。

便携模式不是提速设置。 /portable 会改变 MT4 尝试存储数据的位置。它不会自动迁移已有数据文件夹,而且仍需写入权限。除非有经过测试的理由,否则保留普通模式;不要为了方便而禁用 UAC 或普遍提高权限。

区分订单归属与终端容量

只有订单管理规则兼容时,多个 EA 或终端才能在同一账户运行。为每个预定实例记录文档规定的 Magic Number、品种及其他归属过滤条件。不要假设 EA 只管理自己的订单。

Magic Number 是订单识别码,不是跨终端锁。即使识别码不同,两个副本也可能提交重复订单。更改识别码或迁移 EA 前,应检查现有持仓及挂单是否仍需要它管理。保留恢复管理这些订单所需的文档规定归属设置。详细模型请参阅 Magic Number 指南 。

分离资源后,账户风险仍然共享:保证金占用和相关持仓可能在多个 EA 之间累积。请通过 风险管理指南评估这些风险敞口;CPU 余量不能让组合自动变得安全。

调整图表与历史数据,但保留所需数据

先移除已确认不使用的分析图表和装饰性指标。关闭 EA 所在图表会卸载该 EA,与最小化窗口不同。关闭图表前,检查其运行内容,并保留文档规定设置所需的图表。

在 Tools → Options → Charts中,区分 Max bars in history 与 Max bars in chart。前者限制存储的历史数据;后者控制用于指标计算的图表数据。减少不必要的图表历史可以降低资源需求,但随意设置过小的数值,可能使 EA 或指标缺少必要的回看数据。

  1. 明确每个所需品种和周期的最低数据需求,包括内部计算的指标。
  2. 保留足够历史数据,以满足这些需求及计划中的验证。不要假设一个可见图表就能覆盖多周期 EA。
  3. 在模拟环境中只修改一项限制,按需重新加载或重启,并验证初始化、数据可用性及预期计算,再决定是否保留。

这些限制不是精确的内存配额:新报价到来时,图表 K 线数量可能增长。不要为“加速 MT4”而清空历史文件夹;重新加载会消耗资源,也可能改变可用测试数据。保留原始数据集用于比较。

保留所需品种与指标依赖项

在 Market Watch中,只隐藏已确认整个配置均不使用的品种。MT4 文档将此列为减少报价流量的方法。保留交易、跨品种信号或货币换算所需品种,即使没有可见图表显示它们。MT4 也不允许隐藏某些具有打开图表或订单的品种;该列表并不是完整的依赖项审查。

移除显示的指标,并不能证明其计算已停止:EA 可以在内部请求指标数值。单独测试可选仪表板和非必要的可视叠加层,保留供应商要求的指标与文件。如果 CPU 或内存使用持续增长,应为开发者收集时间戳和日志,而不是通过频繁盲目重启掩盖问题。

验证实际交易副本的权限

对于普通 Windows 版 MT4,应同时检查终端的 AutoTrading 控制与挂载 EA 的 Allow live trading 权限。EA 图标可见、报价到达或进程运行,都不能确认有交易权限。同时确认目标账户、服务器及交易访问权限。

检查账户、配置文件、品种或周期变化后禁用自动交易的选项。这些是保护措施,不应自动移除。如果其中一项触发,重新启用目标 EA 之前,先核实新的运行环境。

只允许导入可信且必需的 DLL 库,并只允许 WebRequest 访问文档规定的可信 URL。检查已挂载 EA 自身的设置;修改默认值不能代替核实运行实例。配置文件、模板或 EA 更新后应复查。关闭 AutoTrading 会阻止该终端内 EA 的交易操作,但不会平仓,也不会停止另行托管的副本。

控制日志增长,保留证据

每次配置变更后,检查 Experts 中的 EA 消息,以及 Journal 中的终端和连接事件。在任一标签页,右键菜单中的 Open 命令会打开对应日志文件夹,并将当前记录写入磁盘。在实际数据文件夹中,EA 日志通常位于 MQL4/Logs ,终端日志位于 logs,保存为按日期命名的 YYYYMMDD.LOG 文件。

标签页显示近期记录; Clear 清除的是显示内容,不是物理文件。维护磁盘时,先测量哪些文件夹在增长,保留相关事故与比较日志,再按明确的保留政策归档旧文件。避免在运行中删除活动文件,或递归清理整个数据文件夹。

重复错误或过量的逐 tick 日志需要从根本原因解决;删除昨天的日志,不能阻止明天继续增长。保留配置文件、模板、参数预设及 EA 状态文件。请通过 Experts 与 Journal 日志指南 进行诊断。详细备份设计见指南 3。

安排 Windows 更新,并测试启动流程

保持 Windows 安全维护开启,并安排受控重启窗口。根据实际 Windows 版本及服务商检查重启调度和会话政策。系统支持时,活动时间设置有助于安排重启,但不保证交易不中断。不要为了改善基准测试而禁用安全软件或更新。

如果启动方式依赖用户登录,应在目标用户的 Startup 文件夹(shell:startup)中,为目标可执行文件创建名称清楚的快捷方式。它在该用户登录后运行,并非 Windows 启动就会运行。第二种启动机制可能造成相互冲突的启动;为每个预定副本记录一种经过测试的方法。

如果需要无人值守重启,应由服务商或管理员确认支持的用户会话与启动安排。仅有计划任务或运行中的 terminal.exe ,不能证明正确的数据文件夹、账户、许可及 EA 状态已可用。不要用暴露凭据的自动登录设置作为快速解决办法。

在模拟环境中,分别测试终端重新启动与操作系统重启。每次操作后,都应核实账户与服务器、配置文件、图表、EA 版本和 Inputs、权限、报价、日志及现有订单管理。还应测试断开远程桌面再重新连接;注销或会话超时政策可能终止应用。避免使用“每小时重启”定时任务,以及绕过这些检查的盲目看门狗重启。

设置有效告警,并检查局限

选择能区分资源压力与终端或 EA 停止运行的监控方式。明确由谁接收告警,以及收到后检查什么。根据正常工作负载、观察到的峰值及可用响应时间设置阈值;不存在通用的百分比或报价年龄阈值。

信号可执行的检查局限
持续 CPU / 内存压力,或存储空间不足将受影响终端、后台任务及近期变更与基准比较。短暂峰值不同于持续压力;资源使用情况本身不能证明交易运行正常。
终端进程或预期心跳缺失任何重新启动前,先确认目标实例及其运行环境。仅由 OnTick 发送的心跳,可能在市场平静或休市时停止;应监控其文档规定的行为。
连接、报价或 EA 错误检查所需品种的交易时段和最新数据,再检查 Experts 与 Journal。已连接的终端仍可能具有过期的所需数据,或 EA 逻辑故障。

对于推送告警,配置 Tools → Options → Notifications,输入目标 MetaQuotes ID,并使用 Test;在实际设备上确认收到。标准交易操作通知不涵盖被拒绝的请求。如果程序支持,也应在模拟环境测试 EA 自身的错误告警。

停止运行的 MT4 无法可靠地发送自己的故障消息。独立进程或主机监控,以及外部心跳缺失检查,可以覆盖这一盲区。应优先采用有边界、有文档说明的响应流程,而不是反复终止并重启交易终端的看门狗。

采用受控的调整与验收流程

  1. 记录调整前状态。 保存配置、观察条件、资源压力及相关日志时间戳。
  2. 在模拟环境中做一项有依据的修改。 移除未使用的叠加层、调整文档规定的历史限制,或分离测试器工作负载。策略和风险设置保持不变。
  3. 比较相似条件。 重新观察普通使用、密集报价流和启动过程。如果条件不同,应记录这一局限,不要声称已测得改善。
  4. 接受或还原。 只有所需数据、EA 计算、权限及订单管理仍然正确,而且资源余量足够时,才保留修改。否则恢复以前的配置。
决策示例,并非基准测试。 一个多品种 EA 与测试器和可选仪表板共用 VPS。先移走测试器负载,或安排在交易观察时段之外运行,再单独评估可选仪表板。保留 EA 所需品种及回看数据。如果压力持续,应与开发者一起调查 EA,或测量后增加适当容量;不要承诺固定数量的额外 EA。

新增终端、更改 EA 版本、配置文件或依赖项,以及维护后,应重新验收。模拟环境中的重启测试只能确认操作流程,不能证明实盘成交完全一致或未来收益。

可重复执行的 MT4 配置流程:梳理工作负载、测量资源压力、调整一个设置,然后核验数据、权限和 EA 运行情况,确认后再保留改动。
只有目标 EA 仍然拥有所需数据、权限和订单管理范围时,才保留资源调整。工作负载变化后,重复检查。

配置就绪检查清单

每个终端均已记录安装路径、数据文件夹、Windows 用户和用途
已验证经纪商账户、服务器及预定交易权限
已保留所需图表、品种、周期、历史数据及依赖项
已记录 EA 版本、获准的 Inputs 及现有订单归属
已观察正常使用、繁忙时段及启动过程,并保留容量余量
已验证 AutoTrading、EA 权限及可信依赖项访问
已安排日志保留、可用存储及 Windows 维护
已在模拟环境测试终端重启、系统重启、远程断开及告警

保留这些检查的日期和结果。重大变更后,以及根据工作负载的监督需求,定期复查。已配置的 VPS 仍需要运行监督。

MT4 配置常见问题

一台 VPS 能运行多少个 MT4 终端?

没有通用数量。应在相关峰值条件下测量全部预定终端、EA 及依赖项,同时为操作系统和维护留出余量。同一 VPS 上新增安装,不会增加物理资源。

是否应将 K 线数量限制设得越小越好?

不应。保留每个所需品种、周期及指标需要的数据。只减少已确认多余的部分,在模拟环境测试,并保留比较所用数据集。

AutoTrading 按钮显示绿色,是否证明 EA 正常工作?

不是。应核实挂载 EA 的权限、账户访问、数据、初始化、日志及预定订单管理。策略没有信号时,没有新交易可能属于正常情况。

是否应按固定间隔自动重启 MT4?

不能用它代替调查持续负载或验证启动过程。安排必要维护,测试重新启动流程,并使用具有明确响应方案的监控。盲目重启可能中断订单管理,或恢复错误配置。

官方参考资料与适用范围

平台细节已依据官方文档核对。清单、测量和验收流程属于实用运行指导,并非测得的 VPS 性能结果。标签可能因终端语言或 Windows 版本而异;此处英文界面标签用于识别需要核实的设置。