去年在纽约机房跑一个剥头皮EA,刚开始还行,后来每隔几天就要掉一次线。每次掉线都发生在行情波动最大的时候,我远程连进去一看,右下角红的——"没有连接"。EA下单的窗口没弹出来,该赚的利润就那么没了。
后来我才搞明白,VPS这事,把EA传上去只是第一步,让Windows不捣乱才是关键。
第一步:怎么连上VPS
MetaTrader官方帮助文档里写得很清楚,如果直接用MQL5的虚拟主机服务,打开导航器,右键点你的交易账户,选"注册一个虚拟服务器"就行。系统会自动帮你挑离交易商最近的机房,延迟越低,滑点和重新报价的概率就越小。
如果用的是第三方VPS服务商,他们会发邮件给你一个IP、用户名和密码。打开电脑自带的"远程桌面连接",粘上IP,输密码就能进去。进去之后是一个Windows Server桌面,直接在浏览器里下你交易商的MT4安装包,装好,登录账户。
第二步:官方文档没讲的电源设置
这一步太重要了,我得单独说。
大多数教程让你把EA丢进
MQL4\Experts文件夹,勾上"允许DLL导入"和"启用自动交易"就算完事。但Windows Server默认是"平衡"电源模式,它会在后台偷偷暂停系统资源。暂停的那一瞬间,MT4和交易商的连接就断了。解决方法是强制切成"高性能"模式,并且把休眠彻底关掉。管理员身份打开命令提示符,跑这三条命令:
``
powercfg -setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
powercfg /change standby-timeout-ac 0
powercfg /hibernate off
`
跑完重启,掉线问题直接好了九成。
第三步:别让网络闲着
还有一个坑,官方文档更是提都没提。
如果MT4在淡季(比如亚洲盘开盘前的几个小时)没有任何交易,Windows默认要等整整两个小时才会发一个"心跳包"去确认连接还活着。两小时?剥头皮EA两秒钟没报价就废了。
用管理员身份打开PowerShell,把这个间隔改成5分钟:
`
New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\TcpIp\Parameters" -Name "KeepAliveTime" -PropertyType DWORD -Value 300000 -Force
`
改完重启,系统每5分钟发一次心跳,交易商的服务器就知道"这个人还在线",不会主动踢你。
第四步:让MT4开机自己启动
VPS服务商隔段时间会重启服务器做维护,这是常事。但MT4不会自己打开——EA就那么干等着,等你手动连上去启动它。
解决办法是把MT4加进Windows的开机启动项:
右键MT4桌面快捷方式,选"复制"。
按Win+R,输入 shell:startup,回车。
在弹出来的文件夹里右键,粘贴快捷方式。
这样每次VPS重启,MT4会自动打开。再跑一下netplwiz,把自动登录打开,免得卡在锁屏界面。
第五步:MQL5主机订阅的坑
如果用MetaTrader官方自己的VPS(MQL5托管),有一个特别容易被忽略的风险——订阅到期之后,服务器上你所有的数据会被彻底删掉。重新租可以,但EA、图表、指标全得重新配。
官方帮助文档里建议把"自动续订"打开。系统会在到期前一天扣款,续不上会发邮件通知你。而且它会检查服务器是不是活跃的,如果已经停了就不会扣钱,避免你为不用的服务器付费。
还有一条:取消订阅的话,只有购买后24小时内能退款。过了24小时,没用完的时间会折算成"免费分钟"存到你的MQL5账户里,下次租VPS可以用。
参考来源:MetaTrader 4帮助 - 虚拟主机(metatrader4.com);PerLod Hosting - 解决VPS上MT4掉线问题(perlod.com)。
本文首发于FXEAR.com,原创内容,未经授权禁止转载。
``