交易机器人、套利脚本和行情数据采集器全天候运行,只关心两件事:保持在线,以及靠近交易所。VPS 在这两方面都比家用电脑做得更好。
为什么不在家里运行?
- 停电和路由器重启会在最糟糕的时刻让你的机器人停止运行。
- 家庭网络会带来抖动,而且很少靠近交易所。
- 让一台电脑全天候开机的成本比一台小型 VPS 更高。
适合机器人的 VPS 看重什么
- 到交易所的网络延迟。大多数主要的加密货币交易所把撮合引擎部署在少数几个地区。请选择到你所用 API 往返时间最短的位置。
- 稳定的 CPU。独享 CPU 的套餐比共享 CPU 的套餐时序更稳定。
- 稳定的在线时间。选择提供状态页面和 NVMe 存储的服务商,以便获得快速的日志和数据库。
- 资源需求不高。许多机器人只需要 1 至 2 个 vCPU 和 2 GB 内存。
要测量,不要猜测
在两三个候选位置各订购一个小型套餐,然后测试到你所用交易所 API 的真实延迟:
ping -c 20 api.example-exchange.com
curl -o /dev/null -s -w "connect: %{time_connect}s total: %{time_total}s\n" https://api.example-exchange.com/ping
mtr -rwc 50 api.example-exchange.com
请根据中位数和最差情况来选择,而不是看单次最好的结果。延迟尖峰带来的伤害比平均值略高更大。
让机器人持续运行
[Unit]
Description=Trading bot
After=network-online.target
[Service]
User=bot
WorkingDirectory=/opt/bot
ExecStart=/usr/bin/python3 bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
将其保存为 /etc/systemd/system/bot.service,并使用 systemctl enable --now bot 启用。Systemd 会在崩溃后自动重启它,并在开机时启动。
安全检查清单
- 使用仅限交易权限且已禁用提现的 API 密钥。
- 在交易所设置中,将每个密钥限制为仅允许你服务器的 IP 地址使用。
- 将密钥存放在环境变量或权限受限的密钥文件中,切勿放入公开仓库。
- 记录每一笔订单,并为错误和异常余额设置告警。
- 先用小额资金测试。自动化交易可能很快亏损。
这里的任何内容都不构成投资建议。快速的服务器并不能让策略盈利。