RDP Monster

外汇 VPS 托管:在 Windows VPS 上 7×24 跑 MT4/MT5

外汇 VPS 托管:在 Windows VPS 上 7×24 跑 MT4/MT5

外汇 VPS 到底能给你什么

外汇 VPS 并不神秘:它就是数据中心里的一台 Windows 虚拟服务器,你通过远程桌面访问它。它从不休眠,接在数据中心的线路上,到经纪商的路由稳定,你合上笔记本它照样工作。MetaTrader 跑在 VPS 上,你的笔记本只是一个遥控器。

MetaQuotes 在终端内出售的 Virtual Hosting 适合单个账户,但它给你的是一份迁移过去的副本,而不是一台机器。自己管理的 VPS 可以并排运行多家经纪商的终端,文件也完全归你。MT4 是 32 位(terminal.exe),MT5 是 64 位(terminal64.exe)。两者都能直接在 Windows Server 2019/2022 和 Windows 10/11 Pro 上运行。

安装 MetaTrader 4/5 并登录经纪商账户

1. 连接服务器并获取安装程序

用 Windows 自带的客户端打开 VPS:Win + R,输入 mstsc,填服务器 IP 和 Administrator 密码。保存一个 .rdp 文件并映射一个本地磁盘,这是把安装包传进去、把备份取出来最简单的方式。Windows 远程桌面连接(mstsc)完全指南逐个选项卡讲解了所有设置。终端请从经纪商官网下载,MetaQuotes 已不再提供通用的 MT4 安装包。

2. 认真选择安装目录

安装程序默认建议 C:\Program Files\<Broker> MetaTrader 5(MT4 则是 Program Files (x86))。如果你以后可能再装第二个终端,就给每个终端一个独立目录,例如 C:\Trading\BrokerA-MT5。默认情况下数据(包括 EA)存放在 %APPDATA%\MetaQuotes\Terminal\<32 位字符 id>\;加上 /portable 参数后数据会留在安装目录里,复制和备份因此变得自成一体:

"C:\Trading\BrokerA-MT5\terminal64.exe" /portable
"C:\Trading\BrokerB-MT4\terminal.exe" /portable

把这个参数写进快捷方式的“目标”栏,并且始终用这个快捷方式启动;只要有一次没带参数启动,终端就会另建一个空的数据目录。

3. 登录并让终端记住账户

文件 > 登录交易账户:填入账号、密码和服务器。勾选 Save account information(MT4)或 Save password(MT5),终端才能在重启后自行重新连接。在 Journal 标签页确认登录已被授权。

挂载 EA 并启用 AutoTrading

文件 > 打开数据文件夹,把 .ex4/.mq4 放进 MQL4\Experts,或把 .ex5/.mq5 放进 MQL5\Experts,指标放进 Indicators。然后在导航器里右键 Expert Advisors,选择刷新。

在 工具 > 选项 > Expert Advisors 中,必须打开 Allow automated trading(MT4)或 Allow algorithmic trading(MT5)。只有当某个 EA 确实需要、且作者可信时才启用 Allow DLL imports;调用外部 API 的 EA 需要把其网址加入同一选项卡里的 WebRequest 列表。

把 EA 拖到对应品种和周期的图表上,在 Common 标签页勾选 Allow live trading(MT4)或 Allow Algo Trading(MT5),并设置 Inputs 参数。然后点亮工具栏上的全局 AutoTrading 按钮(较新的 MT5 版本里叫 Algo Trading),或按 Ctrl+E。交易需要全局按钮和 EA 自身的复选框同时打开;漏掉任何一个,EA 都会一声不吭,图表角落显示哭脸或带叉的图标。到 Toolbox 的 Experts 标签页查看报错,并先在模拟账户上跑一段时间。

离开而不中断任何东西:断开连接,绝不注销

RDP 会话和 Windows 登录是两回事。点右上角的 X 关闭远程桌面窗口,或运行 tsdiscon,只是断开了你的屏幕,会话及其中的所有终端仍在运行。而开始菜单里的注销或 logoff 命令会结束会话并关闭 MetaTrader。重新连接时你会回到同一个会话。

你的操作会话你的 EA
关闭 RDP 窗口(X)或运行 tsdiscon保留,处于断开状态继续运行
开始菜单 > 注销,或 logoff已结束已停止
重启且未设置自动登录消失,无人登录在你登录之前一直停摆
重启且已设自动登录 + 登录时计划任务新的控制台会话自动恢复

有两件事会破坏这个机制。第一是结束断开会话的组策略,位于 gpedit.msc 的 计算机配置 > 管理模板 > Windows 组件 > 远程桌面服务 > 远程桌面会话主机 > 会话时间限制:Set time limit for disconnected sessions 必须为“未配置”或“已禁用”(注册表:HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services 下的 MaxDisconnectionTime)。

第二是 VPS 自身的网络配置。把服务器的流量整体走 VPN 会连带把 RDP 连接一起弄断,除非按 在 RDP 服务器上使用 VPN 而不掉线的方法操作。如果重新连接时一直卡在“正在连接”然后失败,原因可以在解决远程桌面连接超时中找到;通常服务器端的会话和你的 EA 都好好的。

