Xlight API用户手册 v1.5.1.2
Xlight极速柜台接口文档
载入中...
搜索中...
未找到
XLTApi类 参考abstract

接口类 更多...

#include <xlt_api.h>

Public 成员函数

virtual const char * get_api_version ()=0
 获取API版本号
 
virtual xlt_error_info_t get_last_error ()=0
 获取错误信息
 
virtual bool initialize (XLTApiConfig *config, XLTTradeSpi *trade_spi, XLTQuoteSpi *quote_spi)=0
 初始化API,登录之前必须调用此函数,只能初始化一次 @config 配置参数
 
virtual bool login (uint64_t request_id, uint16_t client_id, const char *account_name, const char *password, const char *pub_key)=0
 用户登请求
 
virtual bool logout (uint64_t session_id)=0
 登出请求
 
virtual uint32_t get_trading_day ()=0
 获取当前交易日。只有登录成功后,才能得到正确的交易日。
 
virtual uint64_t get_account_index (uint64_t session_id)=0
 获取账户索引,只有登录成功后,才能得到正确的资金账户索引
 
virtual bool subscribe_report (uint64_t session_id, TradeResumeType resume_type, uint64_t start_sequence)=0
 请求推送交易数据 每个session_id,仅第一次调用有效。
 
virtual void init_local_send ()=0
 本地发送初始化函数,预分配本地发送资源,非必须调用。 若不调用,会在首次发送订单时自动进行初始化,故建议在用户线程调用发送接口前调用此函数以避免首次发送订单时的延迟。
 
virtual uint64_t insert_order (uint64_t session_id, xlt_order_insert_info_t *order, uint64_t algo_mid=0)=0
 委托
 
virtual uint64_t cancel_order (uint64_t session_id, xlt_cancel_order_info_t *cancel_order, uint64_t algo_mid=0)=0
 撤单
 
virtual bool resend_order_request (uint64_t session_id, uint64_t xid)=0
 重发订单请求
 
virtual bool query_assets (uint64_t session_id, uint64_t request_id, uint64_t algo_mid=0)=0
 请求查询资产(暂未启用)
 
virtual bool query_positions (uint64_t session_id, uint64_t request_id, char *security_code, ExchangeIndex exchange_index=ExchangeIndex::INIT, uint64_t algo_mid=0)=0
 请求查询投资者持仓(暂未启用)
 
virtual bool query_orders (uint64_t session_id, uint64_t request_id, const xlt_order_query_param_t *order_query_param, uint64_t algo_mid=0)=0
 请求查询订单(暂未启用)
 
virtual bool query_orders_by_page (uint64_t session_id, uint64_t request_id, const xlt_query_by_page_param_t *page_query_param, uint64_t algo_mid=0)=0
 分页请求查询报单
 
virtual bool query_trades (uint64_t session_id, uint64_t request_id, uint64_t xid, uint64_t algo_mid=0)=0
 请求查询成交回报
 
virtual bool query_static_quote_info (uint64_t session_id, uint64_t request_id)=0
 查询静态行情信息请求
 
virtual bool query_sse_l1_index (uint64_t session_id, uint64_t request_id, const char *security_code)=0
 查询最新上交所level1指数行情
 
virtual bool query_sse_l1_snapshot (uint64_t session_id, uint64_t request_id, const char *security_code)=0
 查询最新上交所level1快照行情
 
virtual bool query_szse_l1_index (uint64_t session_id, uint64_t request_id, const char *security_code)=0
 查询最新深交所level1指数行情
 
virtual bool query_szse_l1_snapshot (uint64_t session_id, uint64_t request_id, const char *security_code)=0
 查询最新深交所level1快照行情
 
virtual bool query_szse_l1_snapshot_bond (uint64_t session_id, uint64_t request_id, const char *security_code)=0
 查询最新深交所level1债券快照行情
 
virtual bool subscribe_quote (ExchangeIndex exchange_index, char *security_code)=0
 订阅指定代码行情
 
virtual bool subscribe_all_quote (ExchangeIndex exchange_index)=0
 订阅全市场代码行情
 
virtual bool start_quote (uint64_t session_id)=0
 启动行情接收
 
virtual bool stop_quote ()=0
 停止行情接收
 

静态 Public 成员函数

static XLTApicreate ()
 创建实例(只能创建一次)
 
static uint64_t get_order_sequence (uint64_t xid)
 根据订单ID获取订单序列号
 

详细描述

接口类

成员函数说明

◆ cancel_order()

virtual uint64_t cancel_order ( uint64_t session_id,
xlt_cancel_order_info_t * cancel_order,
uint64_t algo_mid = 0 )
pure virtual

撤单

撤单请求。 如果撤单成功,会在报单响应函数on_order_response里返回原单部撤或者全撤的消息, 如果不成功,会在on_order_cancel_error响应函数中返回错误原因。

参数
session_id会话id,登录时得到
cancel_order撤单信息
algo_mid如果是普通交易账号填0;如果是算法厂商,则填写母单ID。
返回
撤单xid(在xLight系统中的ID),如果为‘0’表示撤单发送失败,非"0"表示撤单发送成功,用户需要记录下返回的order_cancel_xid,它保证一个交易日内唯一,不同的交易日不保证唯一性。

