数字货币

数字货币 HTTP 行情支持 K 线和当前分时,不支持历史分时。

获取 K 线数据

签名

pub async fn get_kline(&self, req: KlineRequest) -> Result<Vec<Kline>, TigerError>

说明

获取数字货币 K 线。服务端要求 symbolsperiod;将 sec_type 设为 Some("CC".into())

参数

参数Rust 类型必填性/条件SDK 默认值
req.symbolsOption<Vec<String>>服务端必填;SDK 不预校验None(不序列化)
req.periodOption<String>服务端必填;SDK 不预校验None(不序列化)
req.rightOption<String>可选None(不序列化)
req.begin_timeOption<i64>可选None(不序列化)
req.end_timeOption<i64>可选None(不序列化)
req.limitOption<i32>可选None(不序列化)
req.begin_indexOption<i32>可选None(不序列化)
req.end_indexOption<i32>可选None(不序列化)
req.page_tokenOption<String>可选None(不序列化)
req.trade_sessionOption<String>可选None(不序列化)
req.dateOption<String>可选None(不序列化)
req.with_fundamentalOption<bool>可选None(不序列化)
req.sec_typeOption<String>数字货币必填;使用 CCNone(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<Kline>, TigerError>

Rust 字段JSON 字段类型说明
symbolsymbolString数字货币代码
periodperiodString周期
next_page_tokennextPageTokenString下一页标记
itemsitemsVec数据列表

items 元素(KlineItem):

Rust 字段JSON 字段类型说明
timetimei64时间戳
volumevolumei64整数成交量;volume_decimal 缺失时使用
volume_decimalvolumeDecimalOption<f64>可选小数数字货币成交量;缺失时读取 volume
openopenf64开盘价
closeclosef64收盘价
highhighf64最高价
lowlowf64最低价
amountamountf64成交额

示例

use tigeropen::config::ClientConfig;
use tigeropen::model::quote_requests::KlineRequest;
use tigeropen::quote::QuoteClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = ClientConfig::builder().build()?;
    let quote = QuoteClient::from_config(config);
    let kline = quote.get_kline(KlineRequest {
        symbols: Some(vec!["BTC.USD".into()]),
        period: Some("day".into()),
        sec_type: Some("CC".into()),
        ..Default::default()
    }).await?;
    println!("bars={}", kline.len());
    Ok(())
}

请求频率

基础限流为 60 次/分钟。本页使用 kline 的方法共享此额度。


分页获取 K 线数据

签名

pub async fn get_kline_by_page(&self, req: KlineByPageRequest) -> Result<Vec<KlineItem>, TigerError>

说明

客户端分页获取数字货币 K 线。SDK 默认 page_size 为 200、total_size 为 1000,使用最早 bar 的 time - 1 继续请求。sec_type 会传递到每一页请求;将其设为 Some("CC".into())

参数

参数Rust 类型必填性/条件SDK 默认值
req.symbolsOption<Vec<String>>可选None(不序列化)
req.periodOption<String>可选None(不序列化)
req.begin_timeOption<i64>可选None(不序列化)
req.end_timeOption<i64>可选None(不序列化)
req.total_sizeOption<i32>可选None 时 1000
req.page_sizeOption<i32>可选None 时 200
req.rightOption<String>可选None(不序列化)
req.trade_sessionOption<String>可选None(不序列化)
req.sec_typeOption<String>数字货币必填;使用 CCNone(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<KlineItem>, TigerError>

Rust 字段JSON 字段类型说明
timetimei64时间戳
volumevolumei64整数成交量;volume_decimal 缺失时使用
volume_decimalvolumeDecimalOption<f64>可选小数数字货币成交量;缺失时读取 volume
openopenf64开盘价
closeclosef64收盘价
highhighf64最高价
lowlowf64最低价
amountamountf64成交额

示例

use tigeropen::config::ClientConfig;
use tigeropen::model::quote_requests::KlineByPageRequest;
use tigeropen::quote::QuoteClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = ClientConfig::builder().build()?;
    let quote = QuoteClient::from_config(config);
    let kline = quote.get_kline_by_page(KlineByPageRequest {
        symbols: Some(vec!["BTC.USD".into()]),
        period: Some("day".into()),
        sec_type: Some("CC".into()),
        total_size: Some(100),
        ..Default::default()
    }).await?;
    println!("bars={}", kline.len());
    Ok(())
}

请求频率

基础限流为 60 次/分钟。本页使用 kline 的方法共享此额度。


按请求获取当前分时数据

签名

pub async fn get_timeline_with_request(&self, req: TimelineRequest) -> Result<Vec<Timeline>, TigerError>

说明

获取数字货币当前分时数据。将 sec_type 设为 Some("CC".into())。该方法不提供数字货币历史分时。

参数

参数Rust 类型必填性/条件SDK 默认值
req.symbolsOption<Vec<String>>服务端必填;SDK 不预校验None(不序列化)
req.sec_typeOption<String>数字货币必填;使用 CCNone(不序列化)

返回

Result<Vec<Timeline>, TigerError>

Rust 字段JSON 字段类型说明
symbolsymbolString数字货币代码
periodperiodString周期
pre_closepreClosef64前收价
intradayintradayOption<TimelineBucket>盘中分时数据
pre_hourspreHoursOption<TimelineBucket>盘前分时数据
after_hoursafterHoursOption<TimelineBucket>盘后分时数据

TimelineBucket 字段:

Rust 字段JSON 字段类型说明
itemsitemsVec<TimelineItem>分时点列表

TimelineBucket.items 元素为 TimelineItem

Rust 字段JSON 字段类型说明
timetimei64时间戳
volumevolumei64整数成交量;volume_decimal 缺失时使用
volume_decimalvolumeDecimalOption<f64>可选小数数字货币成交量;缺失时读取 volume
pricepricef64价格
avg_priceavgPricef64平均价

示例

use tigeropen::config::ClientConfig;
use tigeropen::model::quote_requests::TimelineRequest;
use tigeropen::quote::QuoteClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = ClientConfig::builder().build()?;
    let quote = QuoteClient::from_config(config);
    let timeline = quote.get_timeline_with_request(TimelineRequest {
        symbols: Some(vec!["BTC.USD".into()]),
        sec_type: Some("CC".into()),
    }).await?;
    println!("series={}", timeline.len());
    Ok(())
}

请求频率

基础限流为 120 次/分钟


Did this page help you?