数字货币

数字货币行情使用 SecType: "CC"。支持 K 线和当前分时;不支持历史分时。

获取数字货币 K 线数据

方法签名

func (c *QuoteClient) GetKline(req model.KlineRequest) ([]model.Kline, error)

参数

model.KlineRequest

参数类型默认值约束/说明
Symbols[]stringnil 时省略数字货币代码列表
Periodstring空值时省略K 线周期
Rightstring空值时省略复权类型
BeginTimeint640 时省略毫秒时间戳;不可与 BeginIndexEndIndex 同时使用
EndTimeint640 时省略毫秒时间戳;不可与 BeginIndexEndIndex 同时使用
Limitint0 时省略返回数量
BeginIndexint0 时省略索引范围起点;不可与 BeginTimeEndTime 同时使用
EndIndexint0 时省略索引范围终点;不可与 BeginTimeEndTime 同时使用
PageTokenstring空值时省略分页游标
TradeSessionstring空值时省略交易时段
Datestring空值时省略日期
WithFundamental*boolnil是否附带基本面数据
SecTypestring空值时省略必须为 CC
Langstring空值时省略语言

返回

([]model.Kline, error)

每个 model.Kline

字段类型说明
Symbolstring数字货币代码
PeriodstringK 线周期
NextPageTokenstring下一页游标
Items[]model.KlineItemK 线数据

每个 Items 元素(model.KlineItem):

字段类型说明
Timeint64K 线毫秒时间戳
Volumeint64整数成交量;VolumeDecimalnil 时使用
VolumeDecimal*float64可选小数数字货币成交量
Openfloat64开盘价
Closefloat64收盘价
Highfloat64最高价
Lowfloat64最低价
Amountfloat64成交额

示例

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

参数类型默认值说明
Symbolstring空值时省略数字货币代码
SecTypestring空值时省略必须为 CC
Periodstring空值时省略K 线周期
BeginTimeint64未设置时 SDK 传 -1毫秒时间戳
EndTimeint64未设置时 SDK 传 -1毫秒时间戳
TotalSizeint<= 0 时为 1000所需总条数
PageSizeint<= 0 时为 200每页条数
Rightstring空值时省略复权类型
Langstring空值时省略语言
TradeSessionstring空值时省略交易时段

返回

([]model.KlineItem, error)

每个返回的 model.KlineItem

字段类型说明
Timeint64K 线毫秒时间戳
Volumeint64整数成交量;VolumeDecimalnil 时使用
VolumeDecimal*float64可选小数数字货币成交量
Openfloat64开盘价
Closefloat64收盘价
Highfloat64最高价
Lowfloat64最低价
Amountfloat64成交额

示例

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数字货币代码列表
SecTypestring必须为 CC

返回

([]model.Timeline, error)

每个 model.Timeline

字段类型说明
Symbolstring数字货币代码
Periodstring分时周期
PreClosefloat64前收价
Intraday*model.TimelineBucket可选盘中分时数据块
PreHours*model.TimelineBucket可选盘前分时数据块
AfterHours*model.TimelineBucket可选盘后分时数据块

每个非 nilmodel.TimelineBucket

字段类型说明
Items[]model.TimelineItem分时点

每个 Items 元素(model.TimelineItem):

字段类型说明
Timeint64分时点毫秒时间戳
Volumeint64整数成交量;VolumeDecimalnil 时使用
VolumeDecimal*float64可选小数数字货币成交量
Pricefloat64价格
AvgPricefloat64均价

示例

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 次/分钟


Did this page help you?