在 `binance_client` 中引入 K线和最优挂单的 WebSocket 流,优先从缓存中获取价格数据,减少对 REST API 的依赖。同时,更新了价格获取逻辑,确保在未能获取价格时提供详细的错误信息。增强了异常处理,确保在请求超时或失败时记录相关日志,提升系统的稳定性和可追溯性。
244 lines
7.6 KiB
Plaintext
244 lines
7.6 KiB
Plaintext
获取服务器时间
|
||
接口描述
|
||
获取服务器时间
|
||
|
||
HTTP请求
|
||
GET /fapi/v1/time
|
||
|
||
请求权重
|
||
1
|
||
|
||
请求参数
|
||
NONE
|
||
|
||
响应示例
|
||
{
|
||
"serverTime": 1499827319559 // 当前的系统时间
|
||
}
|
||
|
||
|
||
|
||
获取交易规则和交易对
|
||
接口描述
|
||
获取交易规则和交易对
|
||
|
||
HTTP请求
|
||
GET /fapi/v1/exchangeInfo
|
||
|
||
请求权重
|
||
1
|
||
|
||
请求参数
|
||
NONE
|
||
|
||
响应示例
|
||
{
|
||
"exchangeFilters": [],
|
||
"rateLimits": [ // API访问的限制
|
||
{
|
||
"interval": "MINUTE", // 按照分钟计算
|
||
"intervalNum": 1, // 按照1分钟计算
|
||
"limit": 2400, // 上限次数
|
||
"rateLimitType": "REQUEST_WEIGHT" // 按照访问权重来计算
|
||
},
|
||
{
|
||
"interval": "MINUTE",
|
||
"intervalNum": 1,
|
||
"limit": 1200,
|
||
"rateLimitType": "ORDERS" // 按照订单数量来计算
|
||
}
|
||
],
|
||
"serverTime": 1565613908500, // 请忽略。如果需要获取当前系统时间,请查询接口 “GET /fapi/v1/time”
|
||
"assets": [ // 资产信息
|
||
{
|
||
"asset": "BTC",
|
||
"marginAvailable": true, // 是否可用作保证金
|
||
"autoAssetExchange": "-0.10" // 保证金资产自动兑换阈值
|
||
},
|
||
{
|
||
"asset": "USDT",
|
||
"marginAvailable": true, // 是否可用作保证金
|
||
"autoAssetExchange": "0" // 保证金资产自动兑换阈值
|
||
},
|
||
{
|
||
"asset": "BNB",
|
||
"marginAvailable": false, // 是否可用作保证金
|
||
"autoAssetExchange": null // 保证金资产自动兑换阈值
|
||
}
|
||
],
|
||
"symbols": [ // 交易对信息
|
||
{
|
||
"symbol": "BLZUSDT", // 交易对
|
||
"pair": "BLZUSDT", // 标的交易对
|
||
"contractType": "PERPETUAL", // 合约类型
|
||
"deliveryDate": 4133404800000, // 交割日期
|
||
"onboardDate": 1598252400000, // 上线日期
|
||
"status": "TRADING", // 交易对状态
|
||
"maintMarginPercent": "2.5000", // 请忽略
|
||
"requiredMarginPercent": "5.0000", // 请忽略
|
||
"baseAsset": "BLZ", // 标的资产
|
||
"quoteAsset": "USDT", // 报价资产
|
||
"marginAsset": "USDT", // 保证金资产
|
||
"pricePrecision": 5, // 价格小数点位数(仅作为系统精度使用,注意同tickSize 区分)
|
||
"quantityPrecision": 0, // 数量小数点位数(仅作为系统精度使用,注意同stepSize 区分)
|
||
"baseAssetPrecision": 8, // 标的资产精度
|
||
"quotePrecision": 8, // 报价资产精度
|
||
"underlyingType": "COIN",
|
||
"underlyingSubType": ["STORAGE"],
|
||
"settlePlan": 0,
|
||
"triggerProtect": "0.15", // 开启"priceProtect"的条件订单的触发阈值
|
||
"filters": [
|
||
{
|
||
"filterType": "PRICE_FILTER", // 价格限制
|
||
"maxPrice": "300", // 价格上限, 最大价格
|
||
"minPrice": "0.0001", // 价格下限, 最小价格
|
||
"tickSize": "0.0001" // 订单最小价格间隔
|
||
},
|
||
{
|
||
"filterType": "LOT_SIZE", // 数量限制
|
||
"maxQty": "10000000", // 数量上限, 最大数量
|
||
"minQty": "1", // 数量下限, 最小数量
|
||
"stepSize": "1" // 订单最小数量间隔
|
||
},
|
||
{
|
||
"filterType": "MARKET_LOT_SIZE", // 市价订单数量限制
|
||
"maxQty": "590119", // 数量上限, 最大数量
|
||
"minQty": "1", // 数量下限, 最小数量
|
||
"stepSize": "1" // 允许的步进值
|
||
},
|
||
{
|
||
"filterType": "MAX_NUM_ORDERS", // 最多订单数限制
|
||
"limit": 200
|
||
},
|
||
{
|
||
"filterType": "MIN_NOTIONAL", // 最小名义价值
|
||
"notional": "5.0",
|
||
},
|
||
{
|
||
"filterType": "PERCENT_PRICE", // 价格比限制
|
||
"multiplierUp": "1.1500", // 价格上限百分比
|
||
"multiplierDown": "0.8500", // 价格下限百分比
|
||
"multiplierDecimal": "4"
|
||
}
|
||
],
|
||
"OrderType": [ // 订单类型
|
||
"LIMIT", // 限价单
|
||
"MARKET", // 市价单
|
||
"STOP", // 止损单
|
||
"STOP_MARKET", // 止损市价单
|
||
"TAKE_PROFIT", // 止盈单
|
||
"TAKE_PROFIT_MARKET", // 止盈暑市价单
|
||
"TRAILING_STOP_MARKET" // 跟踪止损市价单
|
||
],
|
||
"timeInForce": [ // 有效方式
|
||
"GTC", // 成交为止, 一直有效
|
||
"IOC", // 无法立即成交(吃单)的部分就撤销
|
||
"FOK", // 无法全部立即成交就撤销
|
||
"GTX" // 无法成为挂单方就撤销
|
||
],
|
||
"liquidationFee": "0.010000", // 强平费率
|
||
"marketTakeBound": "0.30", // 市价吃单(相对于标记价格)允许可造成的最大价格偏离比例
|
||
}
|
||
],
|
||
"timezone": "UTC" // 服务器所用的时间区域
|
||
}
|
||
|
||
24hr价格变动情况
|
||
接口描述
|
||
请注意,不携带symbol参数会返回全部交易对数据,不仅数据庞大,而且权重极高
|
||
|
||
HTTP请求
|
||
GET /fapi/v1/ticker/24hr
|
||
|
||
请求权重
|
||
带symbol为1, 不带为40
|
||
|
||
请求参数
|
||
名称 类型 是否必需 描述
|
||
symbol STRING NO 交易对
|
||
不发送交易对参数,则会返回所有交易对信息
|
||
响应示例
|
||
{
|
||
"symbol": "BTCUSDT",
|
||
"priceChange": "-94.99999800", //24小时价格变动
|
||
"priceChangePercent": "-95.960", //24小时价格变动百分比
|
||
"weightedAvgPrice": "0.29628482", //加权平均价
|
||
"lastPrice": "4.00000200", //最近一次成交价
|
||
"lastQty": "200.00000000", //最近一次成交额
|
||
"openPrice": "99.00000000", //24小时内第一次成交的价格
|
||
"highPrice": "100.00000000", //24小时最高价
|
||
"lowPrice": "0.10000000", //24小时最低价
|
||
"volume": "8913.30000000", //24小时成交量
|
||
"quoteVolume": "15.30000000", //24小时成交额
|
||
"openTime": 1499783499040, //24小时内,第一笔交易的发生时间
|
||
"closeTime": 1499869899040, //24小时内,最后一笔交易的发生时间
|
||
"firstId": 28385, // 首笔成交id
|
||
"lastId": 28460, // 末笔成交id
|
||
"count": 76 // 成交笔数
|
||
}
|
||
|
||
或(当不发送交易对信息)
|
||
|
||
[
|
||
{
|
||
"symbol": "BTCUSDT",
|
||
"priceChange": "-94.99999800", //24小时价格变动
|
||
"priceChangePercent": "-95.960", //24小时价格变动百分比
|
||
"weightedAvgPrice": "0.29628482", //加权平均价
|
||
"lastPrice": "4.00000200", //最近一次成交价
|
||
"lastQty": "200.00000000", //最近一次成交额
|
||
"openPrice": "99.00000000", //24小时内第一次成交的价格
|
||
"highPrice": "100.00000000", //24小时最高价
|
||
"lowPrice": "0.10000000", //24小时最低价
|
||
"volume": "8913.30000000", //24小时成交量
|
||
"quoteVolume": "15.30000000", //24小时成交额
|
||
"openTime": 1499783499040, //24小时内,第一笔交易的发生时间
|
||
"closeTime": 1499869899040, //24小时内,最后一笔交易的发生时间
|
||
"firstId": 28385, // 首笔成交id
|
||
"lastId": 28460, // 末笔成交id
|
||
"count": 76 // 成交笔数
|
||
}
|
||
]
|
||
|
||
当前最优挂单
|
||
接口描述
|
||
返回当前最优的挂单(最高买单,最低卖单)
|
||
|
||
HTTP请求
|
||
GET /fapi/v1/ticker/bookTicker
|
||
|
||
注意: 响应消息不包含RPI订单,其不可见。
|
||
|
||
请求权重
|
||
单交易对2,无交易对5
|
||
|
||
请求参数
|
||
名称 类型 是否必需 描述
|
||
symbol STRING NO 交易对
|
||
不发送交易对参数,则会返回所有交易对信息
|
||
该接口返回头中的X-MBX-USED-WEIGHT-1M参数不准确,可以忽略
|
||
响应示例
|
||
{
|
||
"symbol": "BTCUSDT", // 交易对
|
||
"bidPrice": "4.00000000", //最优买单价
|
||
"bidQty": "431.00000000", //挂单量
|
||
"askPrice": "4.00000200", //最优卖单价
|
||
"askQty": "9.00000000", //挂单量
|
||
"time": 1589437530011 // 撮合引擎时间
|
||
}
|
||
|
||
或(当不发送symbol)
|
||
|
||
[
|
||
{
|
||
"symbol": "BTCUSDT", // 交易对
|
||
"bidPrice": "4.00000000", //最优买单价
|
||
"bidQty": "431.00000000", //挂单量
|
||
"askPrice": "4.00000200", //最优卖单价
|
||
"askQty": "9.00000000", //挂单量
|
||
"time": 1589437530011 // 撮合引擎时间
|
||
}
|
||
]
|
||
|
||
|