适用于 AscendEX 交易策略的 AI 原生运行环境
在 Cursor、Claude Code 或任何 AI IDE 中编写。从 GitHub 部署到托管云端运行环境,具备深度集成的 MCP 控制、日志查看与区域选择功能。
第 01 部分 · 一览
一览
- 交易平台
- AscendEX
- 平台类型
- 加密货币交易所(前身为 BitMax)
- 资产类别
- 加密货币
- 支持的产品
- 现货账户、杠杆账户和期货 (futures v2) 账户;逐仓与全仓杠杆期货仓位
- 运行环境模式
- 容器化策略运行环境
- 部署源
- GitHub
- 编程语言
- 任何可在容器中运行的语言
- 常用集成
- 原生 AscendEX REST 和 WebSocket、CCXT、Freqtrade、Hummingbot、自定义连接器
- AI 工作流集成
- 适用于 Cursor、Claude Code、GitHub Copilot 和 CLI 智能体的 MCP 控制面
- TradingHost 角色
- 运行环境、部署、日志、健康检查、区域选择、MCP 控制
- AscendEX 角色
- 交易所账户、API 接入、市场接入、执行场所
- 关联关系
- TradingHost 是独立平台,与 AscendEX 无任何隶属关系
第 02 部分 · AscendEX 平台功能
AscendEX 平台功能
AscendEX(于 2021 年 3 月由 BitMax 更名而来)将每个账户拆分为三个账户对象(cashAccount、marginAccount、futuresAccount),并且每个私有请求 URL 都必须携带首次认证时返回的每用户 `accountGroup` 值。futures v2 API 运行在其独立的文档页面上。旧版的 BitMax 域名(bitmax.io、btmx.com、btmx.io)已于 2021 年 5 月停用,不再可路由。具体端点会随时间变化。整体架构是稳定的;具体的速率限制权重、手续费等级和交易对列表请参考 AscendEX 的官方文档。
市场与策略模式
- USDT 交易对的现货策略
- 杠杆借贷与逐仓杠杆现货
- USDT 保证金永续合约(v2 API)
- 现货、杠杆与期货账户之间的资金划转
- 逐仓与全仓杠杆期货仓位
- 针对特定账户对象作用域的 API 密钥
- WebSocket 订单簿与交易流消费者
- 子账户隔离的多策略部署
API 接口
- 产品范围
- AscendEX 账户包含三个独立的账户对象:cashAccount(现货)、marginAccount(杠杆)和 futuresAccount(futures v2)。它们之间的划转是显式进行的。futures v2 API 运行在独立的文档集中;旧版的 BitMax 域名(bitmax.io、btmx.com、btmx.io)已于 2021 年 5 月停用,不再可路由。
- 连接方式
- REST 用于下单和账户查询,私有请求需要在 URL 路径前缀中携带 `accountGroup` 值(该值在首次认证时通过账户信息端点返回)。WebSocket 用于行情数据和私有账户事件。公共 WebSocket 流是开放的;私有订阅则受认证范围限制。
- 身份验证
- API 密钥和密钥对使用 HMAC-SHA256 进行签名。首次认证时,账户信息端点会返回 `accountGroup` 值,随后该值必须作为每个私有请求 URL 的前缀。密钥仅对特定的账户对象组合(现货、杠杆、期货)有效;在期货端点上使用现货账户密钥会返回权限错误,而不会进行自动降级。
具体细节请参考 AscendEX
具体端点、速率限制权重、交易对列表、手续费等级和版本历史均记录在 AscendEX 的官方文档中。请以此为准。
第 03 部分 · 用 AI 构建
用 AI 构建您的 AscendEX 策略
选择一种集成方式,Fork 一个 TradingHost 框架模板,然后在 AI IDE 中编写您的策略。Cursor、Claude Code、GitHub Copilot 以及基于 CLI 的 AI Agent 均可无缝接入相同的 GitHub 原生部署循环。
原生 AscendEX API
直接控制 AscendEX 的特定行为,包括以 accountGroup 为前缀的 URL 方案以及现货/杠杆/期货账户对象的拆分。
自定义连接器
您自己的内部交易引擎或专有的 AscendEX 集成,负责处理 accountGroup 的获取和 HMAC-SHA256 签名方案。
框架对 AscendEX 产品的支持情况
支持范围因框架而异。CCXT 涵盖 AscendEX 现货和合约市场(包括 futures v2);Freqtrade 支持现货;Hummingbot 支持现货并提供部分合约支持;原生 AscendEX API 涵盖 AscendEX 提供的所有功能,包括现货、杠杆和期货账户之间的跨账户划转。
✓ 表示官方框架文档确认支持。“no” 表示官方文档未说明支持。“partial” 表示支持有限。工作流链接指向目前正在编写的 /workflows/ 页面。
TradingHost 不强求特定的框架,它只负责运行您的项目。
使用 AI 编写
上述框架模板与 AI IDE 是绝佳的搭配。TradingHost 的 MCP 控制面实现了闭环:AI 工具可以与您一同检查部署、查看日志并管理运行环境,但绝不会介入交易执行路径。
Section 04 · 在 TradingHost 上运行
在 TradingHost 上运行您的代码
AscendEX 提供交易所和 API 访问。TradingHost 则提供生产环境,用于运行您连接到 AscendEX 的策略。
无需在笔记本电脑、台式机、通用 VPS 或手动配置的服务器上运行策略代码,您只需从 GitHub 部署到由 TradingHost 托管的容器运行环境中。
您
- 您的代码库包含您的代码。
- 您的部署定义了其运行方式。
- 您的策略连接到 AscendEX。
TradingHost
- 保持运行环境持续在线。
- 呈现日志和健康状况检查。
- 区域选择。
- 受控的部署环境。
部署流程
- 步骤 01
连接 GitHub
授权 TradingHost 访问您的 GitHub 帐户。
- 步骤 02
关联代码库或从框架开始
将 TradingHost 指向您现有的策略代码库,或者派生 (fork) 一个 TradingHost 框架运行环境(CCXT、Freqtrade 或 Hummingbot)以获取可直接运行的基础模板。
- 步骤 03
部署至 TradingHost 容器
选择一个区域(EU 或 US-East),提供策略所需的环境变量(AscendEX API key、secret 以及 account-info 端点返回的 accountGroup 值),然后进行部署。TradingHost 会根据您的代码仓库构建容器,并在托管的 Kubernetes 基础设施上运行您的策略。无需在本地安装 Docker。
- 步骤 04
监控日志与健康状况
通过 TradingHost 控制面板实时查看日志、健康状况和运行状态。该界面同样支持在任何 AI IDE 中通过 MCP 进行访问,方便 Cursor、Claude Code 或 CLI 智能体与您协同读取部署状态并管理运行环境。
- 步骤 05
更新与重新部署
将代码更改推送到 GitHub 的主分支(main branch),TradingHost 便会自动重新部署。
Section 05 · 运维说明
AscendEX 运维说明
在容器化云端运行环境中实际运行 AscendEX 策略时可能遇到的坑,这些内容在 AscendEX 文档或框架的 README 中是找不到的。以下所有内容均引用或转述自 AscendEX 的官方文档;部署侧的指南则源于在 TradingHost 上运行这些策略的实际经验。
01 · accountGroup
私有请求需要在 URL 中添加 accountGroup 前缀
AscendEX 的私有请求路由为 `https://ascendex.com/<accountGroup>/api/pro/...`。`accountGroup` 值是因用户而异的,并在首次认证时由账户信息端点返回。一个常见的隐性错误是在模板中将 `accountGroup` 硬编码为一个已知值,而忘记了它因账户而异;这会导致即使密钥正确,私有请求也会返回 404 或路由错误。请在策略启动时获取一次 `accountGroup`,并在部署生命周期内将其缓存到运行环境的环境变量中。
02 · 账户对象
现货、杠杆和期货是三个独立的账户对象
一个 AscendEX 用户账户包含三个账户对象:`cashAccount`(现货)、`marginAccount`(杠杆)和 `futuresAccount`(futures v2)。每个对象都有自己的余额和 API 作用域。它们之间的划转需要通过显式的端点进行,而不是隐式的保证金变动。如果策略需要将期货仓位平仓后的资金变现到现货账户,必须在平仓后调用划转端点;这不会自动发生。请为生产环境的策略分配合适的账户对象密钥,以避免现货账户密钥意外触发期货下单。
03 · 历史域名
bitmax.io、btmx.com 和 btmx.io 已于 2021 年 5 月 21 日停止路由
AscendEX 于 2021 年 3 月由 BitMax 更名而来。历史域名(`bitmax.io`、`btmx.com`、`btmx.io`)已于 UTC 时间 2021 年 5 月 21 日 15:00 完全停用。仍指向这些域名的旧集成会返回 DNS 或路由失败。新的集成必须指向 AscendEX 域名和更新后的文档。网络上仍能找到旧的 BitMax 教程和论坛帖子,请将其视为已废弃的内容,在复制其代码前,务必对照当前文档进行验证。
04 · 风险隔离
逐仓期货持仓可限制跨账户爆仓风险
AscendEX 期货支持逐仓(isolated)和全仓(cross)保证金模式。逐仓持仓将损失限制在已划转的保证金内,爆仓不会波及全仓账户或其他持仓。对于其中一个策略持仓大于其他策略的多策略部署,建议优先选择逐仓保证金:逐仓爆仓可以干净利落地平仓,而不会影响其他持仓。请在您的代码仓库中记录保证金模式,以确保重新部署时不会在无意中更改它。
05 · WebSocket 作用域
私有 WebSocket 订阅的身份验证作用域限定在具体的账户对象上
AscendEX 的私有 WebSocket 频道作用域限定在特定的账户对象(cashAccount、marginAccount 或 futuresAccount)上。如果使用针对不同账户对象生成的 API 密钥订阅私有频道,系统会返回订阅错误,而不会自动转换作用域。请确保 WebSocket 订阅路径与生成该密钥的账户对象相匹配,并在您的机密信息清单(secrets manifest)中将该配对与密钥一同记录。期货策略如果使用现货账户(cash-account)密钥下单,却订阅了期货账户(futures-account)的 WebSocket,是常见的配置不匹配原因。
Section 06 · 适用场景
适用场景
TradingHost AscendEX 运行环境最适合用于:
- 在 AI IDE(Cursor、Claude Code)中构建策略的开发者
- 系统化加密货币交易员
- 量化开发人员
- CCXT、Freqtrade 和 Hummingbot 用户
- 从 VPS 托管转向容器化部署的团队
连接 GitHub 并创建首个策略完全免费。
Section 08 · 常见问题
常见问题
没有。TradingHost 是独立的,与 AscendEX 没有任何隶属或合作关系。
不会。您的策略代码会根据您自己的逻辑、账户权限和集成方式连接到 AscendEX 并发送指令。TradingHost 仅提供运行该代码的托管运行环境。
不提供。AscendEX API 访问权限由 AscendEX 提供。您需要自行负责您的 AscendEX 账户、API 权限、凭据以及对 AscendEX 条款的合规性。
不是。TradingHost 是运行您策略代码的云端运行环境。我们不提供交易信号、AI 预测模型或预建的机器人。使用 TradingHost,您可以自己编写或生成策略(通常使用 Cursor 或 Claude Code),将其作为您自己的代码保存在 GitHub 中,并使用 TradingHost 在生产环境中运行它。3Commas、Cryptohopper 及类似产品拥有策略逻辑,而 TradingHost 则是运行您自己的策略。
AWS 和 DigitalOcean 为您提供的是原始算力。您需要自己处理操作系统更新、容器编排、日志传输、机密轮换、区域故障转移和运行时间监控。而 TradingHost 为您提供专为交易策略打造的托管运行环境:开箱即用的 GitHub 原生部署、来自 AI IDE 的 MCP 驱动控制、日志和健康状况监控界面。如果您想自己运营基础设施,AWS 可以满足需求。如果您希望将运行环境作为托管服务,TradingHost 是更便捷的途径。
可以。TradingHost 支持运行 Python 策略;您可以选择与您的技术栈匹配的框架运行环境,或者部署您自己的代码仓库。
可以。TradingHost 支持任何可在容器内运行的语言。
可以。CCXT 通过统一的 `ascendex` 类公开 AscendEX 的现货和掉期(swap)市场。将您的 CCXT 策略放入容器中,将其指向 GitHub,TradingHost 就会像运行其他 Python 或 Node项目一样运行它。请参阅 CCXT 框架运行环境以了解完整的设置流程。
可以,只要您的项目是这样设计的。您可以在一个运行环境中运行多个策略进程或服务,也可以将它们拆分到不同的运行环境中,以实现隔离和操作清晰。AscendEX 针对每个账户对象的密钥作用域划分,非常适合多策略模型。有关多策略模型的更多信息,请参阅 TradingHost 运行环境页面。
最快的方法是 Fork 一个 TradingHost 框架运行环境:CCXT、Freqtrade 或 Hummingbot,以获取开箱即用的部署项目。或者连接您自己的 GitHub 策略仓库。关联 GitHub 仓库并创建策略是免费的;运行环境方案已在定价页面列出。
保存在您由 GitHub 控制的机密信息(secrets)工作流中。TradingHost 在运行时通过 GitHub 仓库机密、环境机密或您自己认可的机密管理流程读取它们。TradingHost 不需要托管您的 AscendEX API 密钥、私钥或 accountGroup 值。有关完整的处理模型,请参阅平台机密信息。
不需要。策略绝不需要提币权限。请使用限定范围的权限(只读、交易),并完全关闭策略密钥的提币功能。AscendEX 针对每个账户对象发放密钥,因此现货、杠杆和期货端各自拥有独立的密钥界面;请将具有提币功能的密钥完全独立开来,切勿将其放入策略运行环境中。
可以。TradingHost 支持针对 AI IDE(包括 Cursor、Claude Code、GitHub Copilot)以及基于 CLI 的 AI 代理的 MCP 控制。AI 工具可以检查部署、查看日志、重启策略并管理运行环境工作流。MCP 是一个控制和可观测性界面,而不是交易执行路径。有关完整信息,请参阅 MCP 控制界面。
两者皆可。MCP 控制界面在基于 CLI 的代理(Claude Code CLI、自定义 MCP 客户端、脚本化 MCP 调用)以及 IDE 内部同样表现出色。此外,GitHub 原生部署循环在没有任何 AI 工具的情况下也能正常工作:向您的主分支(main branch)进行常规的 git push 即可触发重新部署。
运行环境会检测到崩溃并展示相关的日志和健康信息。在支持的情况下,可以重启受影响的策略,而不会干扰在同一容器中运行的其他策略。您的策略代码仍需负责安全错误处理、重复订单保护和风险控制。有关日志和健康状况界面,请参阅可观测性。
AscendEX 的私有请求路由在 `https://ascendex.com/<accountGroup>/api/pro/...` 下。`accountGroup` 值是因用户而异的,并在首次身份验证时由账户信息(account-info)端点返回。如果您复制的模板将 `accountGroup` 硬编码为已知值或假定其为 `0`,即使密钥正确,请求也会返回 404。请在启动时获取 `accountGroup`,将其缓存到运行环境的环境变量中,切勿进行硬编码。有关完整指南,请参阅上方的“操作说明”部分。
TradingHost 在 EU 和 US-East 区域运行。请选择最靠近您策略所依赖的撮合引擎的区域。有关路由和延迟的详细信息,请参阅区域页面。
不进行。TradingHost 专注于生产环境的运行和部署。回测属于您的研究技术栈、框架或 AlgoBuilder。