挺过重启:自动登录与定时重启终端

Windows Update、服务商的维护窗口,或者你自己的一次修复,迟早会让 VPS 重启;重启之后没有人登录,于是什么都不会运行。下面三件事可以补上这个缺口。

1. 开机时自动登录账户

使用 Sysinternals 的 Autologon:运行它,填入账户和密码,点击 Enable;密码会以加密的 LSA secret 形式保存。走注册表的做法(HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 下的 AutoAdminLogon、DefaultUserName、DefaultPassword)效果相同,但密码是明文。此时控制台会话处于未锁定状态;在启动文件夹(shell:startup)放一个指向 rundll32.exe user32.dll,LockWorkStation 的快捷方式,登录后立刻锁屏,而不会中断任何程序。

2. 登录时启动终端

创建 C:\Trading\start-terminals.cmd,每个终端写一行 start,然后把它注册为登录时触发的计划任务,并留一分钟延迟等待网络就绪:

@echo off
start "" "C:\Trading\BrokerA-MT5\terminal64.exe" /portable
start "" "C:\Trading\BrokerB-MT4\terminal.exe" /portable

schtasks /create /tn "Start MetaTrader" /tr "C:\Trading\start-terminals.cmd" /sc onlogon /delay 0001:00 /it /rl highest

请以自动登录的那个账户运行 schtasks;不加 /ru 时任务会在该用户的交互式会话中运行,这正是 GUI 程序所需要的。凭据和配置文件已保存的情况下,终端会自动登录、按原有参数重新挂载 EA,并自行恢复 AutoTrading 状态。

3. 按计划重启终端

终端会不断累积日志,偶尔还会卡在重连状态。在休市时间每周重启一次(周六在全球范围都安全)可以让它们保持干净;不带 /F 的 taskkill 会请求正常关闭,同时也会保存配置文件:

taskkill /IM terminal64.exe
timeout /t 30 /nobreak
taskkill /IM terminal64.exe /F 2>nul
call C:\Trading\start-terminals.cmd

schtasks /create /tn "Weekly MetaTrader restart" /tr "C:\Trading\restart-terminals.cmd" /sc weekly /d SAT /st 10:00 /it /rl highest

如果同时用了 MT4,就为 terminal.exe 加上同样的几行。最后,把 Windows Update 设为“下载后通知”(服务器版用 sconfig,或用 Configure Automatic Updates 策略),并由你自己在周六重启;上面这套链条会把一切自动恢复。

一台 VPS 上跑多个终端,以及如何选配置

一个终端对应一个账户,所以多个账户就意味着多个终端:各自独立目录,各自用 /portable 启动。EA 以 common 标志写入的文件会落在 %APPDATA%\MetaQuotes\Terminal\Common\Files,由所有终端共享。

资源占用取决于每个终端在做什么,而不是终端的数量:打开的图表、内存中保留的 K 线数量(工具 > 选项 > 图表 > Max bars in chart)、每个 tick 都重绘的指标、新闻时段忙碌的 EA,以及可以在 选项 > Server 里关掉的新闻推送。MT5 的策略测试器会吃光它找得到的所有核心,所以千万不要在跑实盘的机器上做优化。跑满一个交易日后再测量:

Get-Process terminal, terminal64 -ErrorAction SilentlyContinue |
  Select-Object Name, Id, @{n="RAM_MB";e={[int]($_.WorkingSet64/1MB)}}, CPU

如果稳定状态下的内存占用超过套餐的四分之三左右,或者在伦敦和纽约开盘时 CPU 满载,那就先升一档配置再加终端。独享 CPU 和内存很重要:在超卖的共享核心上,邻居的一次峰值会直接砸在你的 tick 处理上。

测量到经纪商的延迟并选择区域

延迟只对以毫秒计的策略有意义:剥头皮、新闻交易、套利。跑在 H1 图表上的 EA 在意的是在线时长,而不是往返时延。

先问经纪商它的交易服务器托管在哪里;很多会回答一个 Equinix 机房,比如 Secaucus 的 NY4、伦敦附近的 LD4,或法兰克福的 FR2。然后从 VPS 上实测。点击终端右下角的连接指示器,可以列出经纪商的各个接入点及其 ping 值(MT5 也会在状态栏显示;那是到接入点的往返时延,不一定是到撮合引擎的)。接着找出终端实际连接的地址,对它做 ping 和路由跟踪;有些经纪商屏蔽 ICMP,这时可以退而对常用的 443 端口做 TCP 测试:

Get-NetTCPConnection -State Established -OwningProcess (Get-Process terminal64).Id |
  Select-Object RemoteAddress, RemotePort
ping -n 20 203.0.113.45
tracert -d 203.0.113.45
Test-NetConnection -ComputerName 203.0.113.45 -Port 443

要看最小值和最大值之间的差距,而不只看平均值;一条稳定的线路胜过一条略快但抖动的线路。然后做选择:经纪商托管在美国就选纽约 VPS;在伦敦或法兰克福就选欧洲 VPS。如果账户分布在大西洋两岸,就把 VPS 放在对延迟敏感的那一侧,或者每个区域各开一台。

