各位汇友,最近很多人在问VPS搭建的事,正好我前两天刚把新服务器部署好,趁07月02日这个时间点整理一下实操经验,希望对你们跑EA有帮助。
第一步,选VPS配置。我推荐用Linode或DigitalOcean的入门款,2核CPU、4GB内存、80GB SSD,月费大概10美元左右。别贪便宜用1G内存的,EA回测时内存一吃紧,订单延迟就上来了。操作系统选Ubuntu 20.04 LTS,稳定且兼容性好。
第二步,安装MetaTrader依赖。Ubuntu下直接终端运行:sudo apt update && sudo apt install -y wine winetricks xvfb。Wine是关键,4.0以上版本才支持MT5的64位。然后创建虚拟桌面:Xvfb :1 -screen 0 1920x1080x24 &,这样EA即使后台运行也能模拟显示环境,避免挂单错误。
第三步,优化网络延迟。EA对Tick数据敏感,默认的TCP延迟太大。编辑/etc/sysctl.conf,加上net.core.rmem_max=134217728和net.core.wmem_max=134217728,然后sysctl -p生效。另外,把MT4的服务器IP绑定到低延迟节点,用ping -c 10 broker_ip找出最快的路由。
第四步,设置自动重启。写个cron脚本,每6小时检测mt4进程是否存在:ps aux | grep terminal64.exe | grep -v grep || xvfb-run wine /path/to/terminal64.exe。这样VPS重启或MT4崩溃后能自动恢复,省得半夜爬起来看。
最后,监控日志。用tail -f /var/log/messages抓取Wine的报错,常见问题是“无法初始化显示”,这时需要检查Xvfb是否存活。优化后,我的EA滑点从平均0.8点降到0.3点,回测跑24小时不卡顿。
如果你们遇到具体报错,比如“Wine堆栈溢出”,可以调整winecfg里的虚拟内存大小。希望这些能帮到大家,有疑问随时交流。
第一步,选VPS配置。我推荐用Linode或DigitalOcean的入门款,2核CPU、4GB内存、80GB SSD,月费大概10美元左右。别贪便宜用1G内存的,EA回测时内存一吃紧,订单延迟就上来了。操作系统选Ubuntu 20.04 LTS,稳定且兼容性好。
第二步,安装MetaTrader依赖。Ubuntu下直接终端运行:sudo apt update && sudo apt install -y wine winetricks xvfb。Wine是关键,4.0以上版本才支持MT5的64位。然后创建虚拟桌面:Xvfb :1 -screen 0 1920x1080x24 &,这样EA即使后台运行也能模拟显示环境,避免挂单错误。
第三步,优化网络延迟。EA对Tick数据敏感,默认的TCP延迟太大。编辑/etc/sysctl.conf,加上net.core.rmem_max=134217728和net.core.wmem_max=134217728,然后sysctl -p生效。另外,把MT4的服务器IP绑定到低延迟节点,用ping -c 10 broker_ip找出最快的路由。
第四步,设置自动重启。写个cron脚本,每6小时检测mt4进程是否存在:ps aux | grep terminal64.exe | grep -v grep || xvfb-run wine /path/to/terminal64.exe。这样VPS重启或MT4崩溃后能自动恢复,省得半夜爬起来看。
最后,监控日志。用tail -f /var/log/messages抓取Wine的报错,常见问题是“无法初始化显示”,这时需要检查Xvfb是否存活。优化后,我的EA滑点从平均0.8点降到0.3点,回测跑24小时不卡顿。
如果你们遇到具体报错,比如“Wine堆栈溢出”,可以调整winecfg里的虚拟内存大小。希望这些能帮到大家,有疑问随时交流。
专注交易策略编程实现,分享MQL开发技巧与代码优化方案