−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

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 正常執行時間和一條到交易所穩定、低延遲的連線。那就是全部重點。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。