15. Telegram远程交易

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 Token
  • AUTHORIZED_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 启动后,第一次使用需要完成几个配置步骤:

  1. 在 Telegram 中向你的机器人发送 /start 命令,如果 User ID 不在白名单中,机器人会提示无权限并显示你的 User ID,这时需要把该 ID 添加到 AUTHORIZED_USERS 环境变量中,然后重启 Condor。

  2. 使用 /config 命令进入配置菜单,选择 API Servers 添加 Hummingbot API 实例。需要输入服务器地址(通常是 localhost:8000 或内网 IP)、用户名和密码。可以添加多个服务器,Condor 会默认使用第一个。

  3. 接着在 API Keys 菜单中添加交易所凭证。选择账户名(默认是 master_account),然后选择交易所连接器,按照提示输入 API Key 和 Secret。Condor 会自动测试连接是否成功。

  4. 如果需要交易 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,包括自动启动配置、无头模式部署、日志管理等进阶话题,让交易策略真正达到机构级的稳定性。