备份 MQL 目录以及数据目录的其余部分

EA、.set 参数集和图表布局重建起来要花好几个小时,而它们全都在数据目录里:MQL4 或 MQL5(Experts、Indicators、Include、Libraries、Files、Presets)、MT4 里的 profiles 和 templates(MT5 是 MQL5\Profiles),以及保存终端设置的 config。历史行情可以跳过,终端会重新下载。每天一次镜像加一份带日期的归档,足以应付大多数事故:

robocopy "C:\Trading\BrokerA-MT5\MQL5" "C:\Backups\BrokerA\MQL5" /MIR /R:1 /W:2 /NP
powershell -Command "Compress-Archive -Path C:\Backups\BrokerA -DestinationPath C:\Backups\BrokerA-$(Get-Date -Format yyyyMMdd).zip -Force"

/MIR 会删除目标端已不存在于源端的文件:做镜像时正确,但目录指错就是灾难。再加一行处理 config,用 schtasks /sc daily 把脚本设为每日运行,然后通过映射磁盘把归档取出 VPS,或让云同步客户端监视 C:\Backups。

如果你还缺一台服务器,rdp.monster 位于纽约或欧洲的外汇 VPS 在付款确认后约 10 秒交付,具备完整管理员权限、独享 CPU 与内存、无限流量(合理使用)、无需 KYC,结账支持加密货币,每月 $8.99 起。区域在结账时选择;请先测试到你的经纪商的延迟。

常见问题

运行 MT4 或 MT5 的 EA 一定需要 VPS 吗?

不一定,但没有 VPS,你的电脑每次休眠、重启或断网,EA 都会停下来。
家用电脑上的 EA 和服务器上的 EA 交易方式完全一样,区别在于在线时长。台式机会因更新重启,笔记本会休眠,家庭宽带会掉线,每一次都会让终端停止,有时还留着一个持仓和一个不再移动的移动止损。VPS 运行在为高可用而建的数据中心里,在你没盯着的时候让终端保持活着:对晚上把仓位全平掉的手动交易者来说可有可无,对在你睡觉时交易的 EA 来说必不可少。

关闭远程桌面窗口会让 MetaTrader 停止吗?

不会。关闭窗口只是断开你的屏幕;在你注销之前,会话和终端都会继续运行。
Windows 会让断开的 RDP 会话连同其中所有程序继续存活,所以点击远程桌面窗口的 X 或运行 tsdiscon,MetaTrader 仍在交易。真正让它停下来的是开始菜单里的注销、logoff 命令,或一次重启。唯一的例外是超时后结束断开会话的组策略;请在 gpedit.msc 里检查“会话时间限制”,确认它未被配置。再次连接时,你会回到同一个会话,图表也原样开着。

一台 VPS 上能跑多少个 MetaTrader 终端?

内存和 CPU 允许多少就能跑多少;每个终端对应一个账户,其占用取决于图表、历史深度和 EA。
没有固定数字。每个终端登录一个账户,其内存占用会随打开的图表、Max bars in chart 设置、指标数量以及 EA 的活跃程度而增长。把每个终端装在各自的目录里,用 /portable 启动,然后跑满一个交易日后用任务管理器或 Get-Process 测量。如果稳定状态下的内存接近套餐上限,或者在伦敦、纽约开盘时 CPU 饱和,就在增加终端之前升级,而不是等到错过第一笔交易之后。

外汇交易该选哪个 VPS 机房位置?

离你经纪商交易服务器最近的那个:美国托管的经纪商选纽约,伦敦或法兰克福托管的选欧洲。
经纪商把交易服务器托管在特定的数据中心,通常是 Equinix 机房,比如纽约附近的 NY4、伦敦附近的 LD4,或法兰克福的 FR2。先问清楚,然后把 VPS 放在同一大洲。再从服务器上验证:点击连接指示器时终端会显示每个接入点的 ping 值,从 VPS 发起的 ping 和 tracert 可以确认路由。延迟只对剥头皮和新闻策略重要;对节奏较慢的 EA,在线时长和连接稳定性比几毫秒更有价值。

Adrien Roche, 基础设施与主机托管编辑

系统工程师,拥有 10 年以上运维 Windows Server 和 Linux 集群的经验。Adrien 负责 rdp.monster 的基础设施文档,并撰写关于 RDP、VPS 托管、服务器管理、网络和隐私工具的指南。

注册加入我们的分销商计划

您的信息

如有任何疑问, 点击这里联系我们 !
姓名(必填)
请填写您的邮箱地址,您必须拥有以下网站的账号: manager.rdp.monster !

您的公司

如果您有网站,请填写网址
请简要说明您打算如何向客户销售服务,例如在论坛上与人交流推广。

连怪兽都爱吃 cookie!

我们使用 cookie 来改善您的浏览体验、提供个性化的广告或内容,并分析网站流量。点击「接受」即表示您同意我们使用 cookie。