Gate CrossEx API:TradingView webhook 串 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 的話上面第五節有兩種做法怎麼搭。
免費開始使用