通达信API参数怎么用
摘要:
掌握通达信API参数可实现自动化交易与实时数据获取,尤其在股票、期货程序化策略执行中发挥关键作用。

接口基本结构与调用方式
通达信API并非官方公开的标准接口,而是通过其客户端暴露的本地通信机制,通常基于共享内存、Socket或DLL注入方式实现外部程序与其主进程的数据交互。开发者通过C++、Python等语言编写插件或外接程序,读取行情、发送委托、获取持仓等。核心参数围绕连接配置、数据请求类型、交易指令格式展开。
连接建立依赖于通达信客户端运行状态。外部程序需检测其进程是否存在,并定位共享内存映射区域。常见参数包括shm_key(共享内存键值)、port(本地监听端口)、client_id(客户端标识)。这些参数决定能否成功绑定数据通道。若未正确配置,将导致连接超时或数据读取失败。

行情数据请求参数
获取股票与期货实时行情是通达信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,系统据此路由至对应交易单元。
安全性方面,部分高级接口引入签名机制。请求体需附带timestamp和signature,后者由私钥对请求内容进行HMAC-SHA256加密生成,防止指令被篡改或重放攻击。
持仓与资金查询参数
资产状况查询通过设定特定命令字完成。典型请求动作为query_position和query_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_code与error_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权限限制。以管理员身份运行客户端时,外部程序也必须提权才能访问共享资源。安装目录无中文路径成为硬性要求,否则参数解析会出现乱码问题。
声明
转载声明:欢迎分享本文,转载请注明出处!
点击复制: