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 % 的承诺。