EQVPS
控制台开始使用

在 VPS 上运行 Freqtrade:要求、Docker 搭建和诚实的界限

2026年7月4日 · 1 分钟阅读 · EQVPS Team

在你笔记本上跑一个交易机器人是个坏主意,理由很无聊:你的笔记本不是 7×24 在线,而市场是。交易中途合上盖子,机器人就停止管理一个持仓。Freqtrade——那个流行的开源 Python 交易机器人——生来就是为无人值守运行而造的,那正是一台小 VPS 的用途。这是它实际需要什么、怎么用 Docker 搭它,以及那些没人提、直到你撞上才知道的诚实界限。

为什么用服务器,而不是你的机器

两个理由,都很实际:

  • 正常运行时间。 机器人必须全天候盯市场、管持仓。你的笔记本每睡眠或重启一次,机器人就瞎了——一次错过的入场,或更糟,一个没人盯的持仓。
  • 延迟和稳定。 VPS 坐在数据中心连接上,到交易所有一条稳定的路由。家里 wifi 的抖动和 NAT 重置对一个对价格做反应的机器人没帮助。

这跟在 VPS 上跑任何交易机器人背后是同一套逻辑——Freqtrade 只是把要求具体化了。

它实际需要什么

Freqtrade 本身轻量,但对负载要现实:

  • 实盘 / 模拟盘机器人: 2 GB 内存是舒服的下限。Docker 镜像、几个交易对、指标和 SQLite 交易数据库都想要一点余量。一个 $5 Micro(2 vCPU / 2 GB / 25 GB) 是对的起点。1 GB 能在几个交易对上跑一个简单策略,但你更靠边缘。
  • 多交易对 / 多策略: 升到一个 $8 Small(4 vCPU / 4 GB / 35 GB)——更多交易对意味着更多并发的指标计算和内存里更大的 dataframe。
  • 磁盘: 不大。镜像、你的 user_data 和交易数据库在 25 GB 里装得舒舒服服。下载的回测历史数据是唯一会增长的东西——而那大多住在你的本地机器上(见下)。

用 Docker Compose 搭建

Docker 是跑 Freqtrade 维护得最好、最不痛的方式。在一台全新机器上:

sudo apt update && sudo apt install -y docker.io docker-compose-v2
mkdir ~/ft && cd ~/ft
docker run --rm -v "$(pwd)/user_data:/freqtrade/user_data" \
  freqtradeorg/freqtrade:stable create-userdir --userdir user_data

拿官方 compose 文件、交互式创建一个配置(它会问你的交易所、下注额和模拟盘):

curl -s https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml -o docker-compose.yml
docker compose run --rm freqtrade new-config --config user_data/config.json

永远先跑模拟盘

永远别把一个全新策略指向真钱。Freqtrade 默认是模拟盘(纸面交易),你应该把它留在那儿,直到策略在实时市场数据上证明了自己一阵子。在 config.json 里:

{
  "dry_run": true,
  "dry_run_wallet": 1000
}

启动它并观察:

docker compose up -d
docker compose logs -f

compose 文件里的 restart: unless-stopped 策略在这里就是你的 systemd 等价物——Docker 在崩溃或服务器重启后把机器人拉回来,不用手动一步。(如果你更想在 Docker 之外跑它,一个带 Restart=always 的 systemd unit 做同样的活——和让任何机器人保活是同一个原理。)

交易所 API 密钥——咬人的那部分

这是一套交易配置出昂贵岔子的地方。两条规则,不可商量:

  • 只给交易权限。永远别启用提现。 如果密钥泄露,最坏情况是不想要的交易——而不是你的资金走出门。Freqtrade 从不需要提现权限。
  • 给密钥上 IP 白名单。 大多数交易所让你把一个 API 密钥绑到特定 IP。那是用**独立IP套餐**的一个具体理由:密钥只在你服务器的固定地址上有效。在 NAT 套餐上,机器人的出站 IP 不是你自己的——机器人运作没问题,但你没法干净地给它上白名单。