◆ create()

static XLTApi * create ( )
static

创建实例(只能创建一次)

返回
返回交易接口实例

◆ get_account_index()

virtual uint64_t get_account_index ( uint64_t session_id)
pure virtual

获取账户索引,只有登录成功后,才能得到正确的资金账户索引

参数
session_id会话id,登录时得到
返回
账户索引,0表示失败,非0表示成功

◆ get_api_version()

virtual const char * get_api_version ( )
pure virtual

获取API版本号

返回
API版本号

◆ get_last_error()

virtual xlt_error_info_t get_last_error ( )
pure virtual

获取错误信息

返回
错误信息

◆ get_order_sequence()

static uint64_t get_order_sequence ( uint64_t xid)
static

根据订单ID获取订单序列号

参数
xid订单ID
返回
返回订单序列号
备注
若用户启用自定义订单序号功能(XLTApiConfig::set_order_seq_self_define),则此接口将返回用户自定义的订单序号xlt_order_insert_info_t.order_sequence,否则返回系统生成的订单序号。

◆ get_trading_day()

virtual uint32_t get_trading_day ( )
pure virtual

获取当前交易日。只有登录成功后,才能得到正确的交易日。

返回
返回日期,格式为。YYYYMMDD

◆ initialize()

virtual bool initialize ( XLTApiConfig * config,
XLTTradeSpi * trade_spi,
XLTQuoteSpi * quote_spi )
pure virtual

初始化API,登录之前必须调用此函数,只能初始化一次 @config 配置参数

参数
spi派生自交易响应类的实例,请在登录之前设定
返回
初始化是否成功

◆ insert_order()

virtual uint64_t insert_order ( uint64_t session_id,
xlt_order_insert_info_t * order,
uint64_t algo_mid = 0 )
pure virtual

委托

报单录入请求,所有业务统一报单接口,根据业务类型字段区分不同业务。 Xlight接收订单后,会在报单响应函数on_order_response, on_cancel_response, on_order_error_response中返回, 之后所有的成交明细会在on_trade_report中返回,当订单到达终止状态会触发订单状态结束响应。

参数
session_id资金账户对应的session_id,登录时得到
order委托信息
algo_mid如果是普通交易账号填0;如果是算法厂商,则填写母单ID。
返回
返回系统生成的订单ID,如果为‘0’表示订单发送失败,非"0"表示订单发送成功,用户需要记录下返回的order_xid,它保证一个交易日内唯一,不同的交易日不保证唯一性。

◆ login()

virtual bool login ( uint64_t request_id,
uint16_t client_id,
const char * account_name,
const char * password,
const char * pub_key )
pure virtual

用户登请求

用户登录请求

参数
request_id用于用户定位请求响应的ID,由用户自定义
client_id客户端标识ID
account_name交易账号
password登录密码
pub_key用户公钥(长度64字节),用户开户时申请得到
返回
查询请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。

◆ logout()

virtual bool logout ( uint64_t session_id)
pure virtual

登出请求

登出请求

参数
session_id会话id,登录时得到
返回
true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。

◆ query_assets()

virtual bool query_assets ( uint64_t session_id,
uint64_t request_id,
uint64_t algo_mid = 0 )
pure virtual

请求查询资产(暂未启用)

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
algo_mid如果是普通交易账号填0;如果是算法厂商,则填写母单ID。
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。

◆ query_orders()

virtual bool query_orders ( uint64_t session_id,
uint64_t request_id,
const xlt_order_query_param_t * order_query_param,
uint64_t algo_mid = 0 )
pure virtual

请求查询订单(暂未启用)

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
order_query_param需要查询的订单相关筛选条件,其中xid如果不为0,则只查询指定订单,否则根据后续条件进行查询: 其中证券代码可以为空,则默认所有存在的证券代码,如果不为空,请不带空格, 其中起始时间格式为YYYYMMDDHHMMSSsss,为0则默认当前交易日0点,结束时间格式为YYYYMMDDHHMMSSsss,为0则默认当前时间
algo_mid如果是普通交易账号填0;如果是算法厂商,则填写母单ID。
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。

◆ query_orders_by_page()

virtual bool query_orders_by_page ( uint64_t session_id,
uint64_t request_id,
const xlt_query_by_page_param_t * page_query_param,
uint64_t algo_mid = 0 )
pure virtual

分页请求查询报单

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
page_query_param需要分页查询订单的条件,如果第一次查询,那么page_query_param.reference填0
algo_mid如果是普通交易账号填0;如果是算法厂商,则填写母单ID。
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
该方法支持分页查询,注意用户需要记录下最后一笔查询结果的reference以便用户下次查询使用

◆ query_positions()

virtual bool query_positions ( uint64_t session_id,
uint64_t request_id,
char * security_code,
ExchangeIndex exchange_index = ExchangeIndex::INIT,
uint64_t algo_mid = 0 )
pure virtual

