企业微信

接口基本结构与调用方式

通达信API并非官方公开的标准接口,而是通过其客户端暴露的本地通信机制,通常基于共享内存、Socket或DLL注入方式实现外部程序与其主进程的数据交互。开发者通过C++、Python等语言编写插件或外接程序,读取行情、发送委托、获取持仓等。核心参数围绕连接配置、数据请求类型、交易指令格式展开。

连接建立依赖于通达信客户端运行状态。外部程序需检测其进程是否存在,并定位共享内存映射区域。常见参数包括shm_key(共享内存键值)、port(本地监听端口)、client_id(客户端标识)。这些参数决定能否成功绑定数据通道。若未正确配置,将导致连接超时或数据读取失败。

通达信API参数怎么用

行情数据请求参数

获取股票与期货实时行情是通达信API主要用途之一。请求参数包含market(市场代码)、code(证券代码)、period(周期类型)等。市场代码用于区分沪深A股、北交所、期货交易所等,如0代表深市,1代表沪市,5代表中金所期货合约。证券代码为6位数字字符串,如“600519”对应贵州茅台,“IF2406”表示沪深300股指期货当月合约。

周期类型决定返回K线粒度,常见值有1(分钟线)、5(五分钟)、15(十五分钟)、60(小时线)、101(日线)、102(周线)、103(月线)。部分实现还支持tick级数据请求,此时需设置data_type=0表示逐笔成交,data_type=1表示逐笔委托。返回结构体中包含时间戳、开盘价、最高价、最低价、收盘价、成交量、成交额等字段。


# Python伪代码演示行情请求构造

request = {

    "action": "get_kline",

    "params": {

        "market": 1,

        "code": "600519",

        "period": 101,

        "count": 100

    }

}

委托下单参数配置

交易指令传输需严格遵循参数规范。主要字段包括operation(操作类型)、price(价格)、volume(数量)、trade_type(买卖方向)。操作类型一般设为"send_order"触发下单动作。价格支持限价与市价两种模式,市价单可通过特殊值如0.0或-1表示。数量必须为整数且符合最小交易单位要求,A股以手为单位,期货则视合约乘数而定。

买卖方向由trade_type控制,常见编码为0买入、1卖出;对于期货还可能扩展为2开多、3平多、4开空、5平空。融资融券账户还需附加credit_flag=1标识信用交易。所有委托需携带账户标识account_id,系统据此路由至对应交易单元。

安全性方面,部分高级接口引入签名机制。请求体需附带timestampsignature,后者由私钥对请求内容进行HMAC-SHA256加密生成,防止指令被篡改或重放攻击。

持仓与资金查询参数

资产状况查询通过设定特定命令字完成。典型请求动作为query_positionquery_funds。持仓查询返回当前持有股票或期货合约列表,每条记录含证券代码、可用数量、冻结数量、成本价、市值等信息。资金查询则提供可用资金、总资产、冻结金额、当日盈亏等财务指标

参数中可加入filter字段过滤结果,如仅显示某市场或某类资产。对于期货用户,include_today_position=True可单独列出今仓数据,便于计算平仓优先级。返回数据时间戳精确到毫秒,确保策略逻辑基于最新状态决策。

实时推送订阅机制

为实现低延迟响应,通达信API支持事件驱动模式。客户端注册回调函数后,可接收行情更新、成交回报、撤单通知等异步消息。订阅参数包括event_type(事件类型)、symbol_list(关注标的列表)。

事件类型涵盖tick数据变动(type=1001)、订单状态变更(type=2001)、成交确认(type=2002)、资金变化(type=3001)。标的列表支持批量添加,格式为市场代码+证券代码组合,如["1_600519", "5_IF2406"]。一旦行情刷新或交易发生,系统立即推送最小数据包,避免轮询带来的资源浪费。

错误码与异常处理参数

接口交互过程中可能出现多种错误情形,返回结构中包含error_codeerror_msg字段辅助诊断。常见错误码包括-1(未登录交易系统)、-2(网络中断)、-3(参数格式错误)、-4(权限不足)、-5(频率超限)。

程序设计应内置重试机制与熔断策略。当连续收到相同错误超过阈值时,自动暂停请求并记录日志。调试阶段可启用debug_mode=1参数,使接口输出详细交互过程,包括原始报文与解析结果,极大提升排错效率。

多账户管理参数扩展

机构用户常需同时操作多个交易账户。通达信API通过context_id区分不同会话上下文。每个上下文绑定独立的登录凭证、缓存路径与消息队列。切换账户无需重启客户端,只需变更该标识即可快速切换操作环境。

参数组还包括config_path指定配置文件存储位置,log_level控制输出级别(info/warn/error/debug),auto_reconnect决定断线后是否尝试自动恢复连接。这些设置直接影响系统稳定性与运维便捷性。

与量化策略集成实践

在实际应用中,通达信API常作为信号执行终端嵌入量化系统。策略引擎生成买卖信号后,经由参数封装模块转化为标准指令格式,再通过API通道下达至市场。整个流程延迟可控制在百毫秒以内,满足多数非高频策略需求。

结合Python生态中的pandas、numpy库,可直接将回测结果转化为实盘参数模板。定时任务每5秒拉取一次持仓快照,对比目标权重,动态调整调仓指令的数量与价格参数,实现自动化再平衡。

兼容性与版本适配要点

不同版本通达信客户端存在接口差异。老版本依赖tdx_api.dll导出函数,新版本转向TCP本地服务模式。开发者需根据version_check()返回值动态选择通信协议。参数中增加protocol_version=2明确指定使用V2协议套件,避免因不兼容导致功能失效。

操作系统层面,Windows XP至Windows 11均被支持,但需注意UAC权限限制。以管理员身份运行客户端时,外部程序也必须提权才能访问共享资源。安装目录无中文路径成为硬性要求,否则参数解析会出现乱码问题。