输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
AscendEx
Backpack
BigONE
币安
Bitfinex
bitFlyer
Bitget
Bithumb
Bitstamp
Bybit
Coincheck
Coinone
CoinW
Crypto.com
DeepCoin
Deribit
DigiFinex
Gate
Gemini
HashKey
HitBTC
火币
Korbit
Kraken
库币
LBank
MEXC
OKX
Poloniex
Upbit
WEEX
WOO X
Zaif
去中心化交易所
预测市场
证券与期货
链上与自定义接入

Backpack(现货):Backpack Exchange的现货交易(主要以USDC计价),包括交易所上线的代币化股票;账户读取现货余额。使用在Backpack创建的API密钥(ED25519密钥对)接入。永续合约见Futures_Backpack交易所对象。

Futures_Backpack(期货):Backpack Exchange的USDC永续合约,包括代币化股票的永续合约。账户是统一抵押账户,只有全仓、单向持仓。使用在Backpack创建的API密钥(ED25519密钥对)接入。现货见Backpack交易所对象。

名称与配置
exchange.GetName()类型别名
Backpack现货Backpack Exchange
Futures_Backpack期货—
配置项必填说明
---
Access Key是Backpack API密钥的公钥(base64编码)。
Secret Key是与公钥对应的ED25519私钥(32字节种子,base64或十六进制)。

交易对与合约代码
Backpack(现货)

交易对示例:SOL_USDC、BTC_USDC、SPCX-US_USDC

交易对写作SOL_USDC。代币化股票的交易所币名带.(如SPCX.US),在交易对和资产名中写作-:SPCX-US_USDC。

Futures_Backpack(期货)

交易对示例:BTC_USDC、ETH_USDC

Backpack永续合约以USDC计价,交易对写作ETH_USDC(省略计价币时按USDC处理)。代币化股票的交易所币名带.(如MU.US),在交易对和资产名中写作-:MU-US_USDC。

合约代码说明
swap永续合约(交易所代码ETH_USDC_PERP),完整品种代码形如ETH_USDC.swap。

Backpack只有永续合约,其它合约代码都会报错。

专属IO指令
指令参数说明返回值
selfTradePreventionModestring自成交预防,可选Allow、RejectTaker、RejectMaker、RejectBoth(区分大小写),设置后之后的订单和条件单随单带上。成功返回设置的取值;取值不在上述范围内时报错。
apimethod, path[, params[, raw]]直接调用Backpack接口,默认签名。(详见表下)交易所的原始应答;应答带message或error错误信息时报错。

表中长说明的其余部分:

  • api:私有接口要在params(或raw对象)里写上交易所规定的指令名instruction(如balanceQuery、orderQueryAll),它只参与签名,不随请求发送。raw非空时整体替换params:GET可以是JSON对象或a=1&b=2,其它方法必须是JSON对象。path也可以是完整URL。第4个参数传false时不签名,只能用于公开的GET接口。

通用指令base、currency见exchange.IO。

常用用法
调用私有接口(签名要带instruction)与公开接口
javascript
function main() { // 私有接口:instruction写交易所规定的指令名,只参与签名,不随请求发送 var balances = exchange.IO("api", "GET", "/api/v1/capital", {instruction: "balanceQuery"}) Log(balances) // {"USDC": {"available": "...", "locked": "...", "staked": "..."}, ...} var orders = exchange.IO("api", "GET", "/api/v1/orders", {instruction: "orderQueryAll"}) Log(orders) // 当前挂单数组 // 公开接口:最后一个参数传false时不签名(只能用于GET) var t = exchange.IO("api", "GET", "/api/v1/ticker", "symbol=SOL_USDC", false) Log(t.lastPrice) }
设置自成交预防(取值区分大小写)
javascript
function main() { // 之后的订单和条件单随单带上;取值不在可选范围内时报错并返回空值 Log(exchange.IO("selfTradePreventionMode", "RejectTaker")) // RejectTaker }

函数支持差异

不支持(调用时报错并返回空值):exchange.ModifyOrder、exchange.ModifyConditionOrder。

以回退方式支持:

  • exchange.GetRecords:原生周期为1分钟、3分钟、5分钟、15分钟、30分钟、1小时、2小时、4小时、6小时、8小时、12小时、1天、3天、1周、1月;其它周期由托管者合成。

保证金、账户与模拟盘
Futures_Backpack(期货)

保证金模式:Backpack是统一抵押账户,只有全仓,没有全仓/逐仓切换指令。exchange.SetMarginLevel()修改的是账户级的杠杆上限(leverageLimit),对所有合约生效;调用时同时把账户的自动借贷设置(autoBorrowSettlements、autoLend、autoRepayBorrows)设为开启。

持仓模式:只有单向(净)持仓,没有双向持仓。平仓单(closebuy、closesell)以只减仓(reduceOnly)方式下单。exchange.GetPositions()的MarginLevel为初始保证金率的倒数。

账户:exchange.GetAccount()读取抵押品账户:Balance为可用净权益,FrozenBalance为占用的净权益,Equity为净权益;各抵押币种在exchange.GetAssets()中逐币列出。

注意事项
全部交易所对象
  • 客户端订单号clientId必须是0~4294967295之间的整数,其它值报错,订单不会发出。
  • exchange.GetTickers()的批量行情没有盘口,Buy、Sell取最新成交价;需要真实买一、卖一时用exchange.GetTicker()。
  • 条件单只支持止盈、止损单,不支持OCO;Backpack的触发单不区分止盈、止损,查询时按触发价与当前最新价的关系判定类型。委托价为0时触发后以市价成交。不支持修改条件单,需要先撤销再重新创建。
  • exchange.GetHistoryOrders()、exchange.GetHistoryConditionOrders()只能按单个品种查询,不支持since参数(交易所的历史订单接口没有时间范围),传入大于0的since或空字符串品种会报错。
Backpack(现货)
  • 市价买单的下单量是要花费的计价币金额(按Backpack的quoteQuantity下单),市价卖单为交易币数量。按计价币金额下的市价买单在订单查询中没有委托价,Price为0,Amount为已成交的交易币数量。
  • exchange.GetOrders()、exchange.GetHistoryOrders()只返回普通订单,不含条件单;用exchange.GetOrder()查询条件单的订单号会报错,条件单用exchange.GetConditionOrder()查询,挂单与历史条件单分别用exchange.GetConditionOrders()、exchange.GetHistoryConditionOrders()查询。
  • exchange.GetAccount()、exchange.GetAssets()只统计可用与冻结数量,不包含质押中的数量。
Futures_Backpack(期货)
  • 市价单的下单量是合约数量(交易币数量),买卖相同。
  • exchange.GetOrders()、exchange.GetHistoryOrders()只返回普通订单,不含条件单;用exchange.GetOrder()查询条件单的订单号会报错,条件单用exchange.GetConditionOrder()查询。
  • 各合约的资金费率结算间隔不同,exchange.GetFundings()按交易所合约信息给出。