企业微信

通达信API登录参数概述

通达信作为国内主流的证券行情与交易软件,为程序化交易者提供了丰富的API接口。通过这些接口,投资者可以编写自动交易策略,实现买卖信号的自动执行。理解并正确配置登录参数,是使用通达信API进行程序化交易的第一步。

通达信的登录参数主要分为几个维度:连接参数用于建立与券商服务器的通信;认证参数用于验证用户身份;权限参数用于区分行情查看与实盘交易的权限范围。

基础连接参数

连接参数是通达信API登录的最核心部分,负责建立客户端与服务器之间的网络通信。

通达信API登录参数有哪些需要配置

服务器地址(Server Address) 是登录参数中最基本的要素。不同券商的通达信服务器地址各不相同,通常以IP地址或域名的形式提供。例如,某些券商使用形如 210.51.192.11 的IP地址,而另一些可能使用 tdx.yourbroker.com 这样的域名形式。投资者需要在券商提供的技术文档中查找正确的服务器地址。

端口号(Port Number) 与服务器地址配合使用,用于标识具体的通信通道。通达信API通常提供多个端口,分别用于不同的功能模块。行情端口可能使用 77087711 等端口号,而交易端口可能使用 99019902 等。投资者需要确保所使用的端口与所需功能相匹配。

协议类型(Protocol) 也是连接参数的重要组成部分。通达信API支持TCP协议进行通信,部分新版接口开始支持WebSocket协议。TCP协议在稳定性方面表现优异,适合需要长时间运行的程序化交易系统

认证参数

认证参数用于验证用户身份,确保只有授权用户才能访问交易系统。

用户账号(User ID) 是券商开户时分配的资金账户号码。这个号码通常是一串数字,与投资者在券商开立的资金账户一一对应。在程序化交易代码中,需要准确填写该账号才能完成登录。

交易密码(Transaction Password) 是投资者进行实盘交易时使用的密码。这个密码与登录券商交易软件的密码相同,部分券商还提供独立的API交易密码以增强安全性。在编写程序时,密码通常以字符串形式存储,建议对敏感信息进行加密处理。

行情账号(Market Data Account) 是专门用于行情数据的账号。部分券商将行情账号与交易账号分离,投资者需要分别申请。行情账号通常可以免费使用或通过较低的费用获取,用于接收实时行情数据。

通讯密码(Communication Password) 是通达信API特有的安全验证机制。这个密码在首次使用API时设置,用于保护通信链路的安全。通讯密码需要与券商服务端配置一致,否则会导致登录失败。

行情与交易参数配置

根据不同的使用场景,通达信API需要配置不同的功能参数。

行情订阅参数 决定了程序能够获取的行情数据种类。投资者需要指定要订阅的市场类型,包括上海股票、深圳股票、创业板、科创板、期货合约等。同时需要设置行情的刷新频率,通常可以选择默认频率或自定义频率。

交易功能参数 用于配置实盘交易的各项功能。投资者需要设置是否启用自动交易、是否启用止损止盈、是否允许融资融券等。这些参数直接影响交易策略的执行方式。

持仓与资金查询参数 允许程序实时获取账户状态。通过设置这些参数,自动交易系统可以随时了解当前持仓情况、可用资金余额、持仓成本等关键信息,从而做出更加准确的交易决策。

常见登录错误及处理

在配置通达信API登录参数时,投资者经常遇到各类错误。

服务器连接超时 是最常见的错误之一,通常由服务器地址错误、网络防火墙阻截或券商服务器宕机导致。解决方法是检查服务器地址是否正确,确认网络环境是否允许访问该地址,必要时联系券商获取正确的服务器信息。

认证失败 通常由账号或密码错误引起。投资者需要确认输入的账号密码是否正确,注意区分交易密码和通讯密码。如果忘记密码,需要通过券商官方渠道进行重置。

端口被占用 会导致无法建立新的连接。投资者可以检查是否有其他程序占用了相同端口,或者更换到其他可用的端口。

版本不兼容 是由于客户端API版本与券商服务端版本不一致所致。解决方法是下载安装最新版本的通达信API开发包,确保版本匹配。

实战代码演示

以下是使用Python配置通达信API登录参数的示例代码:


import pandas as pd

from pathlib import Path

# 通达信API登录参数配置

TDX_CONFIG = {

    "server_addr": "210.51.192.11",      # 券商服务器地址

    "server_port": 7708,                  # 行情端口

    "trade_port": 9901,                   # 交易端口

    "user_id": "123456789",               # 资金账号

    "trade_password": "password123",      # 交易密码

    "comm_password": "comm123",           # 通讯密码

    "market_type": 1,                     # 市场类型:1-深圳, 0-上海

}

def connect_tdx():

    """建立通达信API连接"""

    # 初始化连接

    api = TdxApi()

    result = api.connect(

        TDX_CONFIG["server_addr"],

        TDX_CONFIG["server_port"],

        TDX_CONFIG["user_id"],

        TDX_CONFIG["trade_password"]

    )

    return result

def get_account_info():

    """获取账户信息"""

    if connect_tdx():

        account_data = api.get_account_info()

        df = pd.DataFrame([account_data])

        return df

    return None

注意事项

在使用通达信API进行程序化交易时,投资者应当注意以下几点:

确保网络环境的稳定性,因为程序化交易对网络延迟非常敏感,网络波动可能导致交易指令发送失败或延迟执行。

定期更新API版本,券商可能会对接口进行升级维护,使用旧版本可能导致连接异常。

做好风险控制,程序化交易虽然能够排除情绪干扰,但策略本身的缺陷可能导致严重亏损,必须设置合理的止损机制。

妥善保管登录凭证,避免账号密码泄露造成不必要的安全风险。