产品文档

XLight交易SDK的完整使用指南、配置说明和最佳实践

快速开始

XLight交易SDK提供C++原生接口和Python绑定,支持Linux平台。以下是快速上手的步骤:

环境要求

  • 操作系统:Linux (CentOS 7+, Ubuntu 18.04+)
  • CPU:x86_64架构
  • 内存:建议8GB以上
  • 网络:专用交易网络接入

C++开发

  • 支持C++11及以上标准
  • 需要CMake 3.10+
  • 提供完整的头文件和库文件

Python开发

  • 支持Python 3.6+
  • 通过SWIG生成绑定
  • 无需额外编译

安装指南

1. 下载SDK

从下载页面获取最新版本的SDK压缩包:

下载SDK v1.7.0.12

2. 解压文件

unzip xlt_api_sdk_v1.7.0.12.zip
cd xlt_api_sdk_v1.7.0.12
ls -la

3. 目录结构

  • cpp/ - C++ API头文件、库文件和示例
  • python/ - Python包和示例
  • doc/ - API文档 (Doxygen生成)
  • doc.html - 文档主入口
  • 迁移指南

配置说明

交易API配置参数(XLTTradeConfig)

交易API使用结构化的配置对象,主要配置参数包括:

配置项 配置接口 说明 配置样例
交易日 set_trading_day() 格式YYYYMMDD;生产环境通常为当前交易日,测试环境为柜台指定交易日 config.set_trading_day(20260402);
本地网卡IP set_local_addr() 设置连接AGW与快速报单的本地网卡IP(生产需为对应接入网段) config.set_local_addr("192.168.8.155", "192.168.2.155");
AGW地址 add_agw_addr() 添加一个AGW地址(可重复添加多个) config.add_agw_addr("192.168.5.64", 7060);
订单超时 set_order_timeout() 单位秒;超时触发 on_order_timeout 回调 config.set_order_timeout(10);
自定义订单序号 set_order_seq_self_define() 启用后下单/撤单需填写 order_sequence 且需保证唯一 config.set_order_seq_self_define(true);
交易回报处理线程调度参数 set_trade_report_handler_schedule() 设置交易回报处理线程调度参数;若该接口开启绑核或忙等,需同时配置环境变量 XLT_MSG_RECV_CPUXLT_MSG_RECV_BUSY_POLL config.set_trade_report_handler_schedule(8, true);

查看完整交易API配置说明 →

行情API配置参数(XLTQuoteConfig)

行情API使用结构化的配置对象,主要配置参数包括:

配置项 配置接口 说明 配置样例
交易日 set_trading_day() 格式YYYYMMDD;生产环境通常为当前交易日,测试环境为柜台指定交易日 config.set_trading_day(20260402);
本地网卡IP set_local_addr() 设置连接AGW与行情接收的本地网卡IP(生产需为对应接入网段) config.set_local_addr("192.168.8.155", "192.168.3.155");
AGW地址 add_agw_addr() 添加一个AGW地址(可重复添加多个) config.add_agw_addr("192.168.5.64", 7060);
是否使用Level2行情 set_use_level2() 设置是否使用Level2行情,默认不开启 config.set_use_level2(true);

查看完整行情API配置说明 →

进程级环境变量配置

以下为进程级环境变量配置,通过系统环境变量设置。若同一进程中同时使用了交易API和行情API,则共用同一份环境变量。

环境变量 默认值 说明 配置样例
XLT_FILE_PATH .(当前路径) 文件存放路径(如日志文件)。若路径不存在,API将无法初始化 export XLT_FILE_PATH=/data/xlt
XLT_LOG_LEVEL INFO 日志级别,可选值:FATAL / ERROR / WARN / INFO / DEBUG / TRACE export XLT_LOG_LEVEL=DEBUG
XLT_REQUEST_TIMEOUT 5 请求超时时间,单位秒 export XLT_REQUEST_TIMEOUT=10
XLT_MSG_RECV_CPU -1 接收线程绑核,-1 表示不绑核 export XLT_MSG_RECV_CPU=2
XLT_MSG_RECV_BUSY_POLL 0 接收线程忙等开关,0-关闭,1-开启 export XLT_MSG_RECV_BUSY_POLL=1

C++示例

编译运行步骤

  1. 1.
    进入示例目录: cd cpp/demo
  2. 2.
    创建构建目录: mkdir build
  3. 3.
    配置CMake: cd build && cmake ..
  4. 4.
    编译项目: make && make install
  5. 5.
    运行程序: cd ../targets/bin && ./xlt_api_demo

Python示例

编译运行步骤

  1. 1.
    安装python库: cd python && pip install py_xlt_api-1.7.0.12-py3-none-any.whl
  2. 2.
    进入示例目录: cd demo/py_xlt_api_demo/
  3. 3.
    运行示例: python runme.py

常见问题

连接失败

可能原因:

  • AGW服务器地址或端口错误
  • 本地IP地址配置不正确
  • 网络防火墙阻止连接

Python导入错误

解决方案:

  • 验证Python版本兼容性(需要Python 3.6+)

性能问题

优化建议:

  • 考虑启用EFVI以获得更低延迟
  • 优化回调函数处理逻辑,避免阻塞