Telegram 交易機器人:建立並執行你的機器人
Telegram 遠不止是即時通訊:它的 API 可以把一段對話變成交易機器人的控制介面。接收告警、下達訂單、檢視倉位狀態——一切都可以在手機上完成。下面介紹如何搭建一個可靠且安全的架構,避開常見陷阱。
Telegram 遠不止是即時通訊:它的 API 可以把一段對話變成交易機器人的控制介面。接收告警、下達訂單、檢視倉位狀態——一切都可以在手機上完成。下面介紹如何搭建一個可靠且安全的架構,避開常見陷阱。
為什麼 Telegram 成為了交易控制檯
三大特性解釋了 Telegram 在演算法交易者中的廣泛採用:
- 穩定且免費的 API。 Bot API 和 MTProto API 文件齊全、版本化、免費可用。
- 即時通知。 市場事件與通知到達之間的延遲低於 500 毫秒。
- 會話式介面。 命令(
/status、/close BTC、/pnl)比在手機上登入網頁儀表盤更快。
| 告警渠道 | 延遲 | 互動性 | 移動友好 |
|---|---|---|---|
| Telegram | < 1 秒 | 高(命令、按鈕) | 極佳 |
| 郵件 | 5 至 60 秒 | 低 | 一般 |
| 簡訊 | 1 至 5 秒 | 無 | 良好 |
| Discord | < 1 秒 | 高 | 良好 |
| 原生 App 推送 | < 1 秒 | 可變 | 極佳 |
Telegram 兼具速度與互動性,無需專門開發移動端。
Telegram 交易機器人的架構
一個設計良好的機器人會分離四層:
- Telegram 機器人:接收使用者命令並推送告警。
- 策略引擎:分析市場、生成訊號。
- 交易所聯結器:執行訂單(透過
ccxt連線 Binance、Bybit、Kraken)。 - 資料庫:追蹤訂單、倉位與表現。
這種拆分允許在不動引擎的情況下把 Telegram 機器人替換成其他介面(Discord、Slack),也能在不重寫策略的情況下更換交易所。
7 步建立你的 Telegram 機器人
1. 用 BotFather 建立機器人
在 Telegram 中搜尋 @BotFather。執行 /newbot,選擇名稱和使用者名稱。獲取 token(格式如 123456789:ABCdefGHIjklMNOpqrSTUvwxYZ)。這個 token 等同於密碼——絕不要分享。
2. 保護訪問
如果不加防範,任何人都可以向你的機器人傳送命令。三種保護:
- Telegram ID 白名單。 把你的使用者 ID(可透過
@userinfobot獲取)硬編碼進去。 - 啟用時的密碼。 第一條命令:
/auth 密碼。 - 僅允許 HTTPS Webhook,如果你從輪詢模式切換到 Webhook 模式。
3. 透過 ccxt 接入交易所
import ccxt
exchange = ccxt.binance({
'apiKey': os.environ['BINANCE_KEY'],
'secret': os.environ['BINANCE_SECRET'],
'options': {'defaultType': 'spot'}
})
啟用「交易」,禁用「提現」,在交易所一側把伺服器 IP 加入白名單。
4. 定義命令
| 命令 | 操作 |
|---|---|
/status |
顯示未平倉位與未實現盈虧 |
/balance |
各資產的餘額 |
/buy BTC 100 |
用 100 USDT 買入 BTC |
/close BTC |
平掉 BTC 倉位 |
/pnl 7d |
最近 7 天的表現 |
/strategy on/off |
啟用或停用自動策略 |
/halt |
緊急停止:關閉一切並停掉策略 |
/halt 命令至關重要。你必須能在兩秒內從手機上把一切切斷。
5. 實現自動策略
策略在獨立執行緒的迴圈中執行。它使用與經典 Python 機器人相同的部件:OHLCV 抓取、指標、訊號、執行。當一筆交易開倉或平倉時,它會向 Telegram 頻道推送一條訊息。
6. 上線前先回測
沒有任何 Telegram 命令能替代一次認真的回測。在 3 年的資料上衡量:CAGR、最大回撤(目標 < 25 %)、夏普(> 1)、盈利因子(> 1.5)。在投入第一歐元真金白銀之前,做 14 至 30 天的紙面交易。
7. 部署到 VPS
Telegram 機器人需要 24/7 執行。託管在一臺基礎的 VPS 上(2 vCPU、4 GB 記憶體,每月 5 至 15 歐元)。用 systemd 或 Docker 封裝程序,以便崩潰時自動重啟。
保護 Telegram 機器人:不可妥協的要點
Telegram 機器人面臨多種攻擊向量。請遵循以下清單:
- Bot token 放進環境變數。 決不寫在程式碼裡,決不放到 Git 倉庫裡。
- 獨立的交易所金鑰。 一對專門用於這個機器人的金鑰,可獨立吊銷。
- ID 白名單。 拒絕任何未授權 ID 發來的命令。
- 限流。 限制為每分鐘 10 條命令,防止攻擊者透過你的機器人轟炸交易所。
- 可審計的日誌。 把每條收到的命令連同時間戳、使用者 ID 和結果一起儲存。
- 異常告警。 如果回撤在一小時內超過 5 %,傳送告警並停止策略。
- API 不允許提現。 在交易所一側禁用該許可權。永遠如此。
Telegram 機器人的常見策略
| 策略 | 優勢 | 風險 |
|---|---|---|
| 跟隨某頻道的訊號 | 無需自寫邏輯 | 依賴提供方,有延遲 |
| EMA 自動金叉死叉 | 易讀、穩健 | 震盪行情中假訊號 |
| RSI 極值告警 + 手動下單 | 保持掌控 | 需要你隨時可用 |
| 跨交易所套利 | 方向性風險低 | 手續費和延遲蠶食利潤 |
| 網格交易 | 震盪中表現穩定 | 趨勢中回撤嚴重 |
最佳配置是自動告警 + 手動確認執行的組合,尤其在學習初期。你保留最終控制權,同時擺脫持續盯盤的疲勞。
託管:在哪裡執行機器人
- VPS Hetzner / OVH / DigitalOcean。 每月 5 至 15 歐元。95 % 的場景下都是正確選擇。
- 樹莓派。 誘人但不推薦:斷電、家庭網路中斷、無 SLA。
- 託管雲(Heroku、Railway)。 簡單,但超出免費額度後很貴。
- 本地伺服器。 僅限帶有 ISP 冗餘的專業部署。
選擇靠近交易所的位置:Binance 選東京,Bitstamp 選法蘭克福,Coinbase 選美國。幾十毫秒的差距能為市價單省下滑點。
代價昂貴的錯誤
- 把 Telegram token 放進公開倉庫。 幾分鐘內就會被惡意機器人掃到。
- 沒有緊急停止命令。 當策略失控時,你希望兩秒內
/halt。 - 包含 API 金鑰的過度詳細日誌。 永遠不要記錄任何秘密資訊,哪怕是部分。
- 沒有自動重連。 Telegram 輪詢有時會中斷。實現指數退避重試。
- 只在牛市裡測試過的策略。 在加大資金前,在兩種市場體制下做前向測試。
何時應該選 Obside 而不是自建 Telegram 機器人
構建和維護一個 Telegram 機器人需要時間:V1 大約 40 至 80 小時,之後每週 2 至 5 小時維護。免費建立 Obside 賬號讓你可以用自然語言編寫策略、在 Telegram 上接收告警、幾秒鐘完成回測,並無需寫程式碼就能連線你的券商。你享受自動化的好處,卻不必揹負自建專案的運維債務。
僅為教育性內容。不構成投資建議。交易存在風險,包括可能的本金損失。
常見問題
新手如何開始一個 Telegram 機器人?
先學會用 BotFather 和 python-telegram-bot 建立一個簡單機器人:讓它回應 /start 和 /status。在測試網(Binance Testnet)上加入交易所連線。然後在紙面交易裡實現一個最簡策略。預計 2 至 4 周。
擁有一個可執行的機器人需要多長時間?
一個能用的 V1 版本:精通 Python 的人需要 40 至 80 小時。具備安全、監控與穩健重連的生產版本:2 至 3 個月。
設計不良的機器人有哪些風險?
三類:技術上(靜默崩潰、訂單重複、連線中斷)、安全上(token 被盜、API 金鑰洩露)、策略上(未經測試的策略在實盤部署)。/halt 命令和主動監控是不可或缺的。
是否需要專用 VPS?
是的,95 % 情況下需要。家用樹莓派機器人太脆弱:網路中斷、斷電、停電。每月 5 至 15 歐元的 VPS 消除這些故障點。
一個生產環境的 Telegram 機器人成本是多少?
VPS 5 至 15 歐元,Telegram 0 歐元,加上常規交易所手續費(每筆交易 0.05 至 0.10 %)。在 5,000 歐元資金上,每年大約 1 至 5 % 的運營成本。
能否跟隨外部的 Telegram 訊號?
可以,透過 MTProto API(Python 中用 Telethon)讀取某頻道的訊息。注意:訊號質量完全取決於傳送方。核查可審計的歷史,警惕月收益 >50 % 的承諾。