期货
获取期货交易所
功能说明
获取期货交易所列表。
方法签名
func (c *QuoteClient) GetFutureExchange() ([]model.FutureExchange, error)参数
无参数。
返回
([]model.FutureExchange, error)。关键字段来自 model.FutureExchange:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
Code | string | code | 交易所代码 |
Name | string | name | 交易所名称 |
ZoneID | string | zoneId | 交易所时区标识 |
示例
result, err := qc.GetFutureExchange()
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"code": "CME",
"name": "Chicago Mercantile Exchange",
"market": "US",
"zone": "America/Chicago"
},
{
"code": "NYMEX",
"name": "New York Mercantile Exchange",
"market": "US",
"zone": "America/New_York"
},
{
"code": "HKEX",
"name": "Hong Kong Exchanges",
"market": "HK",
"zone": "Asia/Hong_Kong"
}
]调用频率
基础限流为 10 次/分钟。
获取期货合约列表
功能说明
获取某交易所的期货合约列表。
方法签名
func (c *QuoteClient) GetFutureContracts(exchange string) ([]model.FutureContractInfo, error)参数
| 参数 | 类型 | 必填 | SDK 默认值 | 约束 |
|---|---|---|---|---|
exchange | string | 是 | 无 | 见方法签名;SDK 不提供额外默认值 |
返回
([]model.FutureContractInfo, error)。关键字段来自 model.FutureContractInfo:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
Continuous | bool | continuous | 是否为连续合约 |
Trade | bool | trade | 是否可交易 |
Type | string | type | 合约类型 |
ContractCode | string | contractCode | 合约代码 |
IbCode | string | ibCode | IB 合约代码 |
Name | string | name | 合约名称 |
ContractMonth | string | contractMonth | 合约月份 |
LastTradingDate | string | lastTradingDate | 最后交易日 |
FirstNoticeDate | string | firstNoticeDate | 首个通知日 |
LastBiddingCloseTime | int64 | lastBiddingCloseTime | 最后竞价结束时间戳 |
Currency | string | currency | 计价货币 |
ExchangeCode | string | exchangeCode | 交易所代码 |
Multiplier | float64 | multiplier | 合约乘数 |
MinTick | float64 | minTick | 最小报价单位 |
DisplayMultiplier | float64 | displayMultiplier | 显示乘数 |
Exchange | string | exchange | 交易所名称 |
ProductWorth | string | productWorth | 合约价值说明 |
DeliveryMode | string | deliveryMode | 交割方式 |
ProductType | string | productType | 产品类型 |
ProductScale | string | productScale | 产品规模 |
LastTradingTimestamp | int64 | lastTradingTimestamp | 最后交易时间戳 |
示例
result, err := qc.GetFutureContracts("value")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"contractCode": "ES2609",
"symbol": "ES",
"name": "E-mini S&P 500",
"exchange": "CME",
"exchangeCode": "CME",
"market": "US",
"currency": "USD",
"multiplier": 50.0,
"lastTradingDate": "2025-09-19",
"firstNoticeDate": "",
"lastBiddingCloseTime": 0
},
{
"contractCode": "ES2612",
"symbol": "ES",
"name": "E-mini S&P 500",
"exchange": "CME",
"exchangeCode": "CME",
"market": "US",
"currency": "USD",
"multiplier": 50.0,
"lastTradingDate": "2025-12-19",
"firstNoticeDate": "",
"lastBiddingCloseTime": 0
}
]调用频率
基础限流为 120 次/分钟。
获取期货合约
功能说明
按 contract_code 查询单个期货合约。
方法签名
func (c *QuoteClient) GetFutureContract(req model.FutureContractSingleRequest) ([]model.FutureContractInfo, error)参数
model.FutureContractSingleRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Type | string | 否 | 空值省略 | GetFutureContract 不使用此字段 |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
ContractCode | string | 是 | 空值时省略 | 期货合约代码 |
返回
([]model.FutureContractInfo, error)。关键字段来自 model.FutureContractInfo:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
Continuous | bool | continuous | 是否为连续合约 |
Trade | bool | trade | 是否可交易 |
Type | string | type | 合约类型 |
ContractCode | string | contractCode | 期货合约代码 |
IbCode | string | ibCode | IB 合约代码 |
Name | string | name | 合约名称 |
ContractMonth | string | contractMonth | 合约月份 |
LastTradingDate | string | lastTradingDate | 最后交易日 |
FirstNoticeDate | string | firstNoticeDate | 首个通知日 |
LastBiddingCloseTime | int64 | lastBiddingCloseTime | 最后竞价结束时间戳 |
Currency | string | currency | 计价货币 |
ExchangeCode | string | exchangeCode | 交易所代码 |
Multiplier | float64 | multiplier | 合约乘数 |
MinTick | float64 | minTick | 最小报价单位 |
DisplayMultiplier | float64 | displayMultiplier | 显示乘数 |
Exchange | string | exchange | 交易所名称 |
ProductWorth | string | productWorth | 合约价值说明 |
DeliveryMode | string | deliveryMode | 交割方式 |
ProductType | string | productType | 产品类型 |
ProductScale | string | productScale | 产品规模 |
LastTradingTimestamp | int64 | lastTradingTimestamp | 最后交易时间戳 |
示例
result, err := qc.GetFutureContract(model.FutureContractSingleRequest{
ContractCode: "ES2609",
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"contractCode": "ES2609",
"symbol": "ES",
"name": "E-mini S&P 500",
"exchange": "CME",
"exchangeCode": "CME",
"market": "US",
"currency": "USD",
"multiplier": 50.0,
"lastTradingDate": "2025-09-19",
"firstNoticeDate": "",
"lastBiddingCloseTime": 0
}调用频率
基础限流为 120 次/分钟。
获取所有期货合约
功能说明
查询所有期货合约。
方法签名
func (c *QuoteClient) GetAllFutureContracts(req model.AllFutureContractsRequest) ([]model.FutureContractInfo, error)参数
model.AllFutureContractsRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Type | string | 是 | 空值省略 | 期货品种代码,如 ES |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
ContractCode | string | 否 | 空值时省略 | GetCurrentFutureContract 不使用此字段 |
Exchange | string | 否 | 空值时省略 | 交易所代码 |
返回
([]model.FutureContractInfo, error)。关键字段来自 model.FutureContractInfo:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
Continuous | bool | continuous | 是否为连续合约 |
Trade | bool | trade | 是否可交易 |
Type | string | type | 合约类型 |
ContractCode | string | contractCode | 期货合约代码 |
IbCode | string | ibCode | IB 合约代码 |
Name | string | name | 合约名称 |
ContractMonth | string | contractMonth | 合约月份 |
LastTradingDate | string | lastTradingDate | 最后交易日 |
FirstNoticeDate | string | firstNoticeDate | 首个通知日 |
LastBiddingCloseTime | int64 | lastBiddingCloseTime | 最后竞价结束时间戳 |
Currency | string | currency | 计价货币 |
ExchangeCode | string | exchangeCode | 交易所代码 |
Multiplier | float64 | multiplier | 合约乘数 |
MinTick | float64 | minTick | 最小报价单位 |
DisplayMultiplier | float64 | displayMultiplier | 显示乘数 |
Exchange | string | exchange | 交易所名称 |
ProductWorth | string | productWorth | 合约价值说明 |
DeliveryMode | string | deliveryMode | 交割方式 |
ProductType | string | productType | 产品类型 |
ProductScale | string | productScale | 产品规模 |
LastTradingTimestamp | int64 | lastTradingTimestamp | 最后交易时间戳 |
示例
result, err := qc.GetAllFutureContracts(model.AllFutureContractsRequest{
Type: "ES",
Exchange: "CME",
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"contractCode": "ES2609",
"symbol": "ES",
"name": "E-mini S&P 500",
"exchange": "CME",
"exchangeCode": "CME",
"market": "US",
"currency": "USD",
"multiplier": 50.0,
"lastTradingDate": "2025-09-19",
"firstNoticeDate": "",
"lastBiddingCloseTime": 0
},
{
"contractCode": "ES2612",
"symbol": "ES",
"name": "E-mini S&P 500",
"exchange": "CME",
"exchangeCode": "CME",
"market": "US",
"currency": "USD",
"multiplier": 50.0,
"lastTradingDate": "2025-12-19",
"firstNoticeDate": "",
"lastBiddingCloseTime": 0
}
]获取当前合约
功能说明
当前主力合约。
方法签名
func (c *QuoteClient) GetCurrentFutureContract(req model.FutureContractSingleRequest) (*model.FutureContractInfo, error)参数
model.FutureContractSingleRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Type | string | 是 | 空值省略 | 期货品种代码,如 ES |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
ContractCode | string | 否 | 空值时省略 | GetCurrentFutureContract 不使用此字段 |
返回
(*model.FutureContractInfo, error)。关键字段来自 model.FutureContractInfo:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
Continuous | bool | continuous | 是否为连续合约 |
Trade | bool | trade | 是否可交易 |
Type | string | type | 合约类型 |
ContractCode | string | contractCode | 期货合约代码 |
IbCode | string | ibCode | IB 合约代码 |
Name | string | name | 合约名称 |
ContractMonth | string | contractMonth | 合约月份 |
LastTradingDate | string | lastTradingDate | 最后交易日 |
FirstNoticeDate | string | firstNoticeDate | 首个通知日 |
LastBiddingCloseTime | int64 | lastBiddingCloseTime | 最后竞价结束时间戳 |
Currency | string | currency | 计价货币 |
ExchangeCode | string | exchangeCode | 交易所代码 |
Multiplier | float64 | multiplier | 合约乘数 |
MinTick | float64 | minTick | 最小报价单位 |
DisplayMultiplier | float64 | displayMultiplier | 显示乘数 |
Exchange | string | exchange | 交易所名称 |
ProductWorth | string | productWorth | 合约价值说明 |
DeliveryMode | string | deliveryMode | 交割方式 |
ProductType | string | productType | 产品类型 |
ProductScale | string | productScale | 产品规模 |
LastTradingTimestamp | int64 | lastTradingTimestamp | 最后交易时间戳 |
示例
result, err := qc.GetCurrentFutureContract(model.FutureContractSingleRequest{
Type: "ES",
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"contractCode": "ES2609",
"symbol": "ES",
"name": "E-mini S&P 500",
"exchange": "CME",
"exchangeCode": "CME",
"market": "US",
"currency": "USD",
"multiplier": 50.0,
"lastTradingDate": "2025-09-19",
"firstNoticeDate": "",
"lastBiddingCloseTime": 0
}调用频率
基础限流为 120 次/分钟。
获取连续合约
功能说明
连续主力合约。
方法签名
func (c *QuoteClient) GetFutureContinuousContracts(req model.FutureContinuousContractsRequest) ([]model.FutureContractInfo, error)参数
model.FutureContinuousContractsRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Type | string | 是 | 空值省略 | 期货品种代码,如 ES |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
返回
([]model.FutureContractInfo, error)。关键字段来自 model.FutureContractInfo:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
Continuous | bool | continuous | 是否为连续合约 |
Trade | bool | trade | 是否可交易 |
Type | string | type | 合约类型 |
ContractCode | string | contractCode | 期货合约代码 |
IbCode | string | ibCode | IB 合约代码 |
Name | string | name | 合约名称 |
ContractMonth | string | contractMonth | 合约月份 |
LastTradingDate | string | lastTradingDate | 最后交易日 |
FirstNoticeDate | string | firstNoticeDate | 首个通知日 |
LastBiddingCloseTime | int64 | lastBiddingCloseTime | 最后竞价结束时间戳 |
Currency | string | currency | 计价货币 |
ExchangeCode | string | exchangeCode | 交易所代码 |
Multiplier | float64 | multiplier | 合约乘数 |
MinTick | float64 | minTick | 最小报价单位 |
DisplayMultiplier | float64 | displayMultiplier | 显示乘数 |
Exchange | string | exchange | 交易所名称 |
ProductWorth | string | productWorth | 合约价值说明 |
DeliveryMode | string | deliveryMode | 交割方式 |
ProductType | string | productType | 产品类型 |
ProductScale | string | productScale | 产品规模 |
LastTradingTimestamp | int64 | lastTradingTimestamp | 最后交易时间戳 |
示例
result, err := qc.GetFutureContinuousContracts(model.FutureContinuousContractsRequest{
Type: "ES",
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"contractCode": "ESmain",
"symbol": "ES",
"name": "E-mini S&P 500 Continuous",
"exchange": "CME",
"exchangeCode": "CME",
"market": "US",
"currency": "USD",
"multiplier": 50.0,
"type": "main"
}
]调用频率
基础限流为 120 次/分钟。
获取历史主力合约
功能说明
期货主力合约历史。
方法签名
func (c *QuoteClient) GetFutureHistoryMainContract(req model.FutureHistoryMainContractRequest) ([]model.FutureMainContractHistory, error)当前服务端不支持 Go SDK 使用的 future_main_contract 接口。
参数
model.FutureHistoryMainContractRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
ContractCodes | []string | 否 | 空集合时省略 | 期货合约代码列表 |
BeginTime | int64 | 否 | 零值时省略 | 开始时间,毫秒时间戳 |
EndTime | int64 | 否 | 零值时省略 | 结束时间,毫秒时间戳 |
返回
([]model.FutureMainContractHistory, error)。关键字段来自 model.FutureMainContractHistory:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
ContractCode | string | contractCode | 期货合约代码 |
Symbol | string | symbol | 标的代码 |
BeginDate | string | beginDate | 开始日期 |
EndDate | string | endDate | 结束日期 |
示例
result, err := qc.GetFutureHistoryMainContract(model.FutureHistoryMainContractRequest{
ContractCodes: []string{"ES2609"},
BeginTime: 1735689600000,
EndTime: 1738281600000,
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"contractCode": "ES2609",
"symbol": "ES",
"beginDate": "2025-06-20",
"endDate": "2025-09-19"
},
{
"contractCode": "ES2606",
"symbol": "ES",
"beginDate": "2025-03-21",
"endDate": "2025-06-19"
}
]获取期货实时行情
功能说明
获取期货实时行情。
方法签名
func (c *QuoteClient) GetFutureRealTimeQuote(req model.FutureBriefRequest) ([]model.FutureQuote, error)参数
model.FutureBriefRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
ContractCodes | []string | 否 | 空集合时省略 | 期货合约代码列表 |
返回
([]model.FutureQuote, error)。关键字段来自 model.FutureQuote:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
ContractCode | string | contractCode | 期货合约代码 |
LatestPrice | float64 | latestPrice | 最新价 |
LatestSize | int64 | latestSize | 最新成交数量 |
LatestTime | int64 | latestTime | 最新成交时间戳 |
BidPrice | float64 | bidPrice | 买一价 |
AskPrice | float64 | askPrice | 卖一价 |
BidSize | int64 | bidSize | 买一数量 |
AskSize | int64 | askSize | 卖一数量 |
OpenInterest | int64 | openInterest | 未平仓量 |
OpenInterestChange | int64 | openInterestChange | 未平仓量变动 |
Volume | int64 | volume | 成交量 |
Open | float64 | open | 开盘价 |
High | float64 | high | 最高价 |
Low | float64 | low | 最低价 |
LimitUp | float64 | limitUp | 涨停价 |
LimitDown | float64 | limitDown | 跌停价 |
AvgPrice | float64 | avgPrice | 均价 |
Settlement | float64 | settlement | 结算价 |
示例
result, err := qc.GetFutureRealTimeQuote(model.FutureBriefRequest{
ContractCodes: []string{"ES2609"},
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"symbol": "ES2609",
"open": 5620.25,
"high": 5658.50,
"low": 5605.00,
"close": 5645.75,
"preClose": 5618.00,
"latestPrice": 5645.75,
"latestTime": 1785528000000,
"askPrice": 5646.00,
"askSize": 125,
"bidPrice": 5645.75,
"bidSize": 98,
"volume": 1523400,
"status": "NORMAL"
}
]调用频率
基础限流为 120 次/分钟。
获取期货 K 线
功能说明
获取期货 K 线数据。beginTimeMs/endTimeMs 为 13 位毫秒时间戳,-1 表示不限。
方法签名
func (c *QuoteClient) GetFutureKline(req model.FutureKlineRequest) ([]model.FutureKline, error)参数
model.FutureKlineRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Period | string | 否 | 空值省略 | 无;可选值:day, week, month, year, 1min, 5min, 15min, 30min, 60min |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
ContractCodes | []string | 否 | 空集合时省略 | 期货合约代码列表 |
ContractCode | string | 否 | 空值时省略 | 期货合约代码 |
BeginTime | int64 | 否 | 零值时省略 | 开始时间,毫秒时间戳 |
EndTime | int64 | 否 | 零值时省略 | 结束时间,毫秒时间戳 |
BeginIndex | int | 否 | 零值时省略 | 起始索引 |
EndIndex | int | 否 | 零值时省略 | 结束索引 |
Limit | int | 否 | 零值时省略 | 返回数量上限 |
PageToken | string | 否 | 空值时省略 | 分页令牌 |
返回
([]model.FutureKline, error)。关键字段来自 model.FutureKline:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
NextPageToken | string | nextPageToken | 下一页令牌 |
Items | []FutureKlineItem | items | 数据条目列表 |
FutureKlineItem 字段
| 字段 | 类型 | 说明 |
|---|---|---|
Time | int64 | 时间戳 |
Volume | int64 | 成交量 |
Open | float64 | 开盘价 |
Close | float64 | 收盘价 |
High | float64 | 最高价 |
Low | float64 | 最低价 |
LastTime | int64 | 最新成交时间 |
OpenInterest | int64 | 未平仓量 |
Settlement | float64 | 结算价 |
示例
result, err := qc.GetFutureKline(model.FutureKlineRequest{
ContractCodes: []string{"ES2609"},
ContractCode: "ES2609",
Period: "day",
BeginTime: 1735689600000,
EndTime: 1738281600000,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"symbol": "ES2609",
"period": "day",
"nextPageToken": null,
"items": [
{
"time": 1785384000000,
"volume": 1234567,
"open": 5618.00,
"close": 5620.25,
"high": 5635.50,
"low": 5598.75,
"amount": 0
},
{
"time": 1785470400000,
"volume": 1523400,
"open": 5620.25,
"close": 5645.75,
"high": 5658.50,
"low": 5605.00,
"amount": 0
}
]
}
]调用频率
基础限流为 60 次/分钟。
分页获取期货 K 线
功能说明
分页获取期货 K 线,客户端循环直到收集足够数据后合并返回。
方法签名
func (c *QuoteClient) GetFutureKlineByPage(req model.FutureKlineByPageRequest) ([]model.FutureKlineItem, error)参数
model.FutureKlineByPageRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Period | string | 否 | 空值省略 | 无;可选值:day, week, month, year, 1min, 5min, 15min, 30min, 60min |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
ContractCode | string | 否 | 空值时省略 | 期货合约代码 |
BeginTime | int64 | 否 | 0 按 -1 处理 | 开始时间,毫秒时间戳;-1 表示不限制 |
EndTime | int64 | 否 | 0 按 -1 处理 | 结束时间,毫秒时间戳;-1 表示不限制 |
TotalSize | int | 否 | 小于等于 0 时为 1000 | 计划获取的总数量 |
PageSize | int | 否 | 小于等于 0 时为 200 | 每页数量 |
返回
([]model.FutureKlineItem, error)。关键字段来自 model.FutureKlineItem:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
Time | int64 | time | 时间戳 |
Volume | int64 | volume | 成交量 |
Open | float64 | open | 开盘价 |
Close | float64 | close | 收盘价 |
High | float64 | high | 最高价 |
Low | float64 | low | 最低价 |
LastTime | int64 | lastTime | 最新成交时间戳 |
OpenInterest | int64 | openInterest | 未平仓量 |
Settlement | float64 | settlement | 结算价 |
示例
result, err := qc.GetFutureKlineByPage(model.FutureKlineByPageRequest{
ContractCode: "ES2609",
Period: "day",
BeginTime: 1735689600000,
EndTime: 1738281600000,
TotalSize: 100,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"time": 1785384000000,
"volume": 1234567,
"open": 5618.00,
"close": 5620.25,
"high": 5635.50,
"low": 5598.75,
"amount": 0
},
{
"time": 1785470400000,
"volume": 1523400,
"open": 5620.25,
"close": 5645.75,
"high": 5658.50,
"low": 5605.00,
"amount": 0
}
]获取期货逐笔成交
功能说明
期货逐笔。服务端返回 {contractCode, items:[...]} 对象,需解包 items 并回填 contractCode。 end_index 服务端要求必须 >= 0;未设置时默认 30(与 Python SDK 一致)。
方法签名
func (c *QuoteClient) GetFutureTradeTicks(req model.FutureTradeTicksRequest) ([]model.FutureTradeTickItem, error)参数
model.FutureTradeTicksRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
ContractCode | string | 否 | 空值时省略 | 期货合约代码 |
BeginIndex | int | 是 | 无;零值仍会序列化 | 起始索引 |
EndIndex | int | 是 | 无;零值仍会序列化 | 结束索引 |
Limit | int | 否 | 零值时省略 | 返回数量上限 |
返回
([]model.FutureTradeTickItem, error)。关键字段来自 model.FutureTradeTickItem:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
ContractCode | string | contractCode | 期货合约代码 |
Index | int64 | index | 逐笔序号 |
Time | int64 | time | 时间戳 |
Price | float64 | price | 成交价 |
Volume | int64 | volume | 成交量 |
Direction | string | direction | 成交方向 |
示例
result, err := qc.GetFutureTradeTicks(model.FutureTradeTicksRequest{
ContractCode: "ES2609",
Limit: 20,
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"symbol": "ES2609",
"beginIndex": 98200,
"endIndex": 98202,
"items": [
{"time": 1785527990000, "volume": 5, "price": 5645.50, "type": "+"},
{"time": 1785527995000, "volume": 12, "price": 5645.75, "type": "-"}
]
}
]调用频率
基础限流为 120 次/分钟。
获取期货深度行情
功能说明
期货盘口。
方法签名
func (c *QuoteClient) GetFutureDepth(req model.FutureDepthRequest) ([]model.FutureDepth, error)参数
model.FutureDepthRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
ContractCodes | []string | 否 | 空集合时省略 | 期货合约代码列表 |
返回
([]model.FutureDepth, error)。关键字段来自 model.FutureDepth:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
ContractCode | string | contractCode | 期货合约代码 |
Timestamp | int64 | timestamp | 盘口时间戳 |
Asks | []DepthLevel | asks | 卖盘档位 |
Bids | []DepthLevel | bids | 买盘档位 |
DepthLevel 字段
| 字段 | 类型 | 说明 |
|---|---|---|
Price | float64 | 价格 |
Count | int | Count 字段值 |
Volume | int64 | 成交量 |
示例
result, err := qc.GetFutureDepth(model.FutureDepthRequest{
ContractCodes: []string{"ES2609"},
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"symbol": "ES2609",
"asks": [
{"price": 5646.00, "volume": 125, "count": 0},
{"price": 5646.25, "volume": 200, "count": 0},
{"price": 5646.50, "volume": 350, "count": 0}
],
"bids": [
{"price": 5645.75, "volume": 98, "count": 0},
{"price": 5645.50, "volume": 180, "count": 0},
{"price": 5645.25, "volume": 275, "count": 0}
]
}
]获取期货交易时间
功能说明
期货交易时段。服务端返回单个对象({timeSection/tradingTimes/biddingTimes})。
方法签名
func (c *QuoteClient) GetFutureTradingTimes(req model.FutureTradingTimesRequest) (*model.FutureTradingTime, error)参数
model.FutureTradingTimesRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
ContractCode | string | 否 | 空值时省略 | 期货合约代码 |
TradingDate | string | 否 | 空值时省略 | TradingDate 字段值 |
返回
(*model.FutureTradingTime, error)。关键字段来自 model.FutureTradingTime:
| 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
ContractCode | string | contractCode | 期货合约代码 |
BizDate | string | bizDate | 业务日期 |
Zone | string | zone | 时区 |
TradingTimes | []FutureTradingSegment | tradingTimes | 交易时段列表 |
FutureTradingSegment 字段 | 类型 | JSON 字段 | 说明 |
|---|---|---|---|
Start | int64 | start | 时段开始时间戳 |
End | int64 | end | 时段结束时间戳 |
Type | string | type | 合约类型 |
Start 和 End 为毫秒时间戳。
示例
result, err := qc.GetFutureTradingTimes(model.FutureTradingTimesRequest{
ContractCode: "ES2609",
TradingDate: "2025-01-15",
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
[
{
"symbol": "ES",
"tradingTimes": [
{"start": "18:00:00", "end": "17:00:00", "zone": "America/Chicago", "tradingSession": "Electronic"}
]
}
]调用频率
基础限流为 60 次/分钟。
Updated 17 days ago
