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

Bybit(现货):Bybit现货,以及现货杠杆(下单时借贷)。统一交易账户(UTA)与经典账户都支持,使用Bybit V5接口,需要Bybit的API KEY(Access Key、Secret Key)。

Futures_Bybit(期货):Bybit USDT、USDC永续与交割合约(linear),币本位永续与交割合约(inverse),以及USDT结算期权。统一交易账户(UTA)与经典账户都支持,使用Bybit V5接口,需要Bybit的API KEY(Access Key、Secret Key)。

名称与配置
exchange.GetName()类型别名
Bybit现货Bybit现货
Futures_Bybit期货Bybit期货
配置项必填默认值
---
Access Key是—
Secret Key是—
Version是v5
模拟盘否不勾选

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

交易对示例:BTC_USDT、ETH_BTC

交易对写作BTC_USDT,不带合约代码;合约请使用Futures_Bybit交易所对象。

Futures_Bybit(期货)

交易对示例:BTC_USDT、BTC_USDC、BTC_USD

计价币决定合约类型:BTC_USDT、BTC_USDC为U本位(linear)合约,BTC_USD为币本位(inverse)合约。USDC永续对应Bybit的BTCPERP。

合约代码说明
swap永续合约(默认)。
delivery最近到期的交割合约。
this_week当周交割合约。
next_week次周交割合约。
third_week第三周交割合约。
month月度交割合约。
next_month次月交割合约。
quarter季度交割合约。
next_quarter次季度交割合约。
third_quarter第三季度交割合约。

交割合约按Bybit合约列表中实际挂牌的到期时间选取:周档依次对应未来三个七天窗口内到期的合约,月档取月末到期的合约,季档取3、6、9、12月月末到期的合约。交易所没有挂牌对应档位时报错。

同一张合约常同时属于几个档位(例如月末合约也是第三周合约,币本位季度合约也是月度合约),exchange.GetMarkets以及行情、订单、持仓的品种代码只用其中一个,按季度档、月度档、周档的顺序取;不属于任何档位的交割合约以原生代码为合约代码,例如BTC_USDT.BTCUSDT-24SEP27。每张合约在exchange.GetMarkets中只出现一次,delivery总与其它档位重合,因此不出现。没有出现的档位代码与原生代码照样可以用,exchange.SetContractType("delivery")、exchange.GetTicker("BTC_USDT.delivery")都可以。

原生合约代码示例:BTCUSDU26、ETHUSDT-04APR25

交割合约也可以直接写Bybit的原生合约代码。Bybit有些交割合约没有明确的周期,这类合约直接使用原生代码,例如交易对ETH_USDT、合约代码ETHUSDT-04APR25。

专属IO指令
Bybit(现货)
指令参数说明返回值
trade_margin—现货杠杆:之后的订单(含条件单)带isLeverage=1,下单时自动借贷。只保存在本地,不发请求。指令名本身。
trade_normal—切换回普通现货(默认)。指令名本身。
accountTypestring指定账户类型(决定查询资产时读哪个钱包):UNIFIED(统一交易账户)或SPOT(经典账户的现货钱包)。不调用时在首次查询资产时自动探测。设置后的账户类型。

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

Futures_Bybit(期货)
指令参数说明返回值
crossbool[, symbol]全仓(true)/逐仓(false),按合约向交易所发送切换请求,请求同时设置买卖杠杆(沿用该合约最近一次exchange.SetMarginLevel()的值,没有设置过为10倍)。已经用本指令切换到同一模式时不再发请求。期权不支持。成功也返回空值,需要确认时调用后读取GetLastError()。
dualbool[, symbol]双向(true)/单向(false)持仓,向交易所发送切换请求(请求带该合约的symbol)。已经用本指令切换到同一模式时不再发请求。期权不支持。成功也返回空值,需要确认时调用后读取GetLastError()。
accountTypestring指定查询资产时读取的钱包:UNIFIED(统一交易账户)、CONTRACT(经典账户的合约钱包),auto恢复自动探测(默认)。设置后的账户类型(自动探测时为auto)。

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

常用用法
指定查询资产时读取的钱包(仅Bybit)
javascript
function main() { // 统一交易账户;经典账户的现货钱包写SPOT。设置后不再自动探测 Log(exchange.IO("accountType", "UNIFIED")) // UNIFIED Log(exchange.GetAssets()) }
指定查询资产时读取的钱包,再恢复自动探测(仅Futures_Bybit)
javascript
function main() { // 统一交易账户;经典账户的合约钱包写CONTRACT Log(exchange.IO("accountType", "UNIFIED")) // UNIFIED Log(exchange.GetAssets()) // 恢复自动探测(默认) Log(exchange.IO("accountType", "auto")) // auto }

函数支持差异
全部交易所对象

没有不支持的标准函数。

Bybit(现货)

以回退方式支持:

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

以回退方式支持:

  • exchange.GetRecords:原生周期为1分钟、3分钟、5分钟、15分钟、30分钟、1小时、2小时、4小时、6小时、12小时、1天、1周、1月;其它周期由托管者合成。期权没有K线接口,由托管者用成交记录合成。

保证金、账户与模拟盘
全部交易所对象

模拟盘:勾选「模拟盘」使用Bybit模拟交易(Demo Trading,api-demo.bybit.com),API KEY需要在Bybit主站切换到模拟交易模式后创建;与测试网(testnet)不是同一个环境。

Bybit(现货)

账户:统一交易账户与经典账户的现货资产在不同的钱包,连接器首次查询资产时查询账户类型(也可以用exchange.IO("accountType", ...)指定)。现货杠杆用exchange.IO("trade_margin")开启,之后的订单在下单时借贷。

Futures_Bybit(期货)

保证金模式:用exchange.IO("cross", bool)按合约切换全仓/逐仓;exchange.SetMarginLevel()设置杠杆(买卖同一杠杆)。

持仓模式:下单前自动查询该合约的持仓模式,双向持仓时自动带positionIdx;也可以在下单附加参数中显式传positionIdx,或用exchange.IO("dual", bool)切换。

账户:账户类型在首次查询资产时自动探测。统一交易账户1.0的U本位资产在统一钱包、币本位资产在合约钱包,exchange.GetAssets()会同时查询两个钱包。

期权
Futures_Bybit(期货)

支持Bybit的USDT结算期权(Bybit目前只挂牌USDT结算的期权)。

  • exchange.GetMarkets()的结果包含期权合约。
  • 不支持条件单,不支持exchange.SetMarginLevel(),不能用cross、dual切换保证金模式与持仓模式。

期权代码示例:ETH-25JUN27-2800-C-USDT

期权代码为Bybit原生代码:标的-到期日-行权价-C/P-结算币。Bybit期权以USDT结算,交易对设置为ETH_USDT,完整品种代码形如ETH_USDT.ETH-25JUN27-2800-C-USDT;交易对的计价币必须与结算币一致。

注意事项
全部交易所对象
  • 条件单只支持止盈、止损单,不支持OCO,需要时分别创建止盈单和止损单。
  • exchange.ModifyOrder()、exchange.ModifyConditionOrder()原地改单,订单ID不变。
Bybit(现货)
  • 市价单的下单量按Bybit接口默认处理(市价买单为计价币金额);可以在下单附加参数中传marketUnit(baseCoin或quoteCoin)指定数量单位,附加参数原样传给交易所。
Futures_Bybit(期货)
  • exchange.GetMarkets()的结果包含盘前交易(PreLaunch)合约。
  • 下单量单位:U本位(linear)合约与期权为基础币数量,币本位(inverse)合约为合约张数,1张为1美元;见exchange.GetMarkets()的CtVal、CtValCcy。