请求查询投资者持仓(暂未启用)

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
security_code需要查询持仓的合约代码,可以为空,如果不为空,请不带空格,并以'\0'结尾,表示查询全市场,如果不为空,请不带空格
exchange_index需要查询持仓的合约所在市场,默认为INIT。如果想正确查询指定持仓,请指定exchange_index
algo_mid如果是普通交易账号填0;如果是算法厂商,则填写母单ID。
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
该方法如果用户提供了合约代码,则会查询此合约的持仓信息,如果合约代码为空,则默认查询所有持仓信息。

◆ query_sse_l1_index()

virtual bool query_sse_l1_index ( uint64_t session_id,
uint64_t request_id,
const char * security_code )
pure virtual

查询最新上交所level1指数行情

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
security_code查询代码
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
此接口不需要启动行情接收即可查询,查询结果将在XLTTradeSpi中回调on_query_sse_l1_index

◆ query_sse_l1_snapshot()

virtual bool query_sse_l1_snapshot ( uint64_t session_id,
uint64_t request_id,
const char * security_code )
pure virtual

查询最新上交所level1快照行情

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
security_code查询代码
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
此接口不需要启动行情接收即可查询,查询结果将在XLTTradeSpi中回调on_query_sse_l1_snapshot

◆ query_static_quote_info()

virtual bool query_static_quote_info ( uint64_t session_id,
uint64_t request_id )
pure virtual

查询静态行情信息请求

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
此接口不需要启动行情接收即可查询,查询结果将在XLTTradeSpi中回调on_query_static_quote_info

◆ query_szse_l1_index()

virtual bool query_szse_l1_index ( uint64_t session_id,
uint64_t request_id,
const char * security_code )
pure virtual

查询最新深交所level1指数行情

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
security_code查询代码
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
此接口不需要启动行情接收即可查询,查询结果将在XLTTradeSpi中回调on_query_szse_l1_index

◆ query_szse_l1_snapshot()

virtual bool query_szse_l1_snapshot ( uint64_t session_id,
uint64_t request_id,
const char * security_code )
pure virtual

查询最新深交所level1快照行情

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
security_code查询代码
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
此接口不需要启动行情接收即可查询,查询结果将在XLTTradeSpi中回调on_query_szse_l1_snapshot

◆ query_szse_l1_snapshot_bond()

virtual bool query_szse_l1_snapshot_bond ( uint64_t session_id,
uint64_t request_id,
const char * security_code )
pure virtual

查询最新深交所level1债券快照行情

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
security_code查询代码
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
此接口不需要启动行情接收即可查询,查询结果将在XLTTradeSpi中回调on_query_szse_l1_snapshot_bond

◆ query_trades()

virtual bool query_trades ( uint64_t session_id,
uint64_t request_id,
uint64_t xid,
uint64_t algo_mid = 0 )
pure virtual

请求查询成交回报

参数
session_id会话id,登录时得到
request_id用于用户定位查询响应的ID,由用户自定义
xid需要查询的订单ID
algo_mid如果是普通交易账号填0;如果是算法厂商,则填写母单ID。
返回
查询请求发送是否成功,"0"表示成功,非"0"表示出错,此时用户可以调用get_last_error()来获取错误信息

◆ resend_order_request()

virtual bool resend_order_request ( uint64_t session_id,
uint64_t xid )
pure virtual

重发订单请求

参数
session_id会话id,登录时得到
xid需要重发的订单ID
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
当委托超时时,用户可以调用此函数来重发订单请求,xid为订单ID。

◆ start_quote()

virtual bool start_quote ( uint64_t session_id)
pure virtual

启动行情接收

参数
session_id会话id,登录时得到。
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
此方法会判断用户行情权限,若config中配置了上海或深圳level2行情,会判断此session_id对应的账号是否有level2权限。on_start_quote回调将返回启动结果。 启动之后,行情组播接收将在XLTQuoteSpi中回调。

◆ stop_quote()

virtual bool stop_quote ( )
pure virtual

停止行情接收

返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
停止之后,将不再接收行情推送。

◆ subscribe_all_quote()

virtual bool subscribe_all_quote ( ExchangeIndex exchange_index)
pure virtual

订阅全市场代码行情

参数
exchange_index上交所或者深交所
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
建议在接收行情推送(start_quote)前调用。

◆ subscribe_quote()

virtual bool subscribe_quote ( ExchangeIndex exchange_index,
char * security_code )
pure virtual

订阅指定代码行情

参数
exchange_index上交所或者深交所
security_code代码
返回
请求发送是否成功,true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。
备注
建议在接收行情推送(start_quote)前调用。每次添加一只代码,可以重复调用

◆ subscribe_report()

virtual bool subscribe_report ( uint64_t session_id,
TradeResumeType resume_type,
uint64_t start_sequence )
pure virtual

请求推送交易数据 每个session_id,仅第一次调用有效。

参数
session_id资金账户对应的session_id,登录时得到
resume_type数据(订单回报等)推送方式
start_sequence数据推送的起始序列号,默认值为0,当resume_type为TradeResumeType::SPECIFY时有效
返回
true表示成功,false表示出错,此时用户可以调用get_last_error()来获取错误信息。

该类的文档由以下文件生成: