通用

大约 5 分钟

QuoteClient(const ClientConfig &cf, bool is_grab_permission = true);

说明
在SDK中发起行情接口调用时,需要使用到QuoteClientQuoteClient中封装了所有行情相关的API接口调用。

默认条件下,QuoteClient会自动进行行情权限抢占(is_grab_permission=true)。 如果需要自行控制行情权限抢占,可以把 is_grab_permission 设置为False。

grab_quote_permission 行情权限抢占

QuoteClient::grab_quote_permission()

说明

抢占行情权限,在多个设备共享一个账号时,只有主设备上会返回行情信息。所以每次切换设备时需执行行情权限抢占,将当前设备设置为主设备。若不切换设备则无需调用

参数

返回

KEYVALUE
name行情权限名称
expire_at权限过期时间(-1为长期有效)

name字段对应的权限名称枚举值说明:

name字段取值说明
hkStockQuoteLv2港股Lv2权限,大陆IP赠送免费的港股API行情,无法单独购买,大陆地区用户免费赠送
hkStockQuoteLv2Global港股Lv2权限,提供实时报价数据,10档买卖盘口,逐笔成交明细以及经纪队列,非大陆用户需购买
usQuoteBasic美股Lv1行情,购买API行情后,可以在API中获取交易所上市证券(包括美股正股和 ETF,不包括美股期货和美股期权)在内的Lv1实时行情信息
usStockQuoteLv2Totalview美股Lv2行情,购买API行情后,可以在API中获取交易所上市证券(包括美股正股和 ETF,不包括美股期货和美股期权)在内的行情信息
usOptionQuote美股期权Lv1,展示基于16家交易所报价的最新价和最优买卖一档数据
CMEFuturesQuoteLv2芝加哥商品交易所Lv2权限,购买芝加哥商品交易所Lv2行情数据后,您可以通过API获取在CME交易的期货的实时市场数据。CME交易的期货品类包含纳斯达克、标普500指数期货以及汇率期货等。
CBOTFuturesQuoteLv2芝加哥期货交易所Lv2权限,购买芝加哥期货交易所Lv2行情数据后,您可以通过API获取在CBOT交易的期货的实时市场数据,CBOT交易的期货品类包含道琼斯指数期货、农产品和利率期货等。
CBOEFuturesQuoteLv2芝加哥期权交易所Lv2权限,购买后可通过API获取在芝加哥期权交易所交易的期货的L2实时行情数据
NYMEXFuturesQuoteLv2纽约商业交易所Lv2权限,购买纽约商业交易所Lv2行情数据后,您可以通过API获取在NYMEX交易的期货的实时市场数据。NYMEX交易的期货品类包含美原油、天然气等能源期货。
COMEXFuturesQuoteLv2纽约商品交易所Lv2权限,购买纽约商品交易所Lv2行情数据后,您可以通过API获取在COMEX交易的期货的实时市场数据。COMEX交易的期货品类包含黄金、白银等金属期货等。
HKEXFuturesQuoteLv2香港交易所Lv2权限,香港期货交易所Lv2行情权限包含香港期货L2与香港期权L2行情数据(大陆用户可免费获取期权L2行情,无需单独购买)
SGXFuturesQuoteLv2新加坡交易所Lv2权限,购买后可通过API获取在新加坡期货交易所交易的期货的L2行情数据
OSEFuturesQuoteLv2大阪交易所Lv2权限,购买后可通过API获取在日本大阪期货交易所交易的期货的L2实时行情数据
EUREXFuturesQuoteLv2欧洲交易所Lv2权限,购买后可通过API获取在欧洲交易所交易的期货的L2实时行情数据

示例

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

using namespace std;
using namespace web;
using namespace web::json;
using namespace TIGER_API;


int main(int argc, char *args[]) {
    /************************** set config **********************/
    ClientConfig config = ClientConfig();

    config.private_key = "xxxxxx your private key string xxxxxxxx";
    config.tiger_id = "your tiger id";
    config.account = "your account";


    /**
     * 使用封装后的行情接口 QuoteClient
     */
    std::shared_ptr<QuoteClient> quote_client = std::make_shared<QuoteClient>(config);
    value result = quote_client->grab_quote_permission();
    cout << result << endl;

    return 0;
}

返回示例

[{"name": "usStockQuote", "expire_at": 1698767999000}, {"name": "usStockQuoteLv2Arca", "expire_at": 1698767999000}, {"name": "usStockQuoteLv2Totalview", "expire_at": 1698767999000}, {"name": "hkStockQuoteLv2", "expire_at": 1698767999000}, {"name": "usOptionQuote", "expire_at": 1698767999000}]

get_quote_permission 查询行情权限

QuoteClient::get_quote_permission()

说明

查询当前所拥有的行情权限

参数

返回

grab_quote_permission

示例

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

using namespace std;
using namespace web;
using namespace web::json;
using namespace TIGER_API;


int main(int argc, char *args[]) {
    /************************** set config **********************/
    ClientConfig config = ClientConfig();

    config.private_key = "xxxxxx your private key string xxxxxxxx";
    config.tiger_id = "your tiger id";
    config.account = "your account";



    /**
     * 使用封装后的行情接口 QuoteClient
     */
    std::shared_ptr<QuoteClient> quote_client = std::make_shared<QuoteClient>(config);
    value result = quote_client->get_quote_permission();
    cout << result << endl;

    return 0;
}

返回示例

[{"expireAt":1704177094000,"name":"HKEXFuturesQuoteLv2"},
{"expireAt":1698997529000,"name":"SGXFuturesQuoteLv2"},{"expireAt":1675158055000,"name":"COMEXFuturesQuoteLv2"},
{"expireAt":1704177094000,"name":"HKEXDerivativeQuoteLv2"},{"expireAt":1688716533000,"name":"COMEXFuturesQuoteLv1"},
{"expireAt":4000000000000,"name":"usStockQuoteLv2Arca"},{"expireAt":1746080241000,"name":"OSEFuturesQuoteLv2"},
{"expireAt":4002592000000,"name":"usStockQuoteLv2Totalview"},{"expireAt":1932709961000,"name":"NYMEXFuturesQuoteLv2"},
{"expireAt":-1,"name":"hkStockQuoteLv2"},{"expireAt":4133951999000,"name":"usOptionQuote"},
{"expireAt":2003052655000,"name":"usQuoteBasic"},{"expireAt":1704177094000,"name":"hkOptionQuoteLv2"}]

get_kline_quota 获取历史K线额度

获取历史K线额度明细
value get_kline_quota(bool with_details = false);

说明

查询按照本用户的等级已使用和剩余的symbol个数,包括股票,期货,期权对应股票(同一股票的不同期权,只占用一个symbol)

参数

参数类型是否必填说明
with_detailsboolNo是否返回已请求的symbol详情,默认不返回

返回

list. 其中每一项如下

字段类型说明
remainint已使用数量
usedint剩余数量
methodstrapi接口(kline:股票K线; future_kline:期货K线; option_kline:期权K线; history_timeline:股票历史分时
detailsvalue已使用的标的详情

示例

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

using namespace std;
using namespace web;
using namespace web::json;
using namespace TIGER_API;


int main(int argc, char *args[]) {
    /************************** set config **********************/
    ClientConfig config = ClientConfig();

    config.private_key = "xxxxxx your private key string xxxxxxxx";
    config.tiger_id = "your tiger id";
    config.account = "your account";


    /**
     * 使用封装后的行情接口 QuoteClient
     */
    std::shared_ptr<QuoteClient> quote_client = std::make_shared<QuoteClient>(config);
    value result = quote_client->get_kline_quota();
    cout << result << endl;

    return 0;
}

返回示例

[{"remain": 2, "used": 18, "method": "kline", "details": ["AAPL", "FB"]}, 
{"remain": 10, "used": 0, "method": "future_kline", "details": []},
 {"remain": 20, "used": 0, "method": "option_kline", "details": []}, 
 {"remain": 20, "used": 0, "method": "history_timeline", "details": []}]
上次编辑于: