Gate CrossEx+TradingView webhook:key 打 7 家交易所
你可能在 Google 打过 gate crossex api tradingview webhook——autocomplete 直接补完这句话。但点进去的前 8 个结果不是 Gate 官方写「CrossEx 是什么」,就是拼装来的旧 API 教程。真正想知道的那件事「我的 TradingView alert 怎么一个 webhook 打进 7 家交易所」,没有一篇正面回答。
POST /crossex/orders,Gate 帮你送到 Binance、OKX、Bybit、Kraken、Hyperliquid、Deribit 或 Gate 自己。但它不吃 TradingView 送出来的 webhook payload——TradingView 送的是它自己的 JSON,Gate 收的是自己的 API 格式,中间那段没人先跟你讲。Gate CrossEx 究竟是什么?一把 key 打进哪 7 家?
先把名词讲清楚。API,也就是应用程序对外开放的数据通道,让你的程序直接调用,不用点网页 UI。API key 是给你的程序用的那组认证字符串——密码等级,外泄就是别人可以用你的名义下单。
Gate v4 API 官方页面对 CrossEx 的原文写着:「CrossEx is a unified multi-venue exchange surface: Binance, OKX, Gate, Bybit, Kraken, Hyperliquid, and Deribit tie into one account shell for transfers, market data subscriptions, fills, positions, and account maintenance.」
拆解出来它做的事有三层:一个账户壳子(仓位与成交同一组 API 读出来)、一个下单端点(POST /crossex/orders 你指定 venue、Gate 帮你送)、一组行情端点(/crossex/market/tickers 与 /crossex/market/funding_info)。
| Venue | exchange_type 值 | 备注 |
|---|---|---|
| Binance | BINANCE | 全球最大交易所 |
| OKX | OKX | 同时有 spot 与 perp |
| Bybit | BYBIT | 以 perp 为主 |
| Kraken | KRAKEN | 欧美用户多 |
| Gate 自己 | GATE | 同账户下的原生 venue |
| Hyperliquid | HYPERLIQUID | on-chain perp DEX |
| Deribit | DERIBIT | 以 options 见长 |
来源:Gate v4 API 官方文档 CrossEx 页的 exchange_type 字段(查证日期 2026 年 8 月)。备注是我对每家的一句归类,不是 Gate 写的。
要注意的是清单里没有 Bitget 与 BingX。CrossEx 不是「所有交易所」,是 Gate 选定的七家。要打这两家仍然要用它们的原生 API。
TradingView webhook 想接进来,中间那段没人先讲
webhook,也就是 TradingView 在 alert 触发时、对你指定的 URL 打一个 HTTP POST 的机制。TradingView 送的 payload 是你在 alert message 里自己写的 JSON 或纯文本,格式没有标准。
而 Gate CrossEx 的 POST /crossex/orders 要收的是 Gate 自己定义的格式——symbol(venue/business/币对用下划线串在一起,例如 BYBIT_SPOT_BTC_USDT)、side(大写 BUY/SELL)、type(大写 LIMIT/MARKET)、qty、price、time_in_force 这些字段。两边格式不一样,这就是那个没人先讲的段落。
gate.com/api/v4/crossex/orders 吗?这也是为什么 Google 上「gate crossex api tradingview webhook」找不到直接答案:这件事需要你自己组,而 Gate 官方不会替你写。这个站另外一篇 TradingView webhook 教程 有讲 webhook 端的细节,可以搭配读。
最近三个版本的 changelog 补了什么
我把过去一个月 CrossEx 相关的 changelog 捞出来,筛掉纯错字修正。
| 版本 | 日期 | 更新内容 |
|---|---|---|
v4.106.115 | 2026-08-03 | 扩展 CrossEx 订单错误文档;区分 state=FAIL(CrossEx 验证失败)与 state=REJECT(交易所拒单);补上常见拒单原因 |
v4.106.110 | 2026-07-28 | 新增 GET /crossex/market/tickers 与 GET /crossex/market/funding_info——过去要一家一家取的资金费率,现在一次拉齐 |
v4.106.109 | 2026-07-22 | 把 RPI 加进 POST /crossex/orders 的 time_in_force 支持值;并在 GET /crossex/fee 响应加了 spot_rpi_maker_fee 与 future_rpi_maker_fee |
来源:Gate v4 API changelog(查证日期 2026 年 8 月 16 日)。实际内容请以 gate.com/docs/developers/apiv4/en 当下显示为准——这页一周内就有多次补述。
落地方案一:自己写一个薄 relay
最直白的做法是自己起一个 Cloudflare Worker 或一支 FastAPI 服务,收 TradingView webhook、翻译成 CrossEx 的下单 request、签名送出。骨架大致是:
# 收 TradingView 的 alert JSON
{
"secret": "your-webhook-token",
"symbol": "BTC-USDT",
"side": "buy",
"qty": 0.001,
"venue": "BYBIT"
}
# 翻成 CrossEx 的 order request
POST /api/v4/crossex/orders
{
"symbol": "BYBIT_SPOT_BTC_USDT",
"side": "BUY",
"type": "MARKET",
"qty": "0.001",
"time_in_force": "GTC"
}自己写 relay 的好处是你完全掌握送单逻辑:同一根 K 棒重复触发要不要拦、失败要不要重发、log 打到哪。坏处是你要维护那台服务——包含 uptime、签名密钥轮换、CrossEx 错误码分类。
落地方案二:用第三方多所路由层——但要看清楚它有没有走 CrossEx
现成的 TradingView 对多交易所路由服务不少——PineConnector、3Commas、我们自己的 TVSBot 都在做。差别在下面这张表。
| 自架 relay 走 CrossEx | 第三方路由层(走原生 API) | ||
|---|---|---|---|
| 上手时间 | 几天到一周 | 注册完就能设 | |
| API key 数量 | 1 把 CrossEx key | 每家交易所各 1 把 | |
| 支持交易所 | Gate 选定的 7 家 | 看厂商,通常 6-10 家 | |
| 路由逻辑掌握在谁手上 | 自己写的 relay | 厂商 | |
| 遇到 bug 谁负责修 | 你自己 | 厂商——但要看 SLA |
两种做法各自优化的目标不一样——不是「哪个比较好」而是「你信任谁的执行」。
要讲清楚一件事:包括我们自己的 TVSBot 在内,这类第三方路由层没有走 Gate 的 CrossEx endpoint——它们是对每家交易所各自的原生 API 下单。所以「一把 key 打七家」这个省事的部分只有走 CrossEx 才拿得到;走第三方路由层等于你还是要对六家各准备一把 key,但可以少写一台 relay。
RPI 这个 TIF 值:缩写官方有写,行为官方没写
TIF(time in force),也就是这张单的有效方式——常见的有 GTC(挂到成交或手动撤)、IOC(打不进去就撤)、FOK(一次全成不然全撤)。
v4.106.109 把 RPI 加进 POST /crossex/orders 的 time_in_force 支持值。官方文档在 time_in_force 字段定义处把它展开为 「RPI: Retail Price Improvement」,与 GTC / IOC / FOK / POC 并列。缩写有写,但这条 TIF 具体对应到什么成交行为、跟一般 limit maker 差在哪,官方文档没有再多写一句。
time_in_force 预设成 GTC——这是 Gate CrossEx 原本就支持、行为明确的值。要用 RPI 之前先在小资金上试单:官方文档更新到 v4.106.115 才把错误处理讲清楚,代表这条路的边界还在补。新加的 TIF、新加的 order 类型,都先在 dry-run 或最小名目金额试过再放大。一个没人先讲的坑:CrossEx 的 order state 有两种失败
v4.106.115 这个版本把 CrossEx 的失败状态分成两层。
| state 值 | 谁拒的 | 常见原因 |
|---|---|---|
FAIL | Gate CrossEx 自己 | 参数不合法(字段名写错、enum 值不对)、签名错、CrossEx 端维护 |
REJECT | 下游交易所 | 下游那家的最小下单量、价格 filter、余额不足、reduce-only 没仓位 |
来源:Gate v4 API v4.106.115(2026-08-03)错误文档(查证日期 2026 年 8 月)。这两个 state 出现在 order response 的 state 字段。
为什么要分? 因为除错路径不一样:FAIL 是你的 relay 要修,REJECT 是你对那家交易所的认知要修(去查那家的最小名目、check price filter)。过去 CrossEx 只有一个笼统的错误字段——你收到「下单失败」只能猜。现在能分出来,但你的 relay 要分别 log 这两个 state,不要只印 error message——否则升到中量之后你会回不了头。
跟 跨交易所套利入门 那篇要处理的失败类别差不多,只是层级不一样:那篇是机会消失,这篇是单本身被谁拦。
诚实的一段:我没有实测 CrossEx 账号怎么申请
Gate v4 API 文档没有直接写「CrossEx 账号需要另外开通、只支持 API 交易」这件事——只在 CrossEx 页的最下面放了一个 CrossEx help desk 链接指向 help center。我没有跑过完整申请流程,也没有实测「非 API 用户能不能在 web UI 动 CrossEx 仓位」。这篇谈的一切都建立在你已经拿到一把可以打 /crossex/orders 的 key 这个前提上。如果你正在申请阶段卡住,那不在这篇的范围。
常见问题
CrossEx 支持 Bitget 或 BingX 吗?
exchange_type 只列 BINANCE / OKX / GATE / BYBIT / KRAKEN / HYPERLIQUID / DERIBIT 七家。Bitget 与 BingX 不在里面,要打这两家仍然要用它们的原生 API。TradingView 的 alert 可以直接对 CrossEx 下单吗?
用 CrossEx 跟直接对七家各接一把 key,哪个延迟低?
「跨所盈亏互抵」是 CrossEx 的功能吗?
POST /crossex/transfers)与报价转换(POST /crossex/convert/quote)。如果你需要盈亏互抵,请直接跟 CrossEx help desk 求证。已经在用 TVSBot 或 PineConnector,要转去 CrossEx 吗?
Get started
把 TradingView 的信号接上 6 家交易所——用你自己的 API key、先 dry-run、走的是每家原生 API 不是 CrossEx。想并存 CrossEx 的话上面第五节有两种做法怎么搭。
免费开始使用