输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
品种代码
失败与空值
交易所

交易所对象的函数用字符串参数symbol指定品种。写法由平台统一定义,与交易所接口里的原始写法无关,换交易所不用改这部分代码。

不传symbol

单个品种的函数(GetTicker、GetDepth、GetTrades、GetRecords、GetHistoryOrders等)不传symbol时作用于**当前品种**:当前交易对由exchange.SetCurrency设置(初始值为实盘、回测配置里的交易对),期货的合约代码由exchange.SetContractType设置。查询多个品种的函数不传时按「范围」查询,见下文「查询范围」。

交易对

现货品种写作「交易币种_计价币种」,大写,以下划线_分隔:BTC_USDT是以USDT计价的BTC,ETH_BTC是以BTC计价的ETH。

合约

期货交易所对象上的品种写作「交易对.合约代码」,以.分隔:

写法含义
BTC_USDT.swapBTC的USDT本位永续合约
BTC_USD.swapBTC的币本位永续合约
BTC_USDT.quarterBTC的USDT本位季度合约
BTC_USD.this_weekBTC的币本位当周合约

计价币种区分保证金类型:USDT、USDC等稳定币为U本位,USD为币本位。通用的合约代码有swap(永续)、this_week(当周)、next_week(次周)、quarter(季度)、next_quarter(次季度),各交易所实际支持哪些见exchange.SetContractType。

加密货币期货交易所对象的默认合约是永续合约swap:没有调用exchange.SetContractType()时,不传symbol的行情、交易函数作用于当前交易对的永续合约。

期权

期权品种写作「交易对.期权合约代码」,期权合约代码使用交易所自己的写法。例如Futures_Binance(币安期货)的期权BTC-240108-40000-C写作BTC_USDT.BTC-240108-40000-C。

原生代码

商品期货、股票类交易所(Futures_CTP(CTP商品期货)、Futures_Futu(富途)、Futures_IB(盈透证券))没有「交易对.合约代码」两段:品种就是交易所的原生合约代码,例如CTP的rb2501。富途、盈透的代码本身可能含.(例如00700.HK),整串作为一个品种,不拆分。

查询范围

GetOrders、GetPositions、GetConditionOrders、GetFundings可以一次查询多个品种。symbol可以是具体品种,也可以是「计价币种.合约类型」形式的范围:

symbol范围
USDT.swapUSDT本位永续合约
USDT.futuresUSDT本位交割合约
USD.swap币本位永续合约
USD.futures币本位交割合约
USDT.optionUSDT本位期权
USD.option币本位期权
USD.futures_combo差价组合合约(Futures_Deribit的币本位组合)
USD.futures_ff线性交割合约(Futures_Kraken,合约代码以_ff结尾)
USD.swap_pf线性永续合约(Futures_Kraken,合约代码swap_pf)

计价币种按交易所实际使用的写(例如USDC.swap)。交易所接口不支持的范围会报错并返回空值。

不传symbol或传空字符串""时的缺省范围
  • 现货交易所对象:查询全部品种。
  • 加密货币期货交易所对象:查询「当前计价币种 + 当前合约所属的合约类型」。当前合约是组合合约(合约代码含英文逗号,如quarter,swap,或为Deribit原生组合代码,如BTC-FS-26DEC25_PERP)时为futures_combo;是期权时为option;是swap_pf时为swap_pf;以_ff结尾时为futures_ff;其它含swap的为swap,否则为futures;没有设置合约时按swap。例如当前品种为BTC_USDT.swap时等价于传USDT.swap,为BTC_USD.quarter时等价于传USD.futures,为BTC_USD.quarter,swap时等价于传USD.futures_combo。
  • 没有「计价币种 + 合约类型」划分的期货交易所对象(Futures_CTP、Futures_Futu、Futures_IB、Futures_Polymarket):查询全部品种。
  • 少数交易所的查询接口必须指定品种,这些交易所上GetOrders、GetConditionOrders不传symbol时只查询当前交易对。

查询成功但范围内没有数据时返回空数组[];调用失败时返回空值,见失败与空值。GetHistoryOrders、GetHistoryConditionOrders不使用范围,不传symbol时查询当前品种。