阅读时间 … 分钟

适用于 AscendEX 交易策略的 AI 原生运行环境

在 Cursor、Claude Code 或任何 AI IDE 中编写。从 GitHub 部署到托管云端运行环境,具备深度集成的 MCP 控制、日志查看与区域选择功能。

由 TradingHost 工程团队撰写

第 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 方案以及现货/杠杆/期货账户对象的拆分。

  • CCXT

    跨 AscendEX 和其他加密货币交易所的通用接口。CCXT 通过统一的 `ascendex` 类公开 AscendEX 的现货和合约(swap)市场。

  • Freqtrade 或 Hummingbot

    使用其策略结构和配置模型的基于框架的部署。两者都将 AscendEX 列为支持的交易所。

  • 自定义连接器

    您自己的内部交易引擎或专有的 AscendEX 集成,负责处理 accountGroup 的获取和 HMAC-SHA256 签名方案。

框架对 AscendEX 产品的支持情况

支持范围因框架而异。CCXT 涵盖 AscendEX 现货和合约市场(包括 futures v2);Freqtrade 支持现货;Hummingbot 支持现货并提供部分合约支持;原生 AscendEX API 涵盖 AscendEX 提供的所有功能,包括现货、杠杆和期货账户之间的跨账户划转。

框架现货永续杠杆Futures v2
Native AscendEX API已支持已支持已支持已支持
CCXT已支持已支持部分支持已支持
Freqtrade已支持未记录支持未记录支持未记录支持
Hummingbot已支持部分支持未记录支持部分支持

✓ 表示官方框架文档确认支持。“no” 表示官方文档未说明支持。“partial” 表示支持有限。工作流链接指向目前正在编写的 /workflows/ 页面。

TradingHost 不强求特定的框架,它只负责运行您的项目。

使用 AI 编写

上述框架模板与 AI IDE 是绝佳的搭配。TradingHost 的 MCP 控制面实现了闭环:AI 工具可以与您一同检查部署、查看日志并管理运行环境,但绝不会介入交易执行路径。

Section 04 · 在 TradingHost 上运行

在 TradingHost 上运行您的代码

AscendEX 提供交易所和 API 访问。TradingHost 则提供生产环境,用于运行您连接到 AscendEX 的策略。

无需在笔记本电脑、台式机、通用 VPS 或手动配置的服务器上运行策略代码,您只需从 GitHub 部署到由 TradingHost 托管的容器运行环境中。

您

  • 您的代码库包含您的代码。
  • 您的部署定义了其运行方式。
  • 您的策略连接到 AscendEX。

TradingHost

  • 保持运行环境持续在线。
  • 呈现日志和健康状况检查。
  • 区域选择。
  • 受控的部署环境。

部署流程

  1. 步骤 01

    连接 GitHub

    授权 TradingHost 访问您的 GitHub 帐户。

  2. 步骤 02

    关联代码库或从框架开始

    将 TradingHost 指向您现有的策略代码库,或者派生 (fork) 一个 TradingHost 框架运行环境(CCXT、Freqtrade 或 Hummingbot)以获取可直接运行的基础模板。

  3. 步骤 03

    部署至 TradingHost 容器

    选择一个区域(EU 或 US-East),提供策略所需的环境变量(AscendEX API key、secret 以及 account-info 端点返回的 accountGroup 值),然后进行部署。TradingHost 会根据您的代码仓库构建容器,并在托管的 Kubernetes 基础设施上运行您的策略。无需在本地安装 Docker。

  4. 步骤 04

    监控日志与健康状况

    通过 TradingHost 控制面板实时查看日志、健康状况和运行状态。该界面同样支持在任何 AI IDE 中通过 MCP 进行访问,方便 Cursor、Claude Code 或 CLI 智能体与您协同读取部署状态并管理运行环境。

  5. 步骤 05

    更新与重新部署

    将代码更改推送到 GitHub 的主分支(main branch),TradingHost 便会自动重新部署。

Section 05 · 运维说明

AscendEX 运维说明

在容器化云端运行环境中实际运行 AscendEX 策略时可能遇到的坑,这些内容在 AscendEX 文档或框架的 README 中是找不到的。以下所有内容均引用或转述自 AscendEX 的官方文档;部署侧的指南则源于在 TradingHost 上运行这些策略的实际经验。

  1. 01 · accountGroup

    私有请求需要在 URL 中添加 accountGroup 前缀

    AscendEX 的私有请求路由为 `https://ascendex.com/<accountGroup>/api/pro/...`。`accountGroup` 值是因用户而异的,并在首次认证时由账户信息端点返回。一个常见的隐性错误是在模板中将 `accountGroup` 硬编码为一个已知值,而忘记了它因账户而异;这会导致即使密钥正确,私有请求也会返回 404 或路由错误。请在策略启动时获取一次 `accountGroup`,并在部署生命周期内将其缓存到运行环境的环境变量中。

  2. 02 · 账户对象

    现货、杠杆和期货是三个独立的账户对象

    一个 AscendEX 用户账户包含三个账户对象:`cashAccount`(现货)、`marginAccount`(杠杆)和 `futuresAccount`(futures v2)。每个对象都有自己的余额和 API 作用域。它们之间的划转需要通过显式的端点进行,而不是隐式的保证金变动。如果策略需要将期货仓位平仓后的资金变现到现货账户,必须在平仓后调用划转端点;这不会自动发生。请为生产环境的策略分配合适的账户对象密钥,以避免现货账户密钥意外触发期货下单。

  3. 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 教程和论坛帖子,请将其视为已废弃的内容,在复制其代码前,务必对照当前文档进行验证。

  4. 04 · 风险隔离

    逐仓期货持仓可限制跨账户爆仓风险

    AscendEX 期货支持逐仓(isolated)和全仓(cross)保证金模式。逐仓持仓将损失限制在已划转的保证金内,爆仓不会波及全仓账户或其他持仓。对于其中一个策略持仓大于其他策略的多策略部署,建议优先选择逐仓保证金:逐仓爆仓可以干净利落地平仓,而不会影响其他持仓。请在您的代码仓库中记录保证金模式,以确保重新部署时不会在无意中更改它。

  5. 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。