数字货币
数字货币行情使用 SecType: "CC"。支持 K 线和当前分时;不支持历史分时。
获取数字货币 K 线数据
方法签名
func (c *QuoteClient) GetKline(req model.KlineRequest) ([]model.Kline, error)参数
model.KlineRequest
| 参数 | 类型 | 默认值 | 约束/说明 |
|---|---|---|---|
Symbols | []string | nil 时省略 | 数字货币代码列表 |
Period | string | 空值时省略 | K 线周期 |
Right | string | 空值时省略 | 复权类型 |
BeginTime | int64 | 0 时省略 | 毫秒时间戳;不可与 BeginIndex 或 EndIndex 同时使用 |
EndTime | int64 | 0 时省略 | 毫秒时间戳;不可与 BeginIndex 或 EndIndex 同时使用 |
Limit | int | 0 时省略 | 返回数量 |
BeginIndex | int | 0 时省略 | 索引范围起点;不可与 BeginTime 或 EndTime 同时使用 |
EndIndex | int | 0 时省略 | 索引范围终点;不可与 BeginTime 或 EndTime 同时使用 |
PageToken | string | 空值时省略 | 分页游标 |
TradeSession | string | 空值时省略 | 交易时段 |
Date | string | 空值时省略 | 日期 |
WithFundamental | *bool | nil | 是否附带基本面数据 |
SecType | string | 空值时省略 | 必须为 CC |
Lang | string | 空值时省略 | 语言 |
返回
([]model.Kline, error)
每个 model.Kline:
| 字段 | 类型 | 说明 |
|---|---|---|
Symbol | string | 数字货币代码 |
Period | string | K 线周期 |
NextPageToken | string | 下一页游标 |
Items | []model.KlineItem | K 线数据 |
每个 Items 元素(model.KlineItem):
| 字段 | 类型 | 说明 |
|---|---|---|
Time | int64 | K 线毫秒时间戳 |
Volume | int64 | 整数成交量;VolumeDecimal 为 nil 时使用 |
VolumeDecimal | *float64 | 可选小数数字货币成交量 |
Open | float64 | 开盘价 |
Close | float64 | 收盘价 |
High | float64 | 最高价 |
Low | float64 | 最低价 |
Amount | float64 | 成交额 |
示例
package main
import (
"fmt"
"log"
"github.com/tigerfintech/openapi-go-sdk/config"
"github.com/tigerfintech/openapi-go-sdk/model"
"github.com/tigerfintech/openapi-go-sdk/quote"
)
func main() {
cfg, err := config.NewClientConfig()
if err != nil {
log.Fatal(err)
}
qc := quote.NewQuoteClientFromConfig(cfg)
result, err := qc.GetKline(model.KlineRequest{
Symbols: []string{"BTC.USD"},
SecType: "CC",
Period: "day",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)
}调用频率
基础限流为 60 次/分钟。
分页获取数字货币 K 线数据
方法签名
func (c *QuoteClient) GetKlineByPage(req model.KlineByPageRequest) ([]model.KlineItem, error)该客户端分页方法会在每一页请求中传递 SecType,合并结果按时间升序返回。
参数
model.KlineByPageRequest
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Symbol | string | 空值时省略 | 数字货币代码 |
SecType | string | 空值时省略 | 必须为 CC |
Period | string | 空值时省略 | K 线周期 |
BeginTime | int64 | 未设置时 SDK 传 -1 | 毫秒时间戳 |
EndTime | int64 | 未设置时 SDK 传 -1 | 毫秒时间戳 |
TotalSize | int | <= 0 时为 1000 | 所需总条数 |
PageSize | int | <= 0 时为 200 | 每页条数 |
Right | string | 空值时省略 | 复权类型 |
Lang | string | 空值时省略 | 语言 |
TradeSession | string | 空值时省略 | 交易时段 |
返回
([]model.KlineItem, error)
每个返回的 model.KlineItem:
| 字段 | 类型 | 说明 |
|---|---|---|
Time | int64 | K 线毫秒时间戳 |
Volume | int64 | 整数成交量;VolumeDecimal 为 nil 时使用 |
VolumeDecimal | *float64 | 可选小数数字货币成交量 |
Open | float64 | 开盘价 |
Close | float64 | 收盘价 |
High | float64 | 最高价 |
Low | float64 | 最低价 |
Amount | float64 | 成交额 |
示例
package main
import (
"fmt"
"log"
"github.com/tigerfintech/openapi-go-sdk/config"
"github.com/tigerfintech/openapi-go-sdk/model"
"github.com/tigerfintech/openapi-go-sdk/quote"
)
func main() {
cfg, err := config.NewClientConfig()
if err != nil {
log.Fatal(err)
}
qc := quote.NewQuoteClientFromConfig(cfg)
result, err := qc.GetKlineByPage(model.KlineByPageRequest{
Symbol: "BTC.USD",
SecType: "CC",
Period: "day",
TotalSize: 100,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)
}获取数字货币当前分时数据
方法签名
func (c *QuoteClient) GetTimelineByReq(req model.TimelineRequest) ([]model.Timeline, error)仅获取当前分时数据,不表示支持数字货币历史分时。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
Symbols | []string | 数字货币代码列表 |
SecType | string | 必须为 CC |
返回
([]model.Timeline, error)
每个 model.Timeline:
| 字段 | 类型 | 说明 |
|---|---|---|
Symbol | string | 数字货币代码 |
Period | string | 分时周期 |
PreClose | float64 | 前收价 |
Intraday | *model.TimelineBucket | 可选盘中分时数据块 |
PreHours | *model.TimelineBucket | 可选盘前分时数据块 |
AfterHours | *model.TimelineBucket | 可选盘后分时数据块 |
每个非 nil 的 model.TimelineBucket:
| 字段 | 类型 | 说明 |
|---|---|---|
Items | []model.TimelineItem | 分时点 |
每个 Items 元素(model.TimelineItem):
| 字段 | 类型 | 说明 |
|---|---|---|
Time | int64 | 分时点毫秒时间戳 |
Volume | int64 | 整数成交量;VolumeDecimal 为 nil 时使用 |
VolumeDecimal | *float64 | 可选小数数字货币成交量 |
Price | float64 | 价格 |
AvgPrice | float64 | 均价 |
示例
package main
import (
"fmt"
"log"
"github.com/tigerfintech/openapi-go-sdk/config"
"github.com/tigerfintech/openapi-go-sdk/model"
"github.com/tigerfintech/openapi-go-sdk/quote"
)
func main() {
cfg, err := config.NewClientConfig()
if err != nil {
log.Fatal(err)
}
qc := quote.NewQuoteClientFromConfig(cfg)
result, err := qc.GetTimelineByReq(model.TimelineRequest{
Symbols: []string{"BTC.USD"},
SecType: "CC",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)
}调用频率
基础限流为 120 次/分钟。
Updated 1 day ago
Did this page help you?
