Bitget
Bitget(现货):Bitget现货,支持统一账户(UTA,配置项「Version」选v3,默认)与经典账户(选v2)。需要Bitget的API KEY:Access Key、Secret Key与Passphrase。
Futures_Bitget(期货):Bitget USDT、USDC永续合约,币本位永续与交割合约。支持统一账户(UTA,配置项「Version」选v3,默认)与经典账户(选v2)。需要Bitget的API KEY:Access Key、Secret Key与Passphrase。
名称与配置
exchange.GetName() | 类型 | 别名 |
|---|---|---|
Bitget | 现货 | Bitget现货 |
Futures_Bitget | 期货 | Bitget期货 |
| 配置项 | 必填 | 默认值 |
| - | - | - |
| Access Key | 是 | — |
| Secret Key | 是 | — |
| Passphrase | 是 | — |
| Version | 是 | v3 |
| 模拟盘 | 否 | 不勾选 |
交易对与合约代码
Bitget(现货)
交易对示例:BTC_USDT、ETH_BTC
交易对写作BTC_USDT,不带合约代码;合约请使用Futures_Bitget交易所对象。
Futures_Bitget(期货)
交易对示例:BTC_USDT、BTC_USDC、BTC_USD
计价币决定合约类型:BTC_USDT、BTC_USDC为USDT、USDC结算的合约(USDC永续对应Bitget的BTCPERP),BTC_USD为币本位合约。模拟盘的币种名称都带S前缀,例如SBTC_SUSDT、SBTC_SUSDC、SBTC_SUSD。
| 合约代码 | 说明 |
|---|---|
swap | 永续合约(默认)。 |
quarter | 当季交割合约(币本位)。 |
next_quarter | 次季交割合约(币本位)。 |
原生合约代码示例:BTCUSDU26、ETHCMZ26
交割合约也可以直接写Bitget的原生合约代码,例如BTC_USD.BTCUSDU26;统一账户(v3)的币本位交割合约代码形如ETHCMZ26。
专属IO指令
Bitget(现货)
| 指令 | 参数 | 说明 | 返回值 |
|---|---|---|---|
simulate | bool | 模拟盘(true)/实盘(false)切换,模拟盘请求带paptrading请求头,接口地址不变。 | 设置后的值。 |
通用指令api、base、currency见exchange.IO。
Futures_Bitget(期货)
| 指令 | 参数 | 说明 | 返回值 |
|---|---|---|---|
simulate | bool | 模拟盘(true)/实盘(false)切换,模拟盘请求带paptrading请求头,接口地址不变。模拟盘交易对的币种名称带S前缀。 | 成功也返回空值。 |
cross | bool[, symbol] | 全仓(true,crossed)/逐仓(false,isolated),向交易所发送切换请求。统一账户(v3)不能切换,固定全仓,调用报错。 | 成功也返回空值,需要确认时调用后读取GetLastError()。 |
dual | bool[, symbol] | 双向(true,hedge_mode)/单向(false,one_way_mode)持仓,向交易所发送切换请求。经典账户(v2)按合约类型(USDT、USDC、币本位)分别设置,统一账户(v3)为账户级设置。 | 成功返回true。 |
通用指令api、base、currency见exchange.IO。
函数支持差异
全部交易所对象
没有不支持的标准函数。
Bitget(现货)
以回退方式支持:
exchange.GetRecords:原生周期为1分钟、3分钟、5分钟、15分钟、30分钟、1小时、4小时、6小时、12小时、1天、3天、1周、1月;其它周期由托管者合成。3分钟只在统一账户(v3)可用。
Futures_Bitget(期货)
以回退方式支持:
exchange.GetRecords:原生周期为1分钟、3分钟、5分钟、15分钟、30分钟、1小时、4小时、6小时、12小时、1天、3天、1周、1月;其它周期由托管者合成。统一账户(v3)的币本位交割合约没有3天周期。
保证金、账户与模拟盘
全部交易所对象
账户:配置项「Version」决定账户类型:v3为统一账户(私有接口使用/api/v3),v2为经典账户(使用/api/v2)。统一账户调用经典账户接口会被交易所拒绝(40085),请按账户实际类型选择。
Bitget(现货)
模拟盘:添加交易所时勾选「模拟盘」使用Bitget模拟盘,需要使用模拟盘的API KEY;exchange.IO("simulate", true)仍可在运行中切换,用于兼容旧策略。
Futures_Bitget(期货)
保证金模式:经典账户(v2)用exchange.IO("cross", bool)按合约切换全仓/逐仓;统一账户(v3)固定全仓。exchange.SetMarginLevel()设置杠杆;逐仓时只设置exchange.SetDirection()对应方向的杠杆(buy为多头、sell为空头,没有设置过方向时为多头),也可以在附加参数中传holdSide(v2)或posSide(v3)指定。
持仓模式:下单时按账户实际的持仓模式带开平参数,用exchange.IO("dual", bool)切换。
模拟盘:添加交易所时勾选「模拟盘」(或用exchange.IO("simulate", true)在运行中切换,用于兼容旧策略)使用Bitget模拟盘,需要使用模拟盘的API KEY,交易对写作SBTC_SUSDT等。统一账户(v3)的接口不支持模拟盘品种,模拟盘请选择v2。
注意事项
Bitget(现货)
- 统一账户(v3)没有现货条件单接口,条件单相关函数(
exchange.CreateConditionOrder()、exchange.GetConditionOrders()等)报错并返回空值;经典账户(v2)支持止盈、止损条件单(不支持OCO)和exchange.ModifyConditionOrder()。 exchange.ModifyOrder():统一账户原地改单;经典账户使用撤单再下单接口(cancel-replace-order),返回新订单的ID(以客户端订单号表示,形如clientOid:…),可直接用于撤单与查询订单。
Futures_Bitget(期货)
exchange.GetFundings()不支持批量查询,需要传入具体的永续合约,例如exchange.GetFundings("ETH_USDT.swap")。- 条件单只支持止盈、止损单,不支持OCO,需要时分别创建止盈单和止损单。
- 经典账户(v2)的
exchange.ModifyOrder()由交易所撤旧单下新单,订单ID会变,返回新订单的ID(形如clientOid:...的客户端订单号,可以照常用于查询、撤单);统一账户(v3)原地改单。 - 下单量单位:经典账户(v2)各类合约都是基础币数量(1张为1个币);统一账户(v3)的USDT、USDC合约为基础币数量,币本位合约为美元张数。见
exchange.GetMarkets()的CtVal、CtValCcy。 - 统一账户(v3)的币本位合约不支持条件单和
exchange.ModifyOrder(),调用报错。 exchange.GetHistoryConditionOrders()不传since时,经典账户(v2)查询最近7天、统一账户(v3)查询最近30天;传入since时查询从since起30天内的记录。