把密钥放在 config.json 里、让它非全局可读(chmod 600),并以非 root 用户跑容器。并先锁死机器——新 VPS 安全清单花十分钟、堵住要紧的门。

备份 user_data

你的策略、配置和交易历史都住在 user_data 里。那是你不想丢的东西:

tar czf ft-backup-$(date +%F).tar.gz user_data

定期把它从服务器拉下来(或存进对象存储)。丢了交易数据库意味着丢了你的业绩历史;丢了一个调好的策略意味着重做优化。

诚实的界限

  • 回测和 hyperopt 很重——在本地做。 它们把 CPU 占满好一阵,而一台共享、面向突发的 VPS 是为尖峰负载建的,不是几个小时持续 100% 负载(那也触及可接受使用政策)。在你自己的机器上优化,把结果部署去跑实盘。VPS 是给实盘机器人的,不是给研究的。
  • CPU 是共享/突发的。 对一个大多在等 K 线并做反应的实盘机器人很棒;对把一年的 1 分钟数据碾过 hyperopt 就不对。
  • 只在欧洲、纯 CPU。 服务器在德国和芬兰(哪个地点可用,下单时可以看到),没有 GPU。对 Freqtrade 没问题(它是 CPU/逻辑,不是 ML 训练)——如果你的策略依赖一个重的 ML 模型,知道一下也好,那同样最好在本地训练。

一句话

VPS 上的 Freqtrade 是给实盘机器人的对的配置:一个 $5 Micro 跑一个专注的策略、一个 $8 Small 如果你跑很多交易对、带 restart: unless-stopped 的 Docker Compose 保正常运行时间、以及一个只交易、上了 IP 白名单的 API 密钥好让泄露不能掏空你。把重度回测和 hyperopt 留在你的笔记本上、备份 user_data,让服务器做它擅长的那一件事——在市场波动时保持在线。注册只用邮箱,你用 USDC 或 USDT 付款;独立IP 是这里唯一值得的升级,纯粹为了 API 密钥白名单。


准备好部署了? Freqtrade 在一个 Micro 套餐 上很舒服;重回测或多交易对,就升到 Small。

常见问题

Freqtrade 在 VPS 上需要多少 RAM?

对一个实盘或模拟盘机器人,2 GB 是舒服的基线——Freqtrade 本身很轻,但 Docker 镜像加上几个交易对和指标想要余量。1 GB 对少数交易对上的单个策略能行,但 2 GB($5 Micro)是更安全的下限。回测和 hyperopt 是另一回事——它们吃内存和 CPU,你应该在自己的机器上跑那些,而不是服务器。

我能在 VPS 上回测和 hyperopt 吗?

能,但通常不该。长区间回测和 hyperopt 是 CPU 密集且突发的——它们会把核占满几分钟或几小时。在一个共享的、面向突发的套餐上那是错的负载(而且持续 100% 负载会触及可接受使用政策)。在本地做重度优化,然后把调好的策略送到 VPS 去跑实盘。

怎么在服务器上保管好我的交易所 API 密钥?

创建密钥时只给交易权限——永远别启用提现。如果你的交易所支持 IP 白名单,就把密钥锁到服务器的 IP,这是用独立IP套餐的一个真实理由(NAT 套餐的出站 IP 不是你自己的)。把密钥放在 Freqtrade 配置里、一个 root 可读但非全局可读的文件上,并以非 root 用户跑机器人。

为什么在 VPS 上跑机器人,而不是我的笔记本?

市场不休市,一个交易机器人必须持续在线才能对信号行动、管理持仓。笔记本会睡眠、重启、掉 wifi——每一个空档都是一次错过的入场或一次没人管的出场。VPS 给你 7×24 正常运行时间和一条到交易所稳定、低延迟的连接。那就是全部重点。

评论

暂无评论。来做第一个吧。

发表评论

评论在显示前会经过审核。