有效的 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 数量本身不能证明持续处理能力;应比较实际工作负载。 |
| RAM | Windows、全部终端、图表数据、指标及后台应用。 | 保留内存余量。持续增加的内存压力和分页活动需要调查;不要把禁用分页文件当作优化捷径。 |
| SSD / 存储 | 可用空间、历史与日志增长,以及扫描、下载和更新时的磁盘活动。 | 除 MT4 外,也应为操作系统和维护预留空间。标有 SSD 并不证明可用空间或磁盘性能足够。 |
| Windows | 当前安全支持、经纪商与 EA 兼容性、用户会话及服务商管理政策。 | 使用持续维护且许可合规的环境。向服务商和供应商确认实际系统版本及依赖项。 |
| 网络 | 与目标经纪商服务器的连接、中断情况及相关时段内的报价更新。 | 调查通往经纪商的网络路径。远程桌面流畅或公共测速结果很快,都不足以证明交易连接正常。 |
没有可靠且通用的“每 GB 可运行多少 EA”或“每个 vCPU 可运行多少终端”规则。观察完整预定工作负载后再决定容量,包括启动、历史数据加载及维护。资源余量是运行缓冲,不是交易结果承诺。
测量正常使用与重要峰值
- 建立基准。 使用
Ctrl+Shift+Esc打开 Windows 任务管理器。在 Processes 或 Details 中检查每个terminal.exe,并在 Performance 中查看整体 CPU、内存、磁盘及网络活动。将进程与清单中的安装路径对应。 - 观察多种运行条件。 包括普通交易时段、较快报价流、启动及数据加载。记录时间、当前配置、资源压力,以及 MT4 是否保持响应。单张空闲状态截图不是容量测试。
- 找到负载来源。 比较终端需求与其他应用、更新和安全扫描的负载。整体 CPU 使用率可能掩盖繁忙的逻辑处理器或程序瓶颈。整体使用率低,不能证明每个 EA 都在及时处理。
- 分离研究负载。 条件允许时,将长时间回测和参数搜索安排在交易工作负载之外。同一 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 或指标缺少必要的回看数据。
- 明确每个所需品种和周期的最低数据需求,包括内部计算的指标。
- 保留足够历史数据,以满足这些需求及计划中的验证。不要假设一个可见图表就能覆盖多周期 EA。
- 在模拟环境中只修改一项限制,按需重新加载或重启,并验证初始化、数据可用性及预期计算,再决定是否保留。
这些限制不是精确的内存配额:新报价到来时,图表 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 无法可靠地发送自己的故障消息。独立进程或主机监控,以及外部心跳缺失检查,可以覆盖这一盲区。应优先采用有边界、有文档说明的响应流程,而不是反复终止并重启交易终端的看门狗。
采用受控的调整与验收流程
- 记录调整前状态。 保存配置、观察条件、资源压力及相关日志时间戳。
- 在模拟环境中做一项有依据的修改。 移除未使用的叠加层、调整文档规定的历史限制,或分离测试器工作负载。策略和风险设置保持不变。
- 比较相似条件。 重新观察普通使用、密集报价流和启动过程。如果条件不同,应记录这一局限,不要声称已测得改善。
- 接受或还原。 只有所需数据、EA 计算、权限及订单管理仍然正确,而且资源余量足够时,才保留修改。否则恢复以前的配置。
新增终端、更改 EA 版本、配置文件或依赖项,以及维护后,应重新验收。模拟环境中的重启测试只能确认操作流程,不能证明实盘成交完全一致或未来收益。
配置就绪检查清单
保留这些检查的日期和结果。重大变更后,以及根据工作负载的监督需求,定期复查。已配置的 VPS 仍需要运行监督。
MT4 配置常见问题
一台 VPS 能运行多少个 MT4 终端?
没有通用数量。应在相关峰值条件下测量全部预定终端、EA 及依赖项,同时为操作系统和维护留出余量。同一 VPS 上新增安装,不会增加物理资源。
是否应将 K 线数量限制设得越小越好?
不应。保留每个所需品种、周期及指标需要的数据。只减少已确认多余的部分,在模拟环境测试,并保留比较所用数据集。
AutoTrading 按钮显示绿色,是否证明 EA 正常工作?
不是。应核实挂载 EA 的权限、账户访问、数据、初始化、日志及预定订单管理。策略没有信号时,没有新交易可能属于正常情况。
是否应按固定间隔自动重启 MT4?
不能用它代替调查持续负载或验证启动过程。安排必要维护,测试重新启动流程,并使用具有明确响应方案的监控。盲目重启可能中断订单管理,或恢复错误配置。
官方参考资料与适用范围
平台细节已依据官方文档核对。清单、测量和验收流程属于实用运行指导,并非测得的 VPS 性能结果。标签可能因终端语言或 Windows 版本而异;此处英文界面标签用于识别需要核实的设置。
- MetaTrader 4: 多个安装 与 数据文件夹与便携模式。
- MetaTrader 4: 图表与历史数据限制, Market Watch 与 MQL4 程序执行。
- MetaTrader 4: EA 控制, Experts 日志, Journal 日志 与 通知。
- Microsoft: 任务管理器与系统工具, 登录时启动 与 更新活动时间。
- MQL4 参考: 订单识别码 与 共享文件范围。