通达信百日新高 API 怎么用?手把手教你捕捉强势股
摘要:
通达信百日新高 API 能帮你快速筛出创百天新高的股票,本文用大白话讲清调用方法、数据字段和实战逻辑,让你不写复杂代码也能盯住强势股,抓住主升浪机会。

通达信百日新高 API 到底是个啥
很多股民朋友在通达信里看到“百日新高”这个选股条件,点一下就能筛出一堆创100天新高的股票。可一旦想把它用到自己的交易系统里,或者批量跑数据,就卡住了——总不能一个个手动翻吧。这时候就得请出 API 了。
通达信百日新高 API 不是什么高深黑科技,它就是通达信软件对外开放的一套数据接口。你写一段程序,告诉它“给我查查今天创100天新高的股票”,它就把名单和对应数据吐给你。相当于你雇了个不知疲倦的小助手,替你盯着全市场。
它和普通选股公式有啥不一样
通达信自带的选股公式,比如 HHV(HIGH,100)=HIGH,只能在软件界面里用,你没法把它塞进自己的 Python 脚本或者量化平台。API 打通了这条路——让你用代码调用数据,把选股、回测、下单串成一条流水线。
这个 API 能拿到哪些关键数据
调通达信百日新高 API,返回的通常不是光秃秃一个代码列表,而是一组字段。核心的有这几样:

股票代码:六位数字,像 600xxx、000xxx
股票名称:方便你一眼认出是谁
最新价:触发新高那刻的价格
百日最高价:过去100个交易日内的最高价
当前是否新高:布尔值,1 代表是,0 代表否
成交量:配合价格看有没有量
有些接口还会附带涨跌幅、换手率、所属行业。别小看行业字段,同一时间多个同行业股票创百日新高,往往意味着板块效应来了。
数据字段的实战意义
成交量这个字段特别关键。价格创百日新高,成交量却没跟上,多半是虚晃一枪。价格新高,成交量也创出近期大量,说明真金白银在往里冲。API 把量价数据一起给你,就是让你做这个判断的。
怎么调用通达信百日新高 API
调用方式分两种,看你习惯用什么工具。
用 Python 直接调
通达信官方没有公开的 REST API,市面上常见的做法是通过 pytdx 这个开源库。它模拟了通达信客户端的通信协议,能拿到行情和部分选股数据。装好之后,连上服务器,就可以拉数据了。
from pytdx.hq import TdxHq_API
api = TdxHq_API()
with api.connect('119.147.212.81', 7709):
# 获取股票列表
stocks = api.get_security_list(0, 0)
# 遍历计算百日新高
for stock in stocks[:100]:
code = stock['code']
bars = api.get_security_bars(9, 0, code, 0, 100)
if bars:
highs = [b['high'] for b in bars]
if highs and max(highs) == highs[0]:
print(code, '创百日新高')
这段代码就是拉每只股票最近100根K线,看第一根的最高价是不是这100根里最大的。get_security_bars 的第一个参数 9 代表日线,0 代表市场(0 是深市,1 是沪市)。
用通达信本地数据 + 外部脚本
如果你电脑上装了通达信,盘后数据都在安装目录的 vipdoc 文件夹里。用 Python 的 struct 模块直接读 .day 文件,速度比走网络接口快得多。适合每天收盘后批量跑一遍。
import struct
def read_day_file(filepath):
data = []
with open(filepath, 'rb') as f:
buf = f.read()
for i in range(0, len(buf), 32):
record = struct.unpack('<IIIIIIII', buf[i:i+32])
date, open_, high, low, close, amount, volume, _ = record
data.append({'date': date, 'high': high, 'close': close})
return data
bars = read_day_file('vipdoc/sh/lday/sh600000.day')
last_100 = bars[-100:]
if last_100 and max(b['high'] for b in last_100) == last_100[-1]['high']:
print('600000 创百日新高')
这样读出来的数据是未复权的,遇到除权除息要自己处理。做短线选股影响不大,做长周期回测就得注意。
期货市场能用百日新高吗
能。期货和股票一样有 K 线,有最高价。通达信同样支持期货数据,代码格式不同,比如螺纹钢主连是 RB00,沪深300股指期货是 IF00。
调用逻辑完全一样:取最近100根K线,比较最高价。期货的百日新高往往对应趋势加速,因为期货带杠杆,突破关键位后资金进出更快。
期货和股票用法上的差异
股票创百日新高,可能只是刚启动,后面还有主升浪。期货创百日新高,你得立刻看持仓量。持仓量同步增加,说明新资金入场,趋势大概率延续。持仓量减少,可能是空头止损带来的被动上涨,随时反转。
通达信 API 拿期货持仓量数据稍微麻烦点,pytdx 的 get_security_bars 不直接返回持仓量。你得用 get_futures_holding 这类接口,或者干脆用 CTP 接口自己接。
百日新高策略的坑在哪
新高之后还有更高
很多人以为创百日新高就是顶,赶紧做空。这是把“新高”当成了“超买”。实际上趋势策略的核心就是追新高——强者恒强。你去看那些翻倍大牛股,中途会创无数次百日新高。
API 帮你筛出新高股,不是让你去摸顶,是让你建立观察池。真正要动手,还得结合大盘环境、板块热度、个股基本面。
数据滞后问题
通达信免费接口的数据有延迟,盘中调用拿到的可能不是最新价。做日内交易的话,这个延迟会要命。稳妥的做法是盘后用 API 跑一遍,选出第二天要盯的票,盘中手动确认。
复权处理
股票除权除息后,价格会跳空。不做复权处理,百日新高计算会出错。通达信本地数据有除权信息文件,pytdx 也有 get_xdxr_info 接口。用前复权数据算,结果才准。
一个完整的选股流程
盘后跑脚本,拉全市场日线数据。计算每只股票最近100根K线的最高价,筛出最新价等于最高价的。把结果存到 CSV 文件。
第二天开盘,观察这些股票。高开高走,成交量放大,考虑跟进。高开低走,或者平开震荡,放弃。
每周复盘一次,看看选出来的股票后续走势。跑上三个月,你就知道这个策略在当前市场适不适合你。
通达信百日新高 API 就是个工具,工具本身不赚钱,赚钱的是你用工具建立的纪律和执行力。
声明
转载声明:欢迎分享本文,转载请注明出处!
点击复制: