获取合约列表

请求格式说明

GET ifcontract/contracts

请求示例

https://api.bbx.com/v1/ifcontract/contracts?contractID=1&exchange=bbx

请求参数

参数名 参数类型 是否必填 描述
contractID int 合约ID 如果合约ID参数为空或为0,标识获取所有合约
exchange string 仅针对老虎云券商,其值为券商在老虎云后台中的名称。普通用户不填

返回格式说明

参数名 参数类型 描述
contract_id int contract id. 合约ID
index_id int contract's index id.指数ID
name string contract's name 合约名称
display_name string contract's chinese display name.合约中文显示名称
display_name_en string 合约英文显示名称
contract_type int 合约类型,永续还是期货 1:永续,2:期货
base_coin string 基础币
quote_coin string 计价币
price_coin string 合约大小的单位币
contract_size decimal 合约大小,表示一张合约值多少个基础币
delivery_cycle int 交割周期 单位秒
min_leverage decimal 合约支持的最小杠杆
max_leverage decimal 合约支持的最大杠杆
price_unit decimal 价格精度
vol_unit decimal 量精度
value_unit decimal 价值精度
min_vol decimal 合约支持的最小交易量
max_vol decimal 合约支持的最大交易量
liquidation_warn_ratio decimal 平仓预警系数
fast_liquidation_ratio decimal 快速平仓系数
settle_type int 结算类型 1:自动,2:手动
open_type int 开仓类型,1:全仓,2:逐仓,3:都支持
status int 1 审批中,系统内部使用 2 测试中,系统内部使用 3 可用,正在撮合的合约 4 暂停,合约可见,但是撮合暂停了 5 交割中,期货合约到期后,暂停撮合,开始结算 6 交割完成,结算完成 7 下线,合约已经下线,合约的生命周期结束
compensate_type int 穿仓补偿方式 1:ADL方式,2:盈利均摊方式
created_at time 创建时间
base_limit decimal 风险限额基础
step decimal 步长
maintenance_margin decimal 基本维持保证金率
initial_margin decimal 基本开仓保证金率
maker_fee decimal makefee系数
taker_fee decimal takefee系数
settlement_fee decimal 交割手续费率,到期合约才有
long_funding decimal 多仓资金费率,掉期合约才有
short_funding decimal 空仓资金费率,掉期合约才有
funding_interval int64 资金费率时间段,掉期合约才有,单位秒
created_at string 创建时间

返回示例

    {
        "errno": "OK",
        "message": "Success",
        "data": {
            "contracts": [
                {
                    "contract": {
                        "contract_id": 1,
                        "index_id": 1,
                        "name": "BTCUSDT",
                        "display_name": "BTCUSDT永续合约",
                        "display_name_en": "BTCUSDT_SWAP",
                        "contract_type": 1,
                        "base_coin": "USDT",
                        "quote_coin": "BTC",
                        "price_coin": "USDT",
                        "contract_size": "1",
                        "delivery_cycle": 0,
                        "min_leverage": "1",
                        "max_leverage": "100",
                        "price_unit": "0.01",
                        "vol_unit": "1",
                        "min_vol": "1",
                        "value_unit": "0.01",
                        "max_vol": "100000",
                        "liquidation_warn_ratio": "0.85",
                        "fast_liquidation_ratio": "0.3",
                        "settle_type": 1,
                        "open_type": 3,
                        "status":3,
                        "compensate_type": 1,
                        "created_at": "2018-07-12T19:16:57Z"
                    },
                    "risk_limit": {
                        "contract_id": 1,
                        "base_limit": "10", | 风险限额基础
                        "step": "5", | 步长
                        "maintenance_margin": "0.05", | 基本维持保证金率
                        "initial_margin": "0.1" | 基本开仓保证金率
                    },
                    "fee_config": {
                        "contract_id": 1,
                        "maker_fee": "0.00025", |makefee系数
                        "taker_fee": "0.00075",
                        "settlement_fee": "0",
                        "long_funding": "0.03",
                        "short_funding": "0.06",
                        "funding_interval": 28800,
                        "created_at": "2018-07-12T20:47:22Z"
                    }
                }
            ]
        }
   }

备注

ifcontract/contracts和 ifcontract/tickers 接口都获取到数据后,需要合并处理,按照 contract_id 进行关联

USDT合约 条件:

     MarginCoin( contract) === "USDT" && !IsReverse(contract)

币本位合约 条件:

    IsReverse( contract)

怎么判断合约是正向合约还是反向合约

如果quote_coin和price_coin是一致的是反向合约,反之是正向合约. 附上简易代码:

func IsReverse(contract) {
     if contract.QuoteCoin == contract.PriceCoin {
         return true
     }
     return false
}

怎么获取合约的保证金币

如果合约是反向合约,合约的BaseCoin是合约的保证金币; 如果合约是正向合约,合约的QuoteCoin是合约的保证金币; 附上简易代码:

func MarginCoin(contract) string {
     if IsReverse(contract) {
         return contract.BaseCoin
     }
     return contract.QuoteCoin
}

获取合约的最新行情

请求格式说明

GET ifcontract/tickers

请求示例

https://api.bbx.com/v1/ifcontract/tickers?contractID=1

请求参数

参数名 参数类型 是否必填 描述
contractID int 合约ID 如果合约ID参数为空或为0,标识获取所有合约

返回格式说明

参数名 参数类型 描述
last_price string 最后成交价
open string 当天的开盘价
close string 当前的收盘价
low string 当天的最低价
high string 当天的最高加
avg_price string 均价
volume string 最后一笔交易量,单位张数,如果要显示btc交易量,需要volume乘以合约的大小
total_volume string 24小时总量,单位张数
base_coin_volume string 基础币的交易量(币值对前面的币为基础币)
quote_coin_volume string 计价币的交易量(币值对后面的币为计价币)
timestamp long 时间戳
rise_fall_rate string 涨幅比例
rise_fall_value string 涨幅值
contract_id int 合约id
position_size string 未平仓位量
volume_day string 当天交易量
amount24 string 24小时交易额
index_price string 指数价格
fair_basis string 基差率
fair_value string 基差
fair_price string 标记价
quote_rate string 计价币借贷利率
base_rate string 基础币借贷利率
interest_rate string 利率
premium_index string 溢价指数
funding_rate string 当前资金费率
next_funding_rate string 下一个预计资金费率
next_funding_at string 下一个结算时间(UTC时间)

返回示例

 Response
{
    "errno": "OK",
    "message": "Success",
    "data": {
        "tickers": [
            {
                "last_price": "6277.5"| 最后成交价
                "open": "6074.5"| 当天的开盘价
                "close": "6277.5"| 当前的收盘价
                "low": "6261.3"| 当天的最低价
                "high": "6279"| 当天的最高加
                "avg_price": "6274.67",// 均价
                "volume": "20000", 
                // 最后一笔交易量,单位张数,如果要显示btc的交易量,需要volume乘以合约的大小(获取合约信息接口的contract_size固定的)
                "total_volume": "45462"| 24小时总量,单位张数
                "base_coin_volume":"163.9"| 基础币的交易量(币值对前面的币为基础币)
                "quote_coin_volume":"34555.38199999999999998882"| 计价币的交易量(币值对后面的币为计价币)
                "timestamp": 1534315695| 时间戳
                "rise_fall_rate": "0.033"| 涨幅比例
                "rise_fall_value": "203"| 涨幅值
                "contract_id": 1| 合约id
                "position_size": "374266"| 未平仓位量
                "volume_day": "45270"| 当天交易量
                "amount24":"28520.77363"| 24小时交易额
                "index_price": "6406.53"| 指数价格
                "fair_basis": "0.000000690"| 基差率
                "fair_value": "0.00442673"| 基差
                "fair_price": "6406.5344267"| 标记价
                "rate": {
                    "quote_rate": "0.0003"| 计价币借贷利率
                    "base_rate": "0.0006"| 基础币借贷利率
                    "interest_rate": "-0.00009999" // 利率
                },
                "premium_index": "-0.0309530479798782534"| 溢价指数
                "funding_rate": "0.0001"| 当前资金费率
                "next_funding_rate": "-0.0304530"| 下一个预计资金费率
                "next_funding_at": "2018-08-15T08:00:01Z" | 下一个结算时间(UTC时间)
            }
        ]
    }
}

备注

获取K线行情数据

请求格式说明

GET ifcontract/quote

请求示例

https://api.bbx.com/v1/ifcontract/quote?contractID=1&startTime=1532610072&endTime=1532656524&unit=5&resolution=M

请求参数

参数名 参数类型 是否必填 描述
contractID int 合约ID
startTime long 开始时间
endTime long 结束时间
unit int 频率
resolution string 频率单位,M:分钟,H:小时,D:天

返回格式说明

参数名 参数类型 描述
low string 最低价
high string 最高价
open string 开盘价
close string 收盘价
last_price string 最后一次交易价
avg_price string 均价
volume string 交易量,单位张数
base_coin_volume string 基础币的交易量(币值对前面的币为基础币)
quote_coin_volume string 计价币的交易量(币值对后面的币为计价币)
timestamp long 时间戳,单位秒
rise_fall_rate string 涨跌幅比例
rise_fall_value string 涨跌幅值

返回示例

 {
    "errno": "OK",
    "message": "Success",
    "data": [
        {
            "low": "130", // 最低价
            "high": "130", // 最高价
            "open": "130", // 开盘价
            "close": "130", // 收盘价
            "last_price": "130", // 最后一次交易价
            "avg_price": "130", // 均价
            "volume": "10", // 交易量,单位张数
            "base_coin_volume":"163.9", // 基础币的交易量(币值对前面的币为基础币)
            "quote_coin_volume":"34555.38199999999999998882", // 计价币的交易量(币值对后面的币为计价币)
            "timestamp": 1532610000, // 时间戳,单位秒
            "rise_fall_rate": "0", // 涨跌幅比例
            "rise_fall_value": "0" // 涨跌幅值
        }
    ]
}

备注

1.resolution表示获取K线数据的频率类型,M:分钟,H:小时;D:天

2.返回的数据,是根据请求中unit参数,对数据进行了合并,每条数据表示每个unit周期内的行情数据

获取指数K线数据

请求格式说明

GET ifcontract/indexquote

请求示例

https://api.bbx.com/v1/ifcontract/indexquote?indexID=1&startTime=1533686400&endTime=1533688400&unit=5&resolution=M

请求参数

参数名 参数类型 是否必填 描述
indexID int 指数ID
startTime long 开始时间
endTime long 结束时间
unit int 频率
resolution string 频率单位,M:分钟,H:小时,D:天

返回格式说明

参数名 参数类型 描述
low string 最低价
high string 最高价
open string 开盘价
close string 收盘价
last_price string 最后一次交易价
avg_price string 均价
volume string 交易量
timestamp string 时间戳,单位秒
rise_fall_rate string 涨跌幅比例
rise_fall_value string 涨跌幅值

返回示例

{
    "errno": "OK",
    "message": "Success",
    "data": [
        {
            "low": "130", // 最低价
            "high": "130", // 最高价
            "open": "130", // 开盘价
            "close": "130", // 收盘价
            "last_price": "130", // 最后一次交易价
            "avg_price": "130", // 均价
            "volume": "0", // 交易量
            "timestamp": 1532610000, // 时间戳,单位秒
            "rise_fall_rate": "0", // 涨跌幅比例
            "rise_fall_value": "0" // 涨跌幅值
        }
    ]
}

备注

1.resolution表示获取K线数据的频率类型,M:分钟,H:小时;D:天

2.返回的数据,是根据请求中unit参数,对数据进行了合并,每条数据表示每个unit周期内的行情数据

获取合约的交易记录

请求格式说明

GET ifcontract/trades

请求示例

https://api.bbx.com/v1/ifcontract/trades?contractID=1

请求参数

参数名 参数类型 是否必填 描述
contractID int 合约ID

返回格式说明

参数名 参数类型 描述
order_id long taker order id
trade_id long trade id
contract_id int 合约ID
deal_price string 成交价
deal_vol string 成交的合约张数
make_fee string make fee
take_fee string take fee
created_at string 创建时间
way string 交易方向 1:买为taker,开多买开空卖 2:买为taker,开多买平多卖 3:买为taker,平空买开空卖 4: 买为taker,平空买平多卖 5:卖为taker,开空卖,开多买 6: 卖为taker,开空卖,平空买 7:卖为taker,平多卖,开多买 8: 卖为taker,平多卖,平空买
fluctuation string 对行情的影响

返回示例

{
    "errno": "OK",
    "message": "Success",
    "data": {
        // 交易记录列表,按创建时间由近及远排序
        "trades": [
            {
                "order_id": 10116361, // taker order id
                "trade_id": 10116363, // trade id
                "contract_id": 1,     // 合约ID
                "deal_price": "16",   // 成交价
                "deal_vol": "10",     // 成交的合约张数
                "make_fee": "0.04",   // make fee
                "take_fee": "0.12",   // take fee
                "created_at": null,   // 创建时间
                "way": 5,             // 交易方向
                "fluctuation": "0"    // 对行情的影响
            }
        ]
    }
}

备注

way 1~4都是买为taker ,5~8都是卖为taker

fluctuation,对行情的影响,如本次交易前的最新交易价是10,本次交易的交易价是11,则fluctuation为"1"

获取合约的深度

请求格式说明

GET ifcontract/depth

请求示例

https://api.bbx.com/v1/ifcontract/depth?contractID=1&count=10

请求参数

参数名 参数类型 是否必填 描述
contractID int 合约ID
count int 获取数量,不传表示获取全部

返回格式说明

参数名 参数类型 描述
price long 价格
vol long 合约的张数

返回示例

{
    "errno": "OK",
    "message": "Success",
    "data": {
        "sells": [   // 卖方列表
            {
                "price": "60", // 价格
                "vol": "20" // 合约的张数
            }
        ],
        "buys": [] // 买方列表
    }
}

备注

深度列表的数据已经按照价格由高到低做完排序了

获取合约仓位的自动减仓排序表

请求格式说明

GET ifcontract/pnls

请求示例

https://api.bbx.com/v1/ifcontract/pnls?contractID=1

请求参数

参数名 参数类型 是否必填 描述
contractID int 合约ID

返回格式说明

参数名 参数类型 描述
contract_id int 合约ID
min_pnl string 仓位pnl范围min
max_pnl string 仓位pnl范围max
quan_tile int 五分位值

返回示例

{
    "errno": "OK",
    "message": "Success",
    "data": {
// 合约自动减仓排序表
"pnls": [
{
"contract_id": 1,
// 合约看多仓位自动减仓排序表
"long_pnls": [
    {
        // 该分位的仓位pnl范围min~max
        "min_pnl": "-0.0379107725788900979",
        "max_pnl": "-0.0103298131866111136",
        "quan_tile": 40 // 五分位值
    },
    {
        "min_pnl": "-0.0103298131866111136",
        "max_pnl": "0",
        "quan_tile": 60 // 五分位值
    }
],
 // 合约看空仓位自动减仓排序表
"short_pnls": [
    {
        "min_pnl": "-49962.3980439671407168788",
        "max_pnl": "0",
        "quan_tile": 20
    }
]
            }
        ]
    }
}

备注

quan_tile:五分位,分别有20,40,60,80,100,quan_tile值越大,说明仓位发生自动减仓的可能性越大

可以用这些值表示自动减仓警示灯的个数,20:1个灯,40:2个灯,,,,100:5个灯

获取指数列表

请求格式说明

GET ifcontract/indexes

请求示例

https://api.bbx.com/v1/ifcontract/indexes

请求参数

返回格式说明

参数名 参数类型 描述
index_id int 指数ID
name string 指数名称
base_coin string 指数基础币
quote_coin string 指数计价币
brief_en string 英文简称
brief_zh string 中文简称
price_unit string 价格精度
created_at string 创建时间

返回示例

{
    "errno": "OK",
    "message": "Success",
    "data": [
        {
            "index_id": 1, // 指数ID
            "name": "BTC", // 指数名称
            "base_coin": "BTC", // 指数基础币
            "quote_coin": "USDT", // 指数计价币
            "brief_en": "", // 英文简称
            "brief_zh": "", // 中文简称
            "price_unit": "0.000001", // 价格精度
            "created_at": "2018-07-30T16:04:08Z",
            "contract": [
                {
                    // 跟指数关联的合约对象
                    // 数据与获取合约接口的结构一致
                },
                {

                },
                {

                }
            ]
        }
    ]
}

备注

获取资金费率

请求格式说明

GET ifcontract/fundingrate

请求示例

https://api.bbx.com/v1/ifcontract/fundingrate?contractID=2

请求参数

参数名 参数类型 是否必填 描述
contractID int 合约ID

返回格式说明

参数名 参数类型 描述
rate string 资金费率
timestamp long 时间戳

返回示例

{
    "errno": "OK",
    "message": "Success",
    "data": [
        {
            "rate": "-0.0060483184843194741", // 资金费率
            "timestamp": 1534320000 // 时间戳
        },
        {
            "rate": "0.1041766553400505803",
            "timestamp": 1534291200
        }
    ]
}

备注

results matching ""

    No results matching ""