15.Telegram远程交易
在真实的交易场景中,经常会出现这样的时刻:外出时突然想查看机器人运行状态,或者市场剧烈波动时需要紧急调整策略参数,甚至只是想快速扫一眼各个交易所的余额。这时候,如果只能通过 SSH 连接到服务器,再启动 Hummingbot 客户端输入命令,就显得有些笨拙了。Condor 的出现,正是为了解决这个痛点——它把 Hummingbot 的核心功能搬到了 Telegram 上,让我们能在手机上随时随地管理交易机器人。
Condor 架构与集成点
Condor 本质上是一个 Telegram Bot,它充当了 Telegram 与 Hummingbot 基础设施之间的安全桥梁。不同于直接在 Telegram 里运行交易逻辑,Condor 的设计非常清晰:它只负责接收用户的指令,然后将这些指令翻译成标准的 API 请求,发送给后端的 Hummingbot API 服务。这种分层架构既保证了安全性,也让整个系统更容易维护。
系统架构解析
整个系统的数据流是这样的:我们在 Telegram 上发送一条消息,Condor 接收到后,通过内部的命令处理器判断要执行什么操作,然后调用 Hummingbot API 的相应接口。API 服务再与实际的 Hummingbot 交易机器人或 Gateway DEX 中间件通信,最后把结果沿着原路返回,在 Telegram 里以友好的格式展示出来。
Telegram 用户
↓
Condor Bot
↓
├─→ Hummingbot Backend API → 交易机器人
├─→ Gateway → DEX 协议(Uniswap、Jupiter 等)
└─→ 未来可能集成的 AI 功能
这种设计有几个明显的好处。首先,Telegram 端不存储任何交易所的 API 密钥,所有敏感信息都保存在后端的 Hummingbot API 服务中,通过加密存储保护。其次,Condor 支持多用户白名单机制,只有被授权的用户 ID 才能操作,避免了机器人被恶意利用的风险。最后,由于 Condor 与交易逻辑完全解耦,即使 Telegram 端出现临时故障,也不会影响正在运行的交易策略。
核心组件
Condor 的代码结构非常模块化,主要包含几个关键部分:
命令处理器是业务逻辑的核心。每个 Telegram 命令都有对应的处理器文件,比如 portfolio.py 负责投资组合展示,bots/ 目录下处理机器人监控,cex/ 和 dex/ 分别处理中心化与去中心化交易。这种组织方式让功能扩展变得简单,如果想添加新命令,只需新建一个处理器即可。
API 集成层负责与 Hummingbot Backend API 的安全通信。它使用标准的 REST 协议,所有请求都经过认证。这个模块还处理了错误重试、超时控制等网络层面的细节,确保在移动网络不稳定的情况下也能可靠工作。
数据处理工具将 API 返回的原始数据格式化成 Telegram 友好的消息。比如把复杂的仓位数据转换成简洁的表格,或者将交易历史绘制成简单的图表。这些格式化的消息支持 Markdown 语法,让关键信息一目了然。
Telegram 机器人安装配置
安装 Condor 最推荐的方式是使用 Docker,它能自动处理所有依赖,避免环境配置的烦恼。整个流程大概十分钟就能完成,主要分为准备、配置和启动三个步骤。
准备工作
开始前需要确保几样东西已经就绪:
- Docker 和 Docker Compose 已安装并正常运行
- 一个正在运行的 Hummingbot API 实例(参考第 14 章的内容)
- 从 @BotFather 获取的 Telegram Bot Token
获取 Bot Token 很简单,在 Telegram 里搜索 @BotFather,发送 /newbot 命令,按照提示设置机器人名称和用户名,完成后会收到一串类似 123456789:ABCdefGHIjklMNOpqrsTUVwxyz 的 Token,这就是机器人的身份凭证。
同时还需要知道自己的 Telegram User ID,这是授权机制的关键。搜索 @userinfobot,发送 /start 后会返回你的用户信息,其中 Id 字段就是 User ID,通常是一串数字。
Docker 方式安装
准备好之后,开始正式安装。首先克隆 Condor 的代码仓库:
git clone https://github.com/hummingbot/condor.git
cd condor
然后运行环境配置脚本,这个脚本会引导你输入必要的配置信息:
./setup-environment.sh
脚本会提示输入两个关键信息:
TELEGRAM_TOKEN:刚才从 @BotFather 获取的 Bot TokenAUTHORIZED_USERS:允许使用这个机器人的 Telegram User ID,多个用户用逗号分隔
配置完成后,启动 Condor 服务:
docker compose up -d
这条命令会在后台启动 Condor 容器。可以通过 docker logs condor 查看启动日志,如果看到 Bot is running... 的提示,说明启动成功。
源码方式安装
如果想修改 Condor 的代码或参与开发,可以选择从源码安装。这种方式需要 Python 3.11+ 和 Conda 环境。
git clone https://github.com/hummingbot/condor.git
cd condor
conda env create -f environment.yml
conda activate condor
./setup-environment.sh
python main.py
源码安装的优势是修改代码后无需重新构建 Docker 镜像,直接重启即可生效。但生产环境还是推荐使用 Docker 方式,更稳定也更容易管理。
首次配置
Condor 启动后,第一次使用需要完成几个配置步骤:
在 Telegram 中向你的机器人发送
/start命令,如果 User ID 不在白名单中,机器人会提示无权限并显示你的 User ID,这时需要把该 ID 添加到AUTHORIZED_USERS环境变量中,然后重启 Condor。使用
/config命令进入配置菜单,选择 API Servers 添加 Hummingbot API 实例。需要输入服务器地址(通常是localhost:8000或内网 IP)、用户名和密码。可以添加多个服务器,Condor 会默认使用第一个。接着在 API Keys 菜单中添加交易所凭证。选择账户名(默认是
master_account),然后选择交易所连接器,按照提示输入 API Key 和 Secret。Condor 会自动测试连接是否成功。如果需要交易 DEX,在 Gateway 菜单中部署 Gateway 服务。可以选择
latest稳定版或development开发版镜像,Condor 会自动拉取并启动容器。
完成这些步骤后,Condor 就配置好了,可以开始使用各种命令管理交易。
投资组合监控命令
投资组合监控是 Condor 最常用的功能之一。通过 /portfolio 命令,可以实时查看所有连接交易所的资产分布、盈亏情况和历史表现,所有数据都聚合在一个界面里,非常方便。
投资组合总览
发送 /portfolio 命令后,Condor 会返回一个完整的仪表板,包含几个核心部分:
PnL 追踪显示 24 小时、7 天和 30 天的绩效指标,自动检测充值和提现,并生成历史盈亏图表。这些数据直接从交易所获取,确保了准确性。
持仓分布列出所有代币在各个账户中的余额,显示 24 小时价格变化百分比。对于永续合约,还会展示未实现盈亏和仓位方向。
流动性池仓位如果通过 Gateway 参与了 DEX 的流动性挖矿,这里会显示所有 CLMM 仓位,包括是否在价格区间内、未收取的手续费、仓位价值和盈亏。
仪表板底部还有图形化分析,包括投资组合价值的历史曲线、代币分布的饼图,以及按账户划分的资产占比。点击 ⚙️ Settings 可以调整时间周期(1 天、3 天、7 天等),点击 🔄 Refresh 可以强制从交易所更新最新数据。
使用示例
查看投资组合非常简单:
/portfolio
Condor 会立即返回一个格式化的消息,包含所有关键信息。如果想看特定时间段的表现,先点击设置按钮选择时间范围,再刷新数据。
对于多账户管理,Condor 支持在配置中添加多个账户,比如 master_account 和 team_account。在查看投资组合时,可以选择查看单个账户或所有账户的合并数据,这对于管理不同策略的资金非常有用。
交易执行与订单管理
Condor 提供了统一的交易界面,支持在中心化交易所(CEX)和去中心化交易所(DEX)上执行交易。通过 /trade 和 /swap 命令,可以快速下单、管理仓位、设置杠杆,所有操作都在 Telegram 的交互式菜单中完成。
CEX/CLOB 交易
/trade 命令用于在中心化交易所进行交易,支持现货和永续合约。操作流程非常直观:
首先选择交易所连接器,比如 binance 或 bybit_perpetual。然后输入交易对,格式为 BTC-USDT。接着选择买卖方向,Condor 会实时显示当前市场的买卖盘口价格作为参考。
下单类型支持市价单和限价单。对于市价单,只需输入金额,可以用 $100 表示 100 美元的价值,Condor 会自动换算成对应的代币数量;也可以用 0.01 表示精确的代币数量。对于限价单,除了金额还需要输入价格。
设置杠杆是永续合约交易的重要功能。在交易菜单中点击 ⚡ Leverage,选择交易所和交易对,然后输入杠杆倍数(1-125x 取决于交易所支持),确认后即可生效。
仓位管理方面,点击 📊 Positions 可以查看所有未平仓的永续合约仓位,包括入场价格、标记价格、未实现盈亏、杠杆倍数和方向。选择某个仓位后,可以点击 Close Position 以市价平仓。
订单管理也很方便,点击 🔍 Orders 查看所有未成交的挂单,可以单独取消某个订单,或者一键取消所有订单。
DEX 代币兑换
/swap 命令专门用于去中心化交易所的代币兑换,通过 Gateway 连接到 Jupiter、Uniswap 等 DEX 聚合器。操作流程与 CEX 类似,但增加了一些 DEX 特有的选项:
选择网络(如 Solana、Ethereum、Base),然后选择 DEX 路由器(如 Jupiter)。输入交易对时,可以直接用 SOL-USDC 这样的格式。输入金额后,建议先点击 📋 Quote 获取实时报价,Condor 会返回详细的信息,包括价格、滑点、价格影响、预计收到的代币数量、交易手续费等。
滑点保护是 DEX 交易的重要设置,默认是 1%,可以根据市场波动情况调整。确认报价无误后,点击 ✅ Execute 执行兑换,Condor 会提交交易并监控链上确认状态。
快速兑换功能可以重复上一次的兑换参数,只需修改金额即可,适合频繁交易的用户。兑换历史记录了所有交易,可以查看状态、交易哈希,点击链接还能在浏览器中查看详细的链上信息。
使用示例
市价买入:
/trade
选择 binance → 输入 SOL-USDT → 选择 BUY → 输入 $100 → 执行
限价卖出:
/trade
选择 bybit_perpetual → 输入 BTC-USDT → 选择 SELL → 选择 LIMIT → 输入 0.01 → 输入 95000 → 执行
DEX 兑换:
/swap
选择 Solana → 选择 jupiter → 输入 SOL-USDC → 选择 BUY → 输入 10 → 获取报价 → 执行
流动性池管理操作
对于参与 DeFi 流动性挖矿的用户,/lp 命令提供了完整的 CLMM(集中流动性做市商)仓位管理功能。可以查看所有流动性仓位、收取手续费、添加或移除流动性,还能浏览不同 DEX 的池子信息。
仓位管理
查看仓位会列出所有活跃的流动性仓位,显示每个仓位的状态:🟢 表示价格在区间内,🔴 表示价格已超出范围。还会显示未收取的手续费、当前仓位价值和盈亏情况。
收取手续费操作很简单,在仓位列表中点击 💰 Collect,Condor 会自动调用合约将累积的手续费提取到钱包。如果有多个仓位,也可以使用 💰 Collect All 一次性收取所有手续费。
添加流动性需要先浏览池子信息。点击 📋 Pools 进入池子浏览器,选择网络和 DEX 连接器,可以看到可用的池子列表,包含 TVL、24 小时交易量、手续费等级等关键数据。选择池子后,输入要添加的代币数量,设置价格范围,确认即可开仓。
移除流动性时,选择要操作的仓位,点击 ❌ Close 或 Remove,指定移除的比例(可以部分移除),确认后仓位会关闭,代币和手续费会返回到钱包。
池子探索
Condor 集成了 GeckoTerminal 的数据,可以方便地浏览和分析池子。在池子浏览器中,可以按 TVL、交易量、手续费收入等指标排序,找到优质的挖矿机会。点击某个池子还能查看详细的分析,包括历史表现、风险指标等。
使用示例
查看所有仓位:
/lp
收取单个仓位手续费:
/lp
点击仓位旁的 "💰 Collect" → 确认
探索新池子:
/lp
点击 "📋 Pools" → 选择网络 → 选择连接器 → 浏览池子
远程配置管理
Condor 的配置管理功能非常强大,通过 /config 命令可以完成整个交易系统的配置,包括 API 服务器、交易所凭证、Gateway 部署、钱包管理等,所有操作都在 Telegram 的菜单中完成,无需手动编辑配置文件。
API 服务器管理
添加服务器时,点击 ➕ Add Server,然后按提示逐步输入:
- Name:唯一标识符,如
main、prod、dev - Host:服务器地址,可以是
localhost或内网 IP 如192.168.1.100 - Port:API 端口,默认是
8000 - Username 和 Password:API 的认证信息
输入完成后,Condor 会自动测试连接,成功后服务器就添加到了列表中。修改服务器信息只需点击服务器名称,然后选择要修改的字段,输入新值即可立即生效。删除服务器也是类似操作,点击 🗑 Delete 并确认。
设置默认服务器很重要,Condor 会使用默认服务器执行所有操作。点击服务器名称,然后选择 ⭐ Set as Default,该服务器就会被标记为默认。
服务器状态会实时显示:🟢 Online 表示连接正常,🔴 Offline 表示无法连接,🔴 Auth Error 表示认证失败。
API 密钥管理
添加 API 密钥时,先选择账户(如 master_account),然后选择交易所连接器。不同交易所需要的字段不同,常见的有 api_key 和 api_secret,永续合约可能还需要 api_passphrase。输入凭证后,Condor 会自动测试连接,成功后会有确认提示。
安全特性值得注意:输入的密钥信息在消息发送后会立即删除,不会留在聊天记录中;存储在 Hummingbot API 中时也是加密的;显示时用 **** 代替真实内容,防止泄露。
Gateway 配置
部署 Gateway 是 DEX 交易的前提。在 🌐 Gateway 菜单中点击 🚀 Deploy,选择 Docker 镜像版本(latest 稳定版或 development 开发版),Condor 会自动拉取镜像并启动容器。部署完成后,可以通过 📝 Logs 查看日志,排查问题。
钱包管理是 DEX 交易的核心。点击 💼 Wallets → ➕ Add Wallet,选择区块链(如 Solana、Ethereum),然后输入私钥。安全提示:私钥消息会立即删除,只保存在 Gateway 的加密存储中。添加成功后,可以在列表中查看钱包地址和余额。
网络配置允许自定义 RPC 节点、Gas 设置等参数。选择网络后,可以修改 RPC URL、Chain ID、Gas Price 等,这些设置会直接影响交易速度和成本。
DEX 连接器配置可以查看和修改各个 DEX 的参数。Condor 支持 AMM、CLMM 和 Router 三种类型的连接器,每种都有不同的配置选项。
使用示例
添加 API 服务器:
/config
点击 "🔌 API Servers" → "➕ Add Server"
Name: "production"
Host: "192.168.1.100"
Port: "8000"
Username: "admin"
Password: "mypassword"
确认
添加交易所凭证:
/config
点击 "🔑 API Keys" → 选择账户 → 选择 "binance"
输入 api_key → 输入 api_secret → 自动测试 → 成功
部署 Gateway:
/config → "🌐 Gateway" → "🚀 Deploy"
选择 "latest" → 等待部署 → 成功
添加钱包:
/config → "🌐 Gateway" → "💼 Wallets"
点击 "➕ Add Wallet" → 选择 "solana-mainnet-beta"
输入私钥(立即删除)→ 钱包地址确认
实际使用场景与最佳实践
Condor 的设计初衷是移动化监控和紧急操作,而不是完全替代桌面端的深度管理。理解这一点,有助于更好地利用它的优势。
场景一:移动监控
出门在外时,每隔几小时用 /portfolio 查看整体盈亏,用 /bots 检查机器人健康状态。如果发现某个策略的亏损超出预期,可以立即用 /bots 停止该控制器,避免进一步损失。
场景二:紧急交易
市场突然暴跌,手机收到价格预警。立即打开 Telegram,用 /trade 快速平仓或对冲。相比打开交易所 App,Condor 的优势在于可以直接操作机器人管理的仓位,保持策略的一致性。
场景三:DEX 机会捕捉
发现某个 DEX 池子有临时的高收益机会。用 /swap 快速兑换代币,然后用 /lp 添加流动性。整个过程无需切换多个应用,在 Telegram 里就能完成。
最佳实践:
- 设置强密码和白名单,确保只有信任的用户能访问
- 定期通过
/config检查 API 连接状态,避免凭证过期 - 大额交易还是建议在桌面端操作,手机端适合小额快速操作
- 利用 Condor 的日志功能,及时发现异常交易行为
总结
Condor 把 Hummingbot 的强大功能封装成了 Telegram 上的便捷操作,让交易管理不再受地点和设备的限制。它的架构设计兼顾了安全性和易用性,通过分层处理确保了核心交易逻辑的稳定。
从安装配置到日常使用,Condor 都体现了"移动优先"的设计理念。无论是查看投资组合、监控机器人状态,还是执行紧急交易,都能在几分钟内完成。对于需要 24/7 监控策略的交易者来说,这无疑是提升效率的利器。
当然,Condor 并不是要完全取代 Hummingbot 的桌面客户端。它更适合作为移动端的补充,处理那些需要快速响应的场景。复杂的策略配置和参数优化,还是建议在桌面端进行。
下一章,我们将探讨如何在生产环境中部署和运维 Hummingbot,包括自动启动配置、无头模式部署、日志管理等进阶话题,让交易策略真正达到机构级的稳定性。