Xlight API用户手册 v1.7.0.16
Xlight极速柜台接口文档
载入中...
搜索中...
未找到
xlt_trade_api.h
浏览该文件的文档.
1
8#pragma once
9
10#include <cstdint>
11
12#include "xlt_trade_data_type.h"
13#include "xlt_trade_struct.h"
14#include "xlt_trade_config.h"
15#include "xlt_trade_list.h"
16#include "xlt_algo_struct.h"
17
18namespace x1 {
23 public:
24 virtual ~XLTTradeSpi() = default;
30 virtual void on_disconnect(uint64_t session_id) {};
37 virtual void on_order_timeout(uint64_t session_id, uint64_t xid) {};
38
39 // *******************************************
40 // 以下开始是请求响应回调
41 // 请求响应回调包含:
42 // uint64_t request_id 此消息响应函数对应的请求ID
43 // const xlt_error_info_t* error_info 发生错误时返回的错误信息,当error_info为空,或者error_info.error_id为0时,表明没有错误。
44 // *******************************************
51 virtual void on_login(uint64_t session_id, uint64_t request_id, const xlt_error_info_t* error_info) {};
60 virtual void on_subscribe_trade_message(uint64_t session_id, uint64_t request_id, uint64_t start_sequence, uint64_t latest_sequence, const xlt_error_info_t* error_info) {};
61
70 virtual void on_rebuild_trade_message(uint64_t session_id, uint64_t request_id, uint64_t start_sequence, uint64_t end_sequence, const xlt_error_info_t* error_info) {};
79 virtual void on_submit_counter_fund_transfer_request_reject(uint64_t session_id, uint64_t request_id, const xlt_counter_fund_transfer_request_t* request, const xlt_error_info_t*
80 error_info) {};
89 virtual void on_submit_cluster_fund_transfer_request_reject(uint64_t session_id, uint64_t request_id, const xlt_cluster_fund_transfer_request_t* request, const xlt_error_info_t*
90 error_info) {};
100 virtual void on_query_positions(uint64_t session_id, uint64_t request_id, const XLTPositionList* positions, bool is_last, const xlt_error_info_t* error_info) {};
110 virtual void on_query_assets(uint64_t session_id, uint64_t request_id, const XLTAssetList* assets, bool is_last, const xlt_error_info_t* error_info) {};
120 virtual void on_query_orders(uint64_t session_id, uint64_t request_id, const XLTOrderList* orders, bool is_last, const xlt_error_info_t* error_info) {};
133 virtual void on_query_orders_by_page(uint64_t session_id, uint64_t request_id, const XLTOrderList* order_infos, uint64_t req_count, uint64_t rsp_count, const xlt_page_query_reference_t* query_reference, bool is_last, const xlt_error_info_t* error_info) {};
143 virtual void on_query_trades(uint64_t session_id, uint64_t request_id, const XLTTradeReportList* trade_reports, bool is_last, const xlt_error_info_t* error_info) {};
153 virtual void on_query_issue_rights(uint64_t session_id, uint64_t request_id, const XLTIssueRightsList* issue_rights, bool is_last, const xlt_error_info_t* error_info) {};
163 virtual void on_query_allot_rights(uint64_t session_id, uint64_t request_id, const XLTAllotRightsList* allot_rights, bool is_last, const xlt_error_info_t* error_info) {};
164
165 // *******************************************
166 // 以下开始是消息推送回调
167 // 当用户调用subscribe_trade_message或rebuild_trade_message接口后,交易系统会根据用户请求的消息类型TradeMessageType和起始序号,推送相应的消息给用户。用户需要在对应的回调函数中处理这些消息。
168 // 消息推送回调包含:
169 // const xlt_msg_desc_t* msg_desc
170 // msg_desc.sequence 消息序号,递增,断点续传标识。为0时,不能作为续传标识。快速订单回报为0。
171 // msg_desc.is_rebuild 是否为重推请求消息,若是通过rebuild_trade_message接口发起则为true,若是通过subscribe_trade_message接口发起则为false
172 //
173 // *******************************************
182 virtual void on_order_response(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_order_response_t* order_response) {};
191 virtual void on_cancel_response(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_cancel_response_t* cancel_response) {};
200 virtual void on_trade_report(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_trade_report_t* trade_report) {};
210 virtual void on_order_error_response(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_order_error_response_t* order_error_response) {};
219 virtual void on_order_end(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_order_end_t* order_end) {};
236 virtual void on_raw_report(uint64_t session_id, const xlt_msg_desc_t* msg_desc, uint8_t client_id, uint64_t xid, char report_id[32], ExchangeIndex exchange_index, uint16_t
237 platform_type, uint16_t gateway_index, uint32_t report_size, char* raw_report) {};
245 virtual void on_counter_fund_transfer_request(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_counter_fund_transfer_request_t* fund_transfer_request) {};
253 virtual void on_counter_fund_transfer_result(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_counter_fund_transfer_result_t* fund_transfer_result) {};
261 virtual void on_cluster_fund_transfer_request(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_cluster_fund_transfer_request_t* cluster_fund_transfer_request) {};
269 virtual void on_cluster_fund_transfer_result(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_cluster_fund_transfer_result_t* cluster_fund_transfer_result) {};
276 virtual void on_order_book_insert(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_order_book_insert_t* order_insert) {};
283 virtual void on_order_book_update(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_order_book_update_t* order_update) {};
290 virtual void on_order_book_error(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_order_book_error_t* order_error) {};
297 virtual void on_asset(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_asset_info_t* asset_info) {};
304 virtual void on_position(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_position_info_t* position_info) {};
311 virtual void on_algo_create_report(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_algo_insert_report_t* report) {};
318 virtual void on_algo_control_report(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_algo_control_report_t* report) {};
325 virtual void on_algo_state(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_algo_state_t* state) {};
332 virtual void on_algo_new_create_request(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_algo_create_request_t* create_request) {};
339 virtual void on_basket_algo_create_report(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_basket_algo_create_report_t* report) {};
346 virtual void on_basket_algo_new_create_request(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_basket_algo_create_request_t* create_request) {};
354 virtual void on_special_order_insert(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_order_book_insert_t* order_insert) {};
362 virtual void on_special_order_update(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_order_book_update_t* order_update) {};
370 virtual void on_special_order_error(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_order_book_error_t* order_error) {};
371
372 // *******************************************
373 // 以下开始是二次开发系统场景使用,普通交易场景无须关注
374 // *******************************************
382 virtual void on_auth_trade(uint64_t session_id, uint64_t request_id, uint64_t trade_token, const xlt_error_info_t* error_info) {};
383
392 virtual void on_query_init_assets(uint64_t session_id, uint64_t request_id, const XLTInitAssetList* init_assets, bool is_last, const xlt_error_info_t* error_info) {};
393
402 virtual void on_query_init_positions(uint64_t session_id, uint64_t request_id, const XLTInitPositionList* init_positions, bool is_last, const xlt_error_info_t* error_info) {};
403
412 virtual void on_query_trade_account_info(uint64_t session_id, uint64_t request_id, const XLTTradeAccountInfoList* trade_account_infos, bool is_last, const xlt_error_info_t* error_info) {};
413
421 virtual void on_acquire_resource_lock(uint64_t session_id, uint64_t request_id, uint32_t lock_id, const xlt_error_info_t* error_info) {};
422
430 virtual void on_custom_message(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const uint32_t message_size, const char* message) {};
431
432
433 // *******************************************
434 // 以下开始是算法厂商相关接口,普通交易场景无须关注
435 // *******************************************
436
443 virtual void on_vendor_algo_create_request(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_algo_create_request_t* create_request) {};
444
451 virtual void on_vendor_algo_control_request(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_algo_control_request_t* control_request) {};
452
459 virtual void on_vendor_algo_state(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_algo_state_t* state) {};
468 virtual void on_vendor_algo_register_response(uint64_t session_id, uint64_t request_id, uint64_t algo_type, bool success, const xlt_error_info_t* error_info) {};
469
478 virtual void on_vendor_submit_algo_exec_report_reject(uint64_t session_id, uint64_t request_id, const xlt_algo_exec_report_t* exec_report, const xlt_error_info_t* error_info) {};
479
488 virtual void on_vendor_query_algo_state(uint64_t session_id, uint64_t request_id, const XLTAlgoStateList* algo_states, bool is_last, const xlt_error_info_t* error_info) {};
489
498 virtual void on_vendor_query_algo_state_ex(uint64_t session_id, uint64_t request_id, const XLTAlgoStateExList* algo_states, bool is_last, const xlt_error_info_t* error_info) {};
499
507 virtual void on_vendor_basket_algo_create_request(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_basket_algo_create_request_t* basket_request) {};
515 virtual void on_vendor_basket_algo_control_request(uint64_t session_id, const xlt_msg_desc_t* msg_desc, const xlt_basket_algo_control_request_t* basket_request) {};
516 };
517
522 public:
532 static const char* get_api_version();
544 static uint64_t get_order_sequence(uint64_t xid);
551 bool initialize(XLTTradeConfig* trade_config, XLTTradeSpi* trade_spi);
557 void stop();
568 bool login(uint64_t request_id, uint16_t client_id, const char* account_name, const char* password, const char* pub_key, const xlt_user_terminal_info_t* info=nullptr);
579 uint64_t login_sync(uint64_t request_id, uint16_t client_id, const char* account_name, const char* password,
580 const char* pub_key, const xlt_user_terminal_info_t* info=nullptr);
586 bool logout(uint64_t session_id);
591 uint32_t get_trading_day();
598 const xlt_init_asset_info_t* get_init_assets(uint64_t session_id, uint64_t trade_token = 0);
605 const XLTInitPositionList* get_init_positions(uint64_t session_id, uint64_t trade_token = 0);
612 uint64_t get_account_index(uint64_t session_id, uint64_t trade_token = 0);
619 void get_xid_sender(uint64_t xid, uint64_t &session_id, uint64_t &trade_token);
626 void get_biz_sender(char *biz_no, uint64_t &session_id, uint64_t &trade_token);
637 bool subscribe_trade_message(uint64_t session_id, uint64_t request_id, trade_message_type_t trade_message_type, TradeResumeType resume_type, uint64_t start_sequence);
648 bool rebuild_trade_message(uint64_t session_id, uint64_t request_id, trade_message_type_t trade_message_type, uint64_t start_sequence, uint64_t end_sequence, uint64_t account_index=0);
664 uint64_t insert_order(uint64_t session_id, xlt_order_insert_info_t* order, uint64_t trade_token = 0);
675 uint64_t cancel_order(uint64_t session_id, xlt_cancel_order_info_t* cancel_order, uint64_t trade_token = 0);
684 bool resend_order_request(uint64_t session_id, uint64_t xid);
693 uint64_t insert_special_order(uint64_t session_id, xlt_order_insert_info_t* order, uint64_t trade_token = 0);
702 uint64_t cancel_special_order(uint64_t session_id, xlt_cancel_order_info_t* cancel_order, uint64_t trade_token = 0);
715 bool submit_counter_fund_transfer_request(uint64_t session_id, uint64_t request_id, FundTransSide side, amount_t amount, char* biz_no=nullptr, uint64_t trade_token=0);
726 bool submit_cluster_fund_transfer_request(uint64_t session_id, uint64_t request_id, amount_t amount, char* biz_no=nullptr, uint64_t trade_token=0);
734 bool query_assets(uint64_t session_id, uint64_t request_id, uint64_t account_index = 0);
745 bool query_positions(uint64_t session_id, uint64_t request_id, const char* security_code, ExchangeIndex exchange_index = ExchangeIndex::INIT, uint64_t account_index = 0);
756 bool query_orders(uint64_t session_id, uint64_t request_id, const xlt_order_query_param_t* order_query_param, uint64_t account_index = 0);
767 bool query_orders_by_page(uint64_t session_id, uint64_t request_id, uint32_t request_count, const xlt_page_query_reference_t* query_reference, uint64_t account_index = 0);
776 bool query_trades(uint64_t session_id, uint64_t request_id, uint64_t xid, uint64_t account_index = 0);
787 bool query_issue_rights(uint64_t session_id, uint64_t request_id, const char* security_code, ExchangeIndex exchange_index = ExchangeIndex::INIT, uint64_t account_index = 0);
798 bool query_allot_rights(uint64_t session_id, uint64_t request_id, const char* security_code, ExchangeIndex exchange_index = ExchangeIndex::INIT, uint64_t account_index = 0);
799
811 bool algo_create(uint64_t session_id, uint64_t client_algo_id, uint64_t algo_type, xlt_algo_create_params_t* algo_create_params,
812 uint64_t trade_token = 0, uint64_t vendor_account_index = 0);
813
825 bool algo_control(uint64_t session_id, uint64_t xlt_algo_id, uint64_t client_control_id, AlgoControlType control_type, char * params, uint64_t trade_token = 0);
826
827 // ============================================
828 // 篮子单(Basket Algo)相关接口
829 // ============================================
843 uint64_t basket_algo_create(uint64_t session_id, uint64_t client_basket_id,
844 uint64_t algo_type, xlt_basket_algo_create_params_t* basket_create_params,
845 uint32_t algo_count, xlt_algo_create_params_t* algo_create_params, uint64_t trade_token = 0, uint64_t vendor_account_index = 0);
846
858 uint64_t basket_algo_control(uint64_t session_id, uint64_t basket_id, uint64_t client_basket_control_id,
859 AlgoControlType control_type, char* params, uint64_t trade_token = 0);
860
861 // *******************************************
862 // 以下开始是二次开发系统场景使用,普通交易场景无须关注
863 // *******************************************
874 bool auth_trade(uint64_t session_id, uint64_t request_id, const char* account_name, const char* password, const char* pub_key, const xlt_user_terminal_info_t* info=nullptr);
882 bool deauth_trade(uint64_t session_id, uint64_t request_id, uint64_t trade_token);
890 bool query_init_assets(uint64_t session_id, uint64_t request_id, uint64_t account_index = 0);
900 bool query_init_positions(uint64_t session_id, uint64_t request_id, const char* security_code, ExchangeIndex exchange_index, uint64_t account_index = 0);
908 bool query_trade_account_info(uint64_t session_id, uint64_t request_id, uint64_t account_index = 0);
909
917 bool acquire_resource_lock(uint64_t session_id, uint64_t request_id, uint32_t lock_id);
918
928 bool submit_custom_message(uint64_t session_id, uint64_t request_id, uint32_t message_size, char *message);
929
930 // *******************************************
931 // 以下开始是算法厂商相关接口,普通交易场景无须关注
932 // *******************************************
940 bool vendor_auth_trade(uint64_t session_id, uint64_t request_id, uint64_t xlt_algo_id);
941
949 bool vendor_algo_register(uint64_t session_id, uint64_t request_id, uint64_t algo_type);
950
958 bool vendor_submit_algo_exec_report(uint64_t session_id, uint64_t request_id, const xlt_algo_exec_report_t* exec_report);
967 bool vendor_query_algo_state(uint64_t session_id, uint64_t request_id, uint64_t algo_type, uint64_t xlt_algo_id);
976 bool vendor_query_algo_state_ex(uint64_t session_id, uint64_t request_id, uint64_t algo_type, uint64_t xlt_algo_id);
977
983 protected:
984 XLTTradeApi()=default;
985 };
986}
只读母单状态(含创建参数)列表
定义 xlt_trade_list.h:105
只读母单状态列表
定义 xlt_trade_list.h:94
只读配股配债额度信息信息列表
定义 xlt_trade_list.h:127
只读资金信息列表
定义 xlt_trade_list.h:50
只读初始资金信息列表
定义 xlt_trade_list.h:28
只读初始持仓信息列表
定义 xlt_trade_list.h:39
只读新股新债额度报信息列表
定义 xlt_trade_list.h:116
只读订单信息列表
定义 xlt_trade_list.h:17
只读持仓信息列表
定义 xlt_trade_list.h:61
只读交易账号信息列表
定义 xlt_trade_list.h:83
接口类
定义 xlt_trade_api.h:521
bool query_allot_rights(uint64_t session_id, uint64_t request_id, const char *security_code, ExchangeIndex exchange_index=ExchangeIndex::INIT, uint64_t account_index=0)
请求查询配股配债额度
static uint64_t get_order_sequence(uint64_t xid)
根据订单ID获取订单序列号
static const char * get_api_version()
获取API版本号
bool submit_counter_fund_transfer_request(uint64_t session_id, uint64_t request_id, FundTransSide side, amount_t amount, char *biz_no=nullptr, uint64_t trade_token=0)
提交主柜资金划转请求
bool algo_control(uint64_t session_id, uint64_t xlt_algo_id, uint64_t client_control_id, AlgoControlType control_type, char *params, uint64_t trade_token=0)
用户操作算法母单请求
bool query_init_assets(uint64_t session_id, uint64_t request_id, uint64_t account_index=0)
请求查询初始资产
bool vendor_query_algo_state_ex(uint64_t session_id, uint64_t request_id, uint64_t algo_type, uint64_t xlt_algo_id)
算法厂商查询算法母单状态及创建参数
uint64_t basket_algo_create(uint64_t session_id, uint64_t client_basket_id, uint64_t algo_type, xlt_basket_algo_create_params_t *basket_create_params, uint32_t algo_count, xlt_algo_create_params_t *algo_create_params, uint64_t trade_token=0, uint64_t vendor_account_index=0)
用户报篮子单请求
bool query_trades(uint64_t session_id, uint64_t request_id, uint64_t xid, uint64_t account_index=0)
请求查询成交回报
const XLTInitPositionList * get_init_positions(uint64_t session_id, uint64_t trade_token=0)
获取初始持仓信息
uint64_t insert_order(uint64_t session_id, xlt_order_insert_info_t *order, uint64_t trade_token=0)
普通委托 常用业务委托接口,当前支持CASH、BOND_MATCH、PLEDGE_STYLE_REPO业务类型。 Xlight接收订单后,会在报单响应函数on_order_response,...
bool subscribe_trade_message(uint64_t session_id, uint64_t request_id, trade_message_type_t trade_message_type, TradeResumeType resume_type, uint64_t start_sequence)
订阅交易数据 每个session_id,仅第一次调用有效。
bool rebuild_trade_message(uint64_t session_id, uint64_t request_id, trade_message_type_t trade_message_type, uint64_t start_sequence, uint64_t end_sequence, uint64_t account_index=0)
重推消息
bool login(uint64_t request_id, uint16_t client_id, const char *account_name, const char *password, const char *pub_key, const xlt_user_terminal_info_t *info=nullptr)
用户登录请求
uint64_t cancel_special_order(uint64_t session_id, xlt_cancel_order_info_t *cancel_order, uint64_t trade_token=0)
撤单 特殊业务撤单请求。当前支持ISSUE、ALLOT业务类型。
void get_xid_sender(uint64_t xid, uint64_t &session_id, uint64_t &trade_token)
根据订单ID获取订单发送者信息,包括session_id和trade_token
bool query_assets(uint64_t session_id, uint64_t request_id, uint64_t account_index=0)
请求查询资产
bool logout(uint64_t session_id)
登出请求
bool query_orders(uint64_t session_id, uint64_t request_id, const xlt_order_query_param_t *order_query_param, uint64_t account_index=0)
请求查询订单
bool query_orders_by_page(uint64_t session_id, uint64_t request_id, uint32_t request_count, const xlt_page_query_reference_t *query_reference, uint64_t account_index=0)
分页请求查询报单
bool deauth_trade(uint64_t session_id, uint64_t request_id, uint64_t trade_token)
解除交易授权认证
bool vendor_query_algo_state(uint64_t session_id, uint64_t request_id, uint64_t algo_type, uint64_t xlt_algo_id)
算法厂商查询算法母单状态请求
bool dump_api_performance_info()
导出API性能打点信息,需要特定API库支持
bool vendor_submit_algo_exec_report(uint64_t session_id, uint64_t request_id, const xlt_algo_exec_report_t *exec_report)
算法厂商提交算法母单执行报告
bool algo_create(uint64_t session_id, uint64_t client_algo_id, uint64_t algo_type, xlt_algo_create_params_t *algo_create_params, uint64_t trade_token=0, uint64_t vendor_account_index=0)
用户报算法母单请求
bool query_issue_rights(uint64_t session_id, uint64_t request_id, const char *security_code, ExchangeIndex exchange_index=ExchangeIndex::INIT, uint64_t account_index=0)
请求查询新股新债额度
bool vendor_algo_register(uint64_t session_id, uint64_t request_id, uint64_t algo_type)
算法厂商注册算法类型
bool vendor_auth_trade(uint64_t session_id, uint64_t request_id, uint64_t xlt_algo_id)
交易授权认证
void get_biz_sender(char *biz_no, uint64_t &session_id, uint64_t &trade_token)
根据业务编号获取发送者信息,包括session_id和trade_token
uint64_t cancel_order(uint64_t session_id, xlt_cancel_order_info_t *cancel_order, uint64_t trade_token=0)
撤单 撤单请求。支持CASH、BOND_MATCH、PLEDGE_STYLE_REPO业务类型。 如果撤单成功,会在报单响应函数on_cancel_response里返回原单部撤或者全撤的消息, 如果不...
bool submit_cluster_fund_transfer_request(uint64_t session_id, uint64_t request_id, amount_t amount, char *biz_no=nullptr, uint64_t trade_token=0)
提交双中心资金划转请求,方向固定为划入
bool submit_custom_message(uint64_t session_id, uint64_t request_id, uint32_t message_size, char *message)
提交自定义消息 该接口用于提交自定义消息,交易系统会原样返回该消息给用户,用户可以在on_custom_message回调函数中接收该消息。
uint32_t get_trading_day()
获取当前交易日。只有登录成功后,才能得到正确的交易日。
static XLTTradeApi * create()
创建实例(只能创建一次)
uint64_t get_account_index(uint64_t session_id, uint64_t trade_token=0)
获取账户索引,只有登录成功后,才能得到正确的资金账户索引
uint64_t basket_algo_control(uint64_t session_id, uint64_t basket_id, uint64_t client_basket_control_id, AlgoControlType control_type, char *params, uint64_t trade_token=0)
用户操作篮子单请求
bool initialize(XLTTradeConfig *trade_config, XLTTradeSpi *trade_spi)
初始化交易,登录之前必须调用此函数,只能初始化一次
bool query_trade_account_info(uint64_t session_id, uint64_t request_id, uint64_t account_index=0)
请求查询交易账户信息
bool query_positions(uint64_t session_id, uint64_t request_id, const char *security_code, ExchangeIndex exchange_index=ExchangeIndex::INIT, uint64_t account_index=0)
请求查询投资者持仓
const xlt_init_asset_info_t * get_init_assets(uint64_t session_id, uint64_t trade_token=0)
获取初始资产信息
bool acquire_resource_lock(uint64_t session_id, uint64_t request_id, uint32_t lock_id)
获取资源锁
void stop()
停止交易API 断开所有交易session连接,清空所有session上的回调指针,停止回调。
bool auth_trade(uint64_t session_id, uint64_t request_id, const char *account_name, const char *password, const char *pub_key, const xlt_user_terminal_info_t *info=nullptr)
交易授权认证
XLTTradeApi()=default
bool resend_order_request(uint64_t session_id, uint64_t xid)
重发订单请求 支持CASH、BOND_MATCH、PLEDGE_STYLE_REPO业务类型。
uint64_t login_sync(uint64_t request_id, uint16_t client_id, const char *account_name, const char *password, const char *pub_key, const xlt_user_terminal_info_t *info=nullptr)
用户同步登录请求
uint64_t insert_special_order(uint64_t session_id, xlt_order_insert_info_t *order, uint64_t trade_token=0)
特殊业务委托 特殊业务报单录入请求,当前支持ISSUE、ALLOT业务类型。
void init_local_send()
本地发送初始化函数,预分配本地发送资源,非必须调用。 若不调用,会在首次发送订单时自动进行初始化,故建议在用户线程调用发送接口前调用此函数以避免首次发送订单时的延迟。
static xlt_error_info_t get_last_error()
获取错误信息
bool query_init_positions(uint64_t session_id, uint64_t request_id, const char *security_code, ExchangeIndex exchange_index, uint64_t account_index=0)
请求查询初始持仓
定义 xlt_trade_config.h:16
只读成交回报信息列表
定义 xlt_trade_list.h:72
交易回调类
定义 xlt_trade_api.h:22
virtual void on_order_timeout(uint64_t session_id, uint64_t xid)
订单超时通知
定义 xlt_trade_api.h:37
virtual void on_cancel_response(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_cancel_response_t *cancel_response)
撤单成功响应 此函数用于处理来自交易系统的撤单成功响应。 subscribe_trade_message或rebuild_trade_message指定消息类型包含TradeMessageType::R...
定义 xlt_trade_api.h:191
virtual void on_query_allot_rights(uint64_t session_id, uint64_t request_id, const XLTAllotRightsList *allot_rights, bool is_last, const xlt_error_info_t *error_info)
配股配债额度查询响应
定义 xlt_trade_api.h:163
virtual void on_vendor_basket_algo_control_request(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_basket_algo_control_request_t *basket_request)
篮子单操作请求通知
定义 xlt_trade_api.h:515
virtual void on_submit_counter_fund_transfer_request_reject(uint64_t session_id, uint64_t request_id, const xlt_counter_fund_transfer_request_t *request, const xlt_error_info_t *error_info)
主柜资金划转申请被拒绝通知
定义 xlt_trade_api.h:79
virtual void on_order_end(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_order_end_t *order_end)
订单结束通知 本函数用于接收订单结束通知;当订单状态变为完全成交、撤单成功、废单等终结状态时,交易系统会发送该通知。 subscribe_trade_message或rebuild_trade_mess...
定义 xlt_trade_api.h:219
virtual void on_login(uint64_t session_id, uint64_t request_id, const xlt_error_info_t *error_info)
登录通知
定义 xlt_trade_api.h:51
virtual void on_auth_trade(uint64_t session_id, uint64_t request_id, uint64_t trade_token, const xlt_error_info_t *error_info)
认证通知
定义 xlt_trade_api.h:382
virtual void on_custom_message(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const uint32_t message_size, const char *message)
自定义消息推送回调
定义 xlt_trade_api.h:430
virtual void on_query_assets(uint64_t session_id, uint64_t request_id, const XLTAssetList *assets, bool is_last, const xlt_error_info_t *error_info)
资金查询响应
定义 xlt_trade_api.h:110
virtual void on_raw_report(uint64_t session_id, const xlt_msg_desc_t *msg_desc, uint8_t client_id, uint64_t xid, char report_id[32], ExchangeIndex exchange_index, uint16_t platform_type, uint16_t gateway_index, uint32_t report_size, char *raw_report)
交易所原始订单执行报告(需用户自行解码) 此函数用于接收原始的订单执行报告。报告内容包括但不限于订单状态、执行细节等。 由于报告是原始形式,因此需要用户自行解码以获取具体信息。 subscribe_tr...
定义 xlt_trade_api.h:236
virtual void on_rebuild_trade_message(uint64_t session_id, uint64_t request_id, uint64_t start_sequence, uint64_t end_sequence, const xlt_error_info_t *error_info)
重推通知响应
定义 xlt_trade_api.h:70
virtual void on_vendor_algo_create_request(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_algo_create_request_t *create_request)
算法母单创建请求通知
定义 xlt_trade_api.h:443
virtual void on_counter_fund_transfer_result(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_counter_fund_transfer_result_t *fund_transfer_result)
主柜资金划拨结果回调 subscribe_trade_message或rebuild_trade_message指定任意消息类型时,交易系统会在收到主柜资金划拨结果时推送该通知。
定义 xlt_trade_api.h:253
virtual void on_query_init_positions(uint64_t session_id, uint64_t request_id, const XLTInitPositionList *init_positions, bool is_last, const xlt_error_info_t *error_info)
请求查询初始持仓响应
定义 xlt_trade_api.h:402
virtual void on_special_order_update(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_order_book_update_t *order_update)
特殊业务订单事件:订单变动通知回调
定义 xlt_trade_api.h:362
virtual void on_order_error_response(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_order_error_response_t *order_error_response)
委托失败通知 此函数用于处理来自交易系统的委托失败通知。 包括内部拒单、交易所拒单、废单及撤单失败等情况。 subscribe_trade_message或rebuild_trade_message指定...
定义 xlt_trade_api.h:210
virtual void on_query_orders_by_page(uint64_t session_id, uint64_t request_id, const XLTOrderList *order_infos, uint64_t req_count, uint64_t rsp_count, const xlt_page_query_reference_t *query_reference, bool is_last, const xlt_error_info_t *error_info)
分页请求查询报单响应
定义 xlt_trade_api.h:133
virtual void on_special_order_error(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_order_book_error_t *order_error)
特殊业务订单事件:订单错误通知回调
定义 xlt_trade_api.h:370
virtual void on_disconnect(uint64_t session_id)
断线通知 用户断线之后需要重新调用login方法,建立连接并登录
定义 xlt_trade_api.h:30
virtual void on_query_trades(uint64_t session_id, uint64_t request_id, const XLTTradeReportList *trade_reports, bool is_last, const xlt_error_info_t *error_info)
成交回报查询响应
定义 xlt_trade_api.h:143
virtual void on_query_issue_rights(uint64_t session_id, uint64_t request_id, const XLTIssueRightsList *issue_rights, bool is_last, const xlt_error_info_t *error_info)
新股新债额度查询响应
定义 xlt_trade_api.h:153
virtual void on_vendor_algo_control_request(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_algo_control_request_t *control_request)
算法母单操作请求通知
定义 xlt_trade_api.h:451
virtual void on_algo_state(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_algo_state_t *state)
算法母单状态通知
定义 xlt_trade_api.h:325
virtual void on_vendor_algo_register_response(uint64_t session_id, uint64_t request_id, uint64_t algo_type, bool success, const xlt_error_info_t *error_info)
注册算法响应
定义 xlt_trade_api.h:468
virtual void on_query_trade_account_info(uint64_t session_id, uint64_t request_id, const XLTTradeAccountInfoList *trade_account_infos, bool is_last, const xlt_error_info_t *error_info)
请求查询交易账号信息响应
定义 xlt_trade_api.h:412
virtual void on_counter_fund_transfer_request(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_counter_fund_transfer_request_t *fund_transfer_request)
主柜资金划拨请求推送 subscribe_trade_message或rebuild_trade_message指定任意消息类型时,交易系统会在收到主柜资金划拨请求时推送该通知。
定义 xlt_trade_api.h:245
virtual void on_vendor_query_algo_state_ex(uint64_t session_id, uint64_t request_id, const XLTAlgoStateExList *algo_states, bool is_last, const xlt_error_info_t *error_info)
母单状态(含创建参数)查询响应(厂商侧)
定义 xlt_trade_api.h:498
virtual void on_query_positions(uint64_t session_id, uint64_t request_id, const XLTPositionList *positions, bool is_last, const xlt_error_info_t *error_info)
持仓查询响应
定义 xlt_trade_api.h:100
virtual void on_algo_control_report(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_algo_control_report_t *report)
用户操作算法母单响应
定义 xlt_trade_api.h:318
virtual void on_subscribe_trade_message(uint64_t session_id, uint64_t request_id, uint64_t start_sequence, uint64_t latest_sequence, const xlt_error_info_t *error_info)
订阅通知响应
定义 xlt_trade_api.h:60
virtual void on_basket_algo_create_report(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_basket_algo_create_report_t *report)
用户报篮子母单响应
定义 xlt_trade_api.h:339
virtual void on_order_book_update(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_order_book_update_t *order_update)
订单簿消息:订单变动通知回调
定义 xlt_trade_api.h:283
virtual void on_submit_cluster_fund_transfer_request_reject(uint64_t session_id, uint64_t request_id, const xlt_cluster_fund_transfer_request_t *request, const xlt_error_info_t *error_info)
双中心资金划转申请被拒绝通知
定义 xlt_trade_api.h:89
virtual void on_vendor_algo_state(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_algo_state_t *state)
算法母单状态通知
定义 xlt_trade_api.h:459
virtual void on_order_response(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_order_response_t *order_response)
新订单申报成功响应 此函数用于处理来自交易系统的申报成功响应。 subscribe_trade_message或rebuild_trade_message指定消息类型包含TradeMessageType...
定义 xlt_trade_api.h:182
virtual void on_special_order_insert(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_order_book_insert_t *order_insert)
特殊业务订单事件:新订单通知回调
定义 xlt_trade_api.h:354
virtual void on_query_init_assets(uint64_t session_id, uint64_t request_id, const XLTInitAssetList *init_assets, bool is_last, const xlt_error_info_t *error_info)
请求查询初始资产响应
定义 xlt_trade_api.h:392
virtual void on_cluster_fund_transfer_result(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_cluster_fund_transfer_result_t *cluster_fund_transfer_result)
双中心资金划转结果回调 subscribe_trade_message或rebuild_trade_message指定任意消息类型时,交易系统会在收到双中心资金划拨结果时推送该通知。
定义 xlt_trade_api.h:269
virtual void on_vendor_submit_algo_exec_report_reject(uint64_t session_id, uint64_t request_id, const xlt_algo_exec_report_t *exec_report, const xlt_error_info_t *error_info)
提交算法母单执行报告被拒绝通知
定义 xlt_trade_api.h:478
virtual void on_vendor_basket_algo_create_request(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_basket_algo_create_request_t *basket_request)
篮子单创建请求通知
定义 xlt_trade_api.h:507
virtual void on_cluster_fund_transfer_request(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_cluster_fund_transfer_request_t *cluster_fund_transfer_request)
双中心资金划拨请求推送 subscribe_trade_message或rebuild_trade_message指定任意消息类型时,交易系统会在收到双中心资金划拨请求时推送该通知。
定义 xlt_trade_api.h:261
virtual void on_order_book_insert(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_order_book_insert_t *order_insert)
订单簿消息:新订单通知回调
定义 xlt_trade_api.h:276
virtual void on_position(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_position_info_t *position_info)
订单簿消息:持仓变动通知回调
定义 xlt_trade_api.h:304
virtual void on_basket_algo_new_create_request(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_basket_algo_create_request_t *create_request)
新篮子母单创建请求通知,包括其他客户端报送的篮子母单请求
定义 xlt_trade_api.h:346
virtual void on_algo_create_report(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_algo_insert_report_t *report)
用户报算法母单响应
定义 xlt_trade_api.h:311
virtual void on_vendor_query_algo_state(uint64_t session_id, uint64_t request_id, const XLTAlgoStateList *algo_states, bool is_last, const xlt_error_info_t *error_info)
母单状态查询响应(厂商侧)
定义 xlt_trade_api.h:488
virtual ~XLTTradeSpi()=default
virtual void on_acquire_resource_lock(uint64_t session_id, uint64_t request_id, uint32_t lock_id, const xlt_error_info_t *error_info)
请求获取资源锁响应
定义 xlt_trade_api.h:421
virtual void on_order_book_error(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_order_book_error_t *order_error)
订单簿消息:订单错误通知回调
定义 xlt_trade_api.h:290
virtual void on_asset(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_asset_info_t *asset_info)
订单簿消息:资金变动通知回调
定义 xlt_trade_api.h:297
virtual void on_query_orders(uint64_t session_id, uint64_t request_id, const XLTOrderList *orders, bool is_last, const xlt_error_info_t *error_info)
订单查询响应
定义 xlt_trade_api.h:120
virtual void on_algo_new_create_request(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_algo_create_request_t *create_request)
新算法母单创建请求通知,包括其他客户端报送的算法母单请求
定义 xlt_trade_api.h:332
virtual void on_trade_report(uint64_t session_id, const xlt_msg_desc_t *msg_desc, const xlt_trade_report_t *trade_report)
成交回报通知 此函数用于处理来自交易系统的成交回报通知。 subscribe_trade_message或rebuild_trade_message指定消息类型包含TradeMessageType::R...
定义 xlt_trade_api.h:200
定义 xlt_data_type.h:13
uint32_t trade_message_type_t
交易消息类型
定义 xlt_trade_data_type.h:97
int64_t amount_t
金额 类型
定义 xlt_data_type.h:25
ExchangeIndex
交易所编号定义
定义 xlt_data_type.h:57
@ INIT
初始化值或者未知
AlgoControlType
算法母单操作类别
定义 xlt_algo_struct.h:35
FundTransSide
资金划转方向
定义 xlt_trade_data_type.h:132
TradeResumeType
交易消息推送类型
定义 xlt_trade_data_type.h:24
算法母单操作报告
定义 xlt_algo_struct.h:120
算法母单操作请求
定义 xlt_algo_struct.h:103
算法母单创建参数
定义 xlt_algo_struct.h:69
算法母单创建请求
定义 xlt_algo_struct.h:85
算法厂商母单执行报告
定义 xlt_algo_struct.h:152
算法母单新订单响应
定义 xlt_algo_struct.h:112
算法母单状态信息
定义 xlt_algo_struct.h:129
账户资金信息
定义 xlt_trade_struct.h:288
算法篮子母单操作请求
定义 xlt_algo_struct.h:220
算法篮子母单创建参数
定义 xlt_algo_struct.h:182
算法篮子母单创建响应
定义 xlt_algo_struct.h:201
算法篮子母单创建请求
定义 xlt_algo_struct.h:192
撤单请求数据结构
定义 xlt_trade_struct.h:31
撤单申报成功响应
定义 xlt_trade_struct.h:94
双中心资金划转请求
定义 xlt_trade_struct.h:341
双中心资金划转结果
定义 xlt_trade_struct.h:352
主柜资金划转申请
定义 xlt_trade_struct.h:313
主柜资金划转结果
定义 xlt_trade_struct.h:325
错误信息
定义 xlt_struct.h:18
日初资金信息结构体
定义 xlt_trade_struct.h:42
消息推送描述信息
定义 xlt_trade_struct.h:64
订单簿,订单错误通知结构体,包括申报失败、撤单失败等信息
定义 xlt_trade_struct.h:258
订单簿,新订单通知结构体
定义 xlt_trade_struct.h:205
订单簿,订单变更通知结构体,包括订单状态变更、撤单、成交等信息
定义 xlt_trade_struct.h:230
订单结束通知
定义 xlt_trade_struct.h:146
申报失败响应(新订单申报失败,撤单失败)
定义 xlt_trade_struct.h:132
新订单请求数据结构
定义 xlt_trade_struct.h:17
订单查询请求-条件查询
定义 xlt_trade_struct.h:366
新订单申报成功响应
定义 xlt_trade_struct.h:73
查询定位结构体 用于记录每个分表的查询位置,用于分页查询
定义 xlt_struct.h:46
持仓结构体
定义 xlt_trade_struct.h:276
成交回报
定义 xlt_trade_struct.h:110
申报用户的ip和mac等信息
定义 xlt_struct.h:27
本文件定义XLT算法数据结构体
本文件定义XLT 交易API配置类
本文件定义XLT交易数据结构体