数字货币
返回示例
{
"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(""))参数
| 参数名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| symbols | const value& | Yes | JSON 字符串数组,使用完整代码,如 BTC.USD |
| period | BarPeriod / utility::string_t | No | SDK 默认日线;字符串值由服务端校验 |
| begin_time / end_time | time_t | No | 时间范围;SDK 默认 -1 表示不发送 |
| right | QuoteRight / utility::string_t | No | SDK 默认 br;数字货币不做复权 |
| limit | int | No | SDK 默认 251;服务端上限适用 |
| page_token | utility::string_t | No | 下一页游标;默认空字符串 |
三个重载的参数顺序不一致:返回
value的两个重载为right在limit之前,返回vector<Kline>的重载为limit在right之前。这与 SDK 头文件quote_client.h一致,按位置传参时请对照上方对应重载的签名。
返回
web::json::value 或 vector<Kline>,包含 time、open、high、low、close 和成交量字段。
示例
#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.h 的 Kline/KlineItem)
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | utility::string_t | 代码 |
| contract_code | utility::string_t | 合约代码(如响应适用) |
| period | utility::string_t | K 线周期 |
| items | vector of KlineItem | K 线点列表 |
| expiry | time_t | 到期时间(如响应适用) |
| right | utility::string_t | 期权方向(如响应适用) |
| strike | utility::string_t | 行权价(如响应适用) |
KlineItem 的头文件字段为 open、high、low、close(double),time、last_time(time_t),volume、open_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)
参数
| 参数名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| symbols | const value& | Yes | JSON 字符串数组 |
| include_hour_trading | bool | No | SDK 默认 false;数字货币为连续交易,该标志通常不改变交易时段 |
| begin_time | time_t | No | 起始时间戳;SDK 默认 -1 |
返回
web::json::value,关键字段包括 symbol、time、price 和成交量。
示例
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,因此不提供合成行情值。
Updated 9 days ago
Did this page help you?
