VPS服务器搭建与优化 - 06月28日更新
兄弟们,最近后台私信炸了,都在问VPS怎么搭、怎么调才能让EA跑得稳。我直接开干,把从选服务器到调优的完整流程放出来。先说明,我不是卖服务器的,纯粹是亏出来的经验,去年因为网络延迟直接爆仓两次,血的教训。
第一步:选机房和配置。别图便宜用香港或东南亚的,超售严重,平仓延迟能到200ms。推荐美国西海岸的洛杉矶或达拉斯,延迟稳定在80-120ms。配置方面,EA多线程跑的话,2核CPU+4G内存起步,硬盘选SSD,系统用Ubuntu 20.04 LTS或Windows Server 2022。我自己的EA策略是剥头皮,所以上了4核8G,但普通趋势类EA用2核4G够用。记住,看评测时重点看“丢包率”,低于0.5%的才考虑。
第二步:系统环境配置。Windows用户直接装MT4/MT5,但记得关掉自动更新和防火墙里的多余规则。Linux用户用Wine跑MT4,我贴个常用脚本:
```bash
sudo apt update && sudo apt upgrade -y
sudo apt install wine winetricks xvfb -y
wine mt4setup.exe /quiet
```
装完后用`xvfb-run wine "C:\Program Files\MetaTrader 4\terminal.exe"`启动,记得在mt4的Tools-Options-Server里勾选“Enable automated trading”。另外,如果报错DLL缺失,装`winetricks corefonts vcrun2019`。
第三步:网络优化。这是最关键的。先测本地延迟:`ping -c 10 mt4.YourBroker.com`。如果超过150ms,用TCP加速。推荐BBR或锐速。BBR的开启命令:
```bash
echo 'net.core.default_qdisc=fq' >> /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' >> /etc/sysctl.conf
sysctl -p
```
检查是否开启:`sysctl net.ipv4.tcp_congestion_control`,输出带BBR就行。另外,设置MTU为1450,避免分片:`ifconfig eth0 mtu 1450`。如果仍然丢包,用iptables限制连接数:
```bash
iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 50 -j DROP
```
第四步:EA运行策略。别把所有EA放同一个VPS,我试过5个策略同时跑,结果内存泄漏直接崩。建议每个VPS最多挂3个EA,且不同策略的持仓时间错开10分钟。另外,设置定时重启:`crontab -e`里加一行 `0 6 * * * /sbin/reboot`,每周五凌晨清缓存。
最后,监控工具。我用的是netdata + Telegram Bot。安装netdata:`bash <(curl -Ss https://my-netdata.io/kickstart.sh)`,然后写个Python脚本,当CPU使用率超过80%时自动发消息到Bot。代码就不贴了,太长。
总结:VPS不是买了就完事,得当个活系统养。延迟高先查路由,丢包多就换机房。我自己现在用洛杉矶机房,跑着5个EA,平均延迟95ms,半年来没断过线。有问题的直接回帖,我看到就回。对了,别在VPS上装乱七八糟的软件,尤其是挖矿脚本,血的教训。
兄弟们,最近后台私信炸了,都在问VPS怎么搭、怎么调才能让EA跑得稳。我直接开干,把从选服务器到调优的完整流程放出来。先说明,我不是卖服务器的,纯粹是亏出来的经验,去年因为网络延迟直接爆仓两次,血的教训。
第一步:选机房和配置。别图便宜用香港或东南亚的,超售严重,平仓延迟能到200ms。推荐美国西海岸的洛杉矶或达拉斯,延迟稳定在80-120ms。配置方面,EA多线程跑的话,2核CPU+4G内存起步,硬盘选SSD,系统用Ubuntu 20.04 LTS或Windows Server 2022。我自己的EA策略是剥头皮,所以上了4核8G,但普通趋势类EA用2核4G够用。记住,看评测时重点看“丢包率”,低于0.5%的才考虑。
第二步:系统环境配置。Windows用户直接装MT4/MT5,但记得关掉自动更新和防火墙里的多余规则。Linux用户用Wine跑MT4,我贴个常用脚本:
```bash
sudo apt update && sudo apt upgrade -y
sudo apt install wine winetricks xvfb -y
wine mt4setup.exe /quiet
```
装完后用`xvfb-run wine "C:\Program Files\MetaTrader 4\terminal.exe"`启动,记得在mt4的Tools-Options-Server里勾选“Enable automated trading”。另外,如果报错DLL缺失,装`winetricks corefonts vcrun2019`。
第三步:网络优化。这是最关键的。先测本地延迟:`ping -c 10 mt4.YourBroker.com`。如果超过150ms,用TCP加速。推荐BBR或锐速。BBR的开启命令:
```bash
echo 'net.core.default_qdisc=fq' >> /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' >> /etc/sysctl.conf
sysctl -p
```
检查是否开启:`sysctl net.ipv4.tcp_congestion_control`,输出带BBR就行。另外,设置MTU为1450,避免分片:`ifconfig eth0 mtu 1450`。如果仍然丢包,用iptables限制连接数:
```bash
iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 50 -j DROP
```
第四步:EA运行策略。别把所有EA放同一个VPS,我试过5个策略同时跑,结果内存泄漏直接崩。建议每个VPS最多挂3个EA,且不同策略的持仓时间错开10分钟。另外,设置定时重启:`crontab -e`里加一行 `0 6 * * * /sbin/reboot`,每周五凌晨清缓存。
最后,监控工具。我用的是netdata + Telegram Bot。安装netdata:`bash <(curl -Ss https://my-netdata.io/kickstart.sh)`,然后写个Python脚本,当CPU使用率超过80%时自动发消息到Bot。代码就不贴了,太长。
总结:VPS不是买了就完事,得当个活系统养。延迟高先查路由,丢包多就换机房。我自己现在用洛杉矶机房,跑着5个EA,平均延迟95ms,半年来没断过线。有问题的直接回帖,我看到就回。对了,别在VPS上装乱七八糟的软件,尤其是挖矿脚本,血的教训。
专注交易策略编程实现,分享MQL开发技巧与代码优化方案