Bitmex 是一个加密货币交易所和衍生品交易平台。
以下 API 受支持:
Bitmex API 有两种方法:公开和私有。公开方法无需身份验证即可访问,例如获取行情价格。部分与用户数据相关的方法是私有的,需要使用 Bitmex API 密钥。
REST API
订阅/取消订阅
BitMEX 允许订阅实时数据。此访问一旦连接就不受速率限制,是将最新数据传递给程序的最佳方式。在某些主题中,您可以传入 Symbol 以按交易对过滤事件,例如:trades、quotes……
以下订阅主题无需身份验证即可使用:
btmAnnouncement:站点公告
btmChat:讨论区聊天
btmConnected:已连接用户/机器人的统计信息
btmFunding:掉期资金费率更新。每个资金结算间隔(通常为 8 小时)发送一次
btmInstrument:包含成交量及买/卖价的品种更新
btmInsurance:每日保险基金更新。
btmLiquidation:进入订单簿时的强平订单
btmOrderBookL2_25:Level 2 订单簿前 25 档
btmOrderBookL2:完整的 2 级订单簿
btmOrderBook10:使用传统全量推送的前 10 档订单簿
btmPublicNotifications:系统范围通知(用于短期消息)
btmQuote:订单簿顶层
btmQuoteBin1m:1 分钟报价分档
btmQuoteBin5m:5 分钟报价区间
btmQuoteBin1h:1 小时报价桶
btmQuoteBin1d:1 天报价仓
btmSettlement:结算
btmTrade:实时交易
btmTradeBin1m:1 分钟交易仓
btmTradeBin5m:5 分钟交易分档
btmTradeBin1h:1 小时交易 bin
btmTradeBin1d:1 天交易箱
以下主题需要身份验证:
btmAffiliate:附属状态,例如总推荐用户数和返佣比例
btmExecution:单次成交;一个订单可有多次成交
btmOrder:订单实时更新
btmMargin:您当前账户余额和保证金要求的更新
btmPosition:您的仓位更新
btmPrivateNotifications:个人通知——目前未使用
btmTransact:充值/提现更新
btmWallet:比特币地址余额数据,包括总存款和提款
收到消息示例:
{
"table":"orderBookL2_25",
"keys":["symbol","id","side"],
"types":{"id":"long","price":"float","side":"symbol","size":"long","symbol":"symbol"}
"foreignKeys":{"side":"side","symbol":"instrument"},
"attributes":{"id":"sorted","symbol":"grouped"},
"action":"partial",
"data":[
{"symbol":"XBTUSD","id":17999992000,"side":"Sell","size":100,"price":80},
{"symbol":"XBTUSD","id":17999993000,"side":"Sell","size":20,"price":70},
{"symbol":"XBTUSD","id":17999994000,"side":"Sell","size":10,"price":60},
{"symbol":"XBTUSD","id":17999995000,"side":"Buy","size":10,"price":50},
{"symbol":"XBTUSD","id":17999996000,"side":"Buy","size":20,"price":40},
{"symbol":"XBTUSD","id":17999997000,"side":"Buy","size":100,"price":30}
]
}
{
"table":"orderBookL2_25",
"action":"update",
"data":[
{"symbol":"XBTUSD","id":17999995000,"side":"Buy","size":5}
]
}
{
"table":"orderBookL2_25",
"action":"delete",
"data":[
{"symbol":"XBTUSD","id":17999995000,"side":"Buy"}
]
}
{
"table":"orderBookL2_25",
"action":"insert",
"data":[
{"symbol":"XBTUSD","id":17999995500,"side":"Buy","size":10,"price":45},
]
}
身份验证
如果您希望订阅用户锁定流,必须先进行身份验证。请注意,无效的身份验证将关闭连接。
BitMEX API 的使用需要 API Key。
永久 API 密钥可以锁定到 IP 地址范围,并可随时撤销,而不会危及您的主要凭据。它们也不需要续期。
要使用 API Key 认证,您必须在账户中生成一个 API Key。
在订阅任何已认证主题之前,请先调用方法 Authenticate。
CancelAllAfter(死人开关)
CancelAllAfter 方法实现了"死亡开关"(Dead Man's Switch)功能。调用时传入超时值(毫秒),它将指示服务器在超时时间内未收到后续 CancelAllAfter 调用时取消所有未结订单。这在网络断连时确保订单被取消非常有用。
| 方法 | 描述 |
| GetExecutions | 这返回所有原始交易,包括订单开立和取消以及订单状态更改。 |
| GetExecutionsTradeHistory | 这将返回更有针对性的交易记录。 |
| GetInstruments | 此接口返回所有工具和指数,包括已结算或未上市的。如果您要查询单个工具或使用复杂过滤条件,请使用此端点。 |
| GetOrders | 仅获取未结订单 |
| PlaceOrder | 使用 TsgcHTTPBitmexOrder 对象下原始订单。 |
| PlaceMarketOrder | 下一个新市价单。 |
| PlaceLimitOrder | 下一个 LIMIT 限价单。 |
| PlaceStopOrder | 下达新的 STOP 订单。 |
| PlaceStopLimitOrder | 下一个新的 STOPLIMIT 订单。 |
| AmendOrder | 修改现有订单。 |
| CancelOrder | 取消活跃订单。 |
| CancelAllOrders | 取消所有活跃订单。 |
| CancelAllOrdersAfter | 一段时间后取消所有订单。 |
| ClosePosition | 关闭一个未平仓位。 |
| GetOrderBook | 以垂直格式获取当前订单簿 |
| GetPosition | 获取您的持仓。 |
| SetPositionIsolate | 启用隔离保证金或全仓保证金(按仓位)。 |
| SetPositionLeverage | 按持仓选择杠杆。 |
| SetPositionRiskLimit | 更新您的风险限额。 |
| SetPositionTransferMargin | 将权益转入或转出某个头寸。 |
| GetQuotes | 获取报价 |
| GetTrades | 获取交易 |
| GetFunding | 获取资金数据。 |
| GetInsurance | 获取保险基金数据。 |
| GetTradeBucketed | 获取可配置 bin 大小的分桶交易数据(OHLCV)。 |
| GetQuoteBucketed | 获取可配置桶大小的分段报价数据。 |
| GetSettlement | 获取结算数据。 |
| GetLiquidation | 获取强制平仓订单。 |
| GetInstrumentIndices | 获取仪器指数。 |
| GetInstrumentCompositeIndex | 获取金融工具的综合指数数据。 |
| GetStats | 获取全市场统计数据。 |
| GetStatsHistory | 获取历史交易所统计数据。 |
| GetStatsHistoryUSD | 获取历史美元汇率统计数据。 |
| GetUserMargin | 获取您的账户保证金数据。 |
| GetUserWallet | 获取您的钱包信息。 |
| GetUserWalletHistory | 获取您的钱包交易历史。 |
| GetUserWalletSummary | 获取钱包摘要。 |