企业微信

为什么你需要了解通达信API

很多人用通达信看盘,手动买卖股票或期货。盯盘累,反应慢,情绪还容易失控。通达信API能让你用程序自动获取行情、计算指标、发出交易信号,甚至直接下单。这就像给通达信装了一个大脑,让它从看盘工具变成交易机器人。

通达信API到底是什么

API是程序之间的通信接口。通达信本身不公开官方API,但市面上有两种常见方式调用它的数据或功能。第一种是读取通达信本地数据文件,用Python的pytdx库解析。第二种是模拟鼠标键盘操作通达信客户端,称为自动化UI操作。前者速度快,稳定性高,但只能读历史行情和实时行情,不能直接下单。后者能下单,但容易出错,且被券商风控盯上。

行情获取

用pytdx可以连接通达信的行情服务器。代码很短,效果直接。


from pytdx.hq import TdxHq_API

api = TdxHq_API()

with api.connect('119.147.212.81', 7709):

    data = api.get_security_bars(9, 0, '000001', 0, 10)

    print(data)

这段代码拉取平安银行最近10根日K线。第一个参数9代表日线,0代表深市,000001是股票代码。期货代码需要换成对应市场的合约,比如螺纹钢主力是沪市的rb2310。

通达信软件API能帮你自动炒股吗

指标计算

通达信自带公式系统,但程序里自己算更灵活。用pandas和numpy可以复现MACD、KDJ、布林带。比如计算5日均线和20日均线,只需两行。


import pandas as pd

df['ma5'] = df['close'].rolling(5).mean()

df['ma20'] = df['close'].rolling(20).mean()

金叉死叉信号就是ma5上穿ma20和下穿ma20。期货主力合约换月频繁,计算均线要拼接连续合约,否则跳空会误导信号。

股票和期货用API的差别

股票没有杠杆,T+1交易,API下单频率低,手动操作也能凑合。期货有杠杆,T+0,夜盘连续,价格跳动快。用API做期货,必须追求速度和稳定性。通达信API本身不是为高频交易设计的,延迟在几百毫秒级别。做日内短线,这个延迟可能让你滑点吃到饱。

股票API可以慢慢轮询行情,每3秒查一次持仓和价格。期货API需要事件驱动,价格一变就触发逻辑。很多量化平台如vn.py、backtrader都支持通达信数据接口,但实盘下单要接券商柜台或CTP。

自动下单的坑

通达信客户端不支持直接程序化下单,除非用模拟点击。模拟点击需要定位窗口句柄,发送键盘鼠标消息。股票软件还好,期货软件如博易大师、文华财经对模拟点击有防护。更稳妥的方式是使用券商提供的官方API,比如华泰、国泰君安有Python接口。通达信API只做信号生成,下单交给券商API。

一个完整的策略流程

双均线策略做螺纹钢期货为例。

  1. 用pytdx获取螺纹钢主力连续合约的1分钟K线。

  2. 计算10周期和30周期均线。

  3. 金叉时买入开仓,死叉时卖出平仓。

  4. 每次开仓固定手数,比如1手。

  5. 信号通过邮件或微信通知,手动确认下单。

代码框架如下。


import time

from pytdx.hq import TdxHq_API

api = TdxHq_API()

api.connect('119.147.212.81', 7709)

while True:

    bars = api.get_security_bars(8, 30, 'rb2310', 0, 50)  # 1分钟线

    closes = [b['close'] for b in bars]

    ma10 = sum(closes[-10:]) / 10

    ma30 = sum(closes[-30:]) / 30

    if ma10 > ma30 and not position:

        print('金叉买入')

        position = True

    elif ma10 < ma30 and position:

        print('死叉卖出')

        position = False

    time.sleep(60)

这个策略简单,但能跑通数据到信号的链路。实盘前要用历史数据回测,关注滑点和手续费。

风险与合规

通达信API没有官方授权,用于实盘交易可能违反券商协议。频繁请求行情服务器会被封IP。模拟点击下单可能被认定为异常交易。股票和期货的监管要求不同,期货程序化交易需要向交易所报备。个人投资者用API做小资金手动辅助没问题,大资金全自动要三思。

普通人怎么上手

先装Python和pytdx,读取你关注的股票或期货日线数据。然后写一个简单的均线策略,打印买卖信号。跑一周,对比实际走势。感觉靠谱了,再考虑接模拟盘。通达信API不是圣杯,它只是工具。真正赚钱的还是你对市场的理解。