数字货币

返回示例

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": ["A", "AA", "AAL", "AAPL", "ABBV", "ABC", "ABNB"]
}

获取数字货币 K 线

value QuoteClient::get_kline(const value &symbols, BarPeriod period = BarPeriod::DAY, time_t begin_time = -1, time_t end_time = -1, QuoteRight right = QuoteRight::br, int limit = 251, utility::string_t page_token = U(""))
value QuoteClient::get_kline(const value &symbols, utility::string_t period, time_t begin_time = -1, time_t end_time = -1, utility::string_t right = U("br"), int limit = 251, utility::string_t page_token = U(""))
vector<Kline> QuoteClient::get_kline(const value &symbols, utility::string_t period, time_t begin_time = -1, time_t end_time = -1, int limit = 251, utility::string_t right = U("br"), utility::string_t page_token = U(""))

参数

参数名类型是否必填描述
symbolsconst value&YesJSON 字符串数组,使用完整代码,如 BTC.USD
periodBarPeriod / utility::string_tNoSDK 默认日线;字符串值由服务端校验
begin_time / end_timetime_tNo时间范围;SDK 默认 -1 表示不发送
rightQuoteRight / utility::string_tNoSDK 默认 br;数字货币不做复权
limitintNoSDK 默认 251;服务端上限适用
page_tokenutility::string_tNo下一页游标;默认空字符串
⚠️

三个重载的参数顺序不一致:返回 value 的两个重载为 rightlimit 之前,返回 vector<Kline> 的重载为 limitright 之前。这与 SDK 头文件 quote_client.h 一致,按位置传参时请对照上方对应重载的签名。

返回

web::json::valuevector<Kline>,包含 timeopenhighlowclose 和成交量字段。

示例

#include "tigerapi/client_config.h"
#include "tigerapi/quote_client.h"

int main() {
    TIGER_API::ClientConfig config(false, U("your_config_directory_path"));
    TIGER_API::QuoteClient client(config);
    web::json::value symbols = web::json::value::array();
    symbols[0] = web::json::value::string(U("BTC.USD"));
    auto bars = client.get_kline(symbols, TIGER_API::BarPeriod::DAY);
    utility::ucout << bars.serialize() << std::endl;
}

模型形状(来自 model.hKline/KlineItem

字段类型说明
symbolutility::string_t代码
contract_codeutility::string_t合约代码(如响应适用)
periodutility::string_tK 线周期
itemsvector of KlineItemK 线点列表
expirytime_t到期时间(如响应适用)
rightutility::string_t期权方向(如响应适用)
strikeutility::string_t行权价(如响应适用)

KlineItem 的头文件字段为 openhighlowclose(double),timelast_time(time_t),volumeopen_interest(long long)和 settlement(double)。来源:include/tigerapi/model.h;不提供合成行情值。

返回示例

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": [
    {
      "symbol": "AAPL",
      "period": "day",
      "nextPageToken": null,
      "items": [
        {"time": 1785355200000, "open": 310.50, "high": 315.20, "low": 308.00, "close": 312.45, "volume": 58234100, "amount": 18156789012.50},
        {"time": 1785441600000, "open": 312.00, "high": 314.80, "low": 300.00, "close": 308.91, "volume": 176739024, "amount": 53821456789.00}
      ]
    }
  ]
}

获取数字货币分时

value QuoteClient::get_timeline(const value &symbols, bool include_hour_trading = false, time_t begin_time = -1)

参数

参数名类型是否必填描述
symbolsconst value&YesJSON 字符串数组
include_hour_tradingboolNoSDK 默认 false;数字货币为连续交易,该标志通常不改变交易时段
begin_timetime_tNo起始时间戳;SDK 默认 -1

返回

web::json::value,关键字段包括 symboltimeprice 和成交量。

示例

web::json::value symbols = web::json::value::array();
symbols[0] = web::json::value::string(U("ETH.USD"));
auto timeline = client.get_timeline(symbols);

响应依据

该重载返回未建模的 web::json::value,SDK 仓库无已验证数字货币分时 fixture,因此不提供合成行情值。


Did this page help you?