输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
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
去中心化交易所
预测市场
证券与期货
链上与自定义接入

Crypto(现货):Crypto.com Exchange现货交易(Exchange v1接口https://api.crypto.com/exchange/v1),以API Key与Secret Key接入,支持现货杠杆下单(exchange.IO("trade_margin"))。余额来自Crypto.com的统一账户;Crypto.com衍生品是另一个交易所对象Futures_Crypto。

Futures_Crypto(期货):Crypto.com Exchange衍生品:永续合约与交割合约(Exchange v1接口https://api.crypto.com/exchange/v1),以API Key与Secret Key接入。账户中的代币可以折算为USD计价的额度,用作合约保证金;持仓查询与杠杆设置作用于主账户,可用exchange.IO("accountId", ...)指定其它账户。Crypto.com现货是另一个交易所对象Crypto。

名称与配置
exchange.GetName()类型别名
Crypto现货—
Futures_Crypto期货Crypto.com期货、Crypto.com Futures
配置项必填
--
Access Key是
Secret Key是

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

交易对示例:BTC_USDT、CRO_USD

交易对写作BASE_QUOTE,与Crypto.com的交易对名称一致。

Futures_Crypto(期货)

交易对示例:BTC_USD、ETH_USD

交易对如BTC_USD,对应Crypto.com的BTCUSD-PERP(永续)、BTCUSD-YYMMDD(交割)。

合约代码说明
swap永续合约。
January一月到期的交割合约。
February二月到期的交割合约。
March三月到期的交割合约。
April四月到期的交割合约。
May五月到期的交割合约。
June六月到期的交割合约。
July七月到期的交割合约。
August八月到期的交割合约。
September九月到期的交割合约。
October十月到期的交割合约。
November十一月到期的交割合约。
December十二月到期的交割合约。
this_week最近到期的交割合约。
next_week次近到期的交割合约。
quarter最近一个在3、6、9、12月到期的交割合约。
next_quarter次近一个在3、6、9、12月到期的交割合约。

交割合约以到期月份的英文名为合约代码,例如交易对BTC_USD、合约代码October,指最近一个该月份里到期最晚的交割合约(月度合约)。同月如果还有其它交割合约(例如周度合约),它们以原生合约代码为合约代码,例如BTC_USD.BTCUSD-261009。exchange.GetMarkets中的交割合约也按这一规则命名,每张合约只出现一次。

原生合约代码示例:BTCUSD-261030

也可以直接使用Crypto.com的交割合约代码,形如BTCUSD-YYMMDD。

专属IO指令
Crypto(现货)
指令参数说明返回值
apihttpMethod, method[, params[, raw]]直接调用Crypto.com接口:资源写RPC方法名,如private/user-balance、public/get-tickers(也可以写/exchange/v1/开头的路径或完整URL)。(详见表下)交易所的完整应答(code为0);业务错误时返回空值。
trade_margin—切换为现货杠杆:之后的普通订单带spot_margin=MARGIN下单,条件单带exec_inst的MARGIN_ORDER下单。只影响下单,不向交易所发请求。指令名本身。
trade_normal—切换回普通现货下单(默认)。指令名本身。

表中长说明的其余部分:

  • api:默认签名,按JSON-RPC请求体发送,params对象保留JSON类型(嵌套对象、数组原样发送);raw为JSON对象字符串时整体替换params。签名参数传false时不签名,GET的参数放进查询串。

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

Futures_Crypto(期货)
指令参数说明返回值
apihttpMethod, method[, params[, raw]]直接调用Crypto.com接口:资源写RPC方法名,如private/get-positions、public/get-tickers(也可以写/exchange/v1/开头的路径或完整URL)。(详见表下)交易所的完整应答(code为0);业务错误时返回空值。
accountIdstring设置交易账户ID(账户uuid),用于查询持仓和设置杠杆;不设置时自动使用主账户。形如{"accountId": "..."}的对象。

表中长说明的其余部分:

  • api:默认签名,按JSON-RPC请求体发送,params对象保留JSON类型(嵌套对象、数组原样发送);raw为JSON对象字符串时整体替换params。签名参数传false时不签名,GET的参数放进查询串。

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

常用用法
按JSON-RPC方法名调用接口
javascript
function main() { // 私有方法:默认签名,按JSON-RPC请求体发送,返回完整应答(code为0) var r = exchange.IO("api", "POST", "private/user-balance") Log(r.result.data[0].position_balances) // 公开方法:最后一个参数传false时不签名,GET的参数放进查询串 var t = exchange.IO("api", "GET", "public/get-tickers", "instrument_name=BTC_USDT", false) Log(t.result.data[0]) // {"i": "BTC_USDT", "a": "...", "b": "...", "k": "...", ...} }
查询账户uuid,指定查询持仓、设置杠杆使用的账户(仅Futures_Crypto)
javascript
function main() { var r = exchange.IO("api", "POST", "private/get-accounts") var uuid = r.result.master_account.uuid Log("主账户:", uuid, "子账户:", r.result.sub_account_list) // 之后查询持仓、设置杠杆使用该账户(不设置时自动使用主账户) Log(exchange.IO("accountId", uuid)) // {"accountId": "..."} Log(exchange.GetPositions()) }

函数支持差异

没有不支持的标准函数。

以回退方式支持:

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

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

保证金模式:统一账户全仓,没有逐仓切换,exchange.GetPositions()的保证金模式恒为全仓;exchange.IO("cross", ...)报错。

持仓模式:单向持仓:每个合约一个净持仓,Crypto.com以数量的正负表示多空;exchange.IO("dual", ...)报错。

账户:exchange.SetMarginLevel()设置的是整个交易账户的杠杆(Crypto.com的账户级杠杆),必须是1到100的整数。

注意事项
Crypto(现货)
  • 市价买单的下单量是交易币数(Crypto.com的quantity),不是计价币金额;触发后为市价的条件买单同样按交易币数下单。
  • 条件单只支持止盈、止损单,不支持OCO;以最新成交价触发。条件单使用Crypto.com的Advanced Order Management接口下单、改单、撤单与查询。
  • 限价单支持tif的IOC、FOK与只做Maker(postOnly),只做Maker不能与IOC、FOK同时使用;市价单传入tif或postOnly时报错。条件单中带委托价的(触发后挂限价单)同样支持tif与postOnly,触发后市价成交的条件单传入时报错。
  • 支持exchange.ModifyOrder()与exchange.ModifyConditionOrder()(Crypto.com原地改单,订单ID不变),条件单可改触发价、委托价与数量;执行价格传-1可把触发后限价的条件单改成触发后市价,传正数则反过来。不能修改tif与postOnly(传入时报错)。
  • exchange.GetOrders()、exchange.GetConditionOrders()不传参数时返回全部交易对的挂单。exchange.GetHistoryOrders()、exchange.GetHistoryConditionOrders()不传limit时返回最近100条,传更大的limit时自动翻页取满。条件单历史不传since时,Crypto.com只返回最近一天内的记录,要查更早的请传since。
  • exchange.GetAssets()的冻结数量取Crypto.com的reserved_qty(挂单与保证金占用之和),可用数量为持有量减去它。
Futures_Crypto(期货)
  • exchange.GetFundings不支持批量查询,不传参数或传入范围(如USD.swap)时报错并返回空值,需要传入具体的永续合约品种代码,例如BTC_USD.swap。
  • 资金费率每小时结算一次,取Crypto.com的funding_rate估值。
  • 下单量直接作为Crypto.com的quantity发送,合约面值见exchange.GetMarkets的CtVal(面值币种CtValCcy为标的币)。
  • 条件单只支持止盈、止损单,不支持OCO;以标记价格触发。
  • 限价单支持tif的IOC、FOK与只做Maker(postOnly),只做Maker不能与IOC、FOK同时使用;市价单传入tif或postOnly时报错。条件单中带委托价的(触发后挂限价单)同样支持tif与postOnly,触发后市价成交的条件单传入时报错。普通单与条件单都支持只减仓(reduceOnly)。
  • 支持exchange.ModifyOrder()与exchange.ModifyConditionOrder()(Crypto.com原地改单),条件单可改触发价、委托价与数量;执行价格传-1可把触发后限价的条件单改成触发后市价,传正数则反过来。不能修改tif与postOnly(传入时报错)。
  • exchange.GetHistoryConditionOrders()不传since时,Crypto.com只返回最近一天内的条件单历史;要查更早的记录请传since。