简介:通达信机构版是一套面向机构投资者与资深个人炒股用户的专业股票交易软件,在普通版基础上强化了实时行情、多账户批量管理、自定义技术指标等功能,适合需要深度技术分析、盘中监控与资讯研判的中高端股票交易人群。该资源压缩包共461个文件,大小约21.21MB,主要包含tdx核心程序模块、cfg系统与指标配置、dll功能扩展库、dat行情与财务数据文件,以及sp、css、ini等界面风格和辅助配置组件,可支撑软件安装运行、策略自定义、行情加载与界面定制等过程。目前已有1612人学习下载。借助包内网眼监控、预警提醒、模拟交易、数据备份等功能模块,用户可快速搭好机构级看盘环境,缩短熟悉流程;同时,其中的升级补丁和扩展文件也有助于让软件保持在较新状态,便于在多变行情中及时捕捉交易机会。
1. 通达信机构版:你以为只是多几个指标,实际上它是整套行情交易工作台
很多做交易的朋友第一次听说通达信机构版,第一反应是"是不是多了几个付费指标"。实际上,机构版跟免费版完全是两个物种:行情上能看到十档L2逐笔,交易上支持独立单元和算法单,扩展上允许加载DLL和导出本地数据。我的建议是,如果你在搞量化研究、盘中短线盯盘或者维护证券IT系统,机构版是值得投入的方向;如果只是买基金看K线,普通版就够用。这篇文章不是给你念说明书,而是把机构版拆开讲清楚:它到底好在哪里、怎么从券商那里拿到权限、装完之后有哪些参数必须调,以及最常见的几个坑。
2. 机构版和普通版差在哪:行情深度、交易通道、扩展边界
2.1 行情侧:L2十档、逐笔成交和资金流向不是VIP皮肤
普通版默认看的是五档买卖盘,快照频率在2到5秒之间,只能看到"价格+手数"的汇总结果。机构版接的是交易所授权的Level-2行情,买卖十档、逐笔委托逐笔成交、委托队列这些都是基础配备。快照刷新频率可以调到100毫秒甚至更低(具体看券商机房配置)。这个差异不只是数字上的,L2给了你推演盘口演变的原始素材:大单从哪一档进的、被动单被吃掉的速度、撤单率是多少,这些在普通版里全靠猜,在机构版里都有数据支持。
看几个具体技术参数。机构版的L2订阅一般按"订阅数"控制,一个账号可能只能同时订阅一定数量的股票,比如500只、2000只或者全市场。这个数量直接决定你能不能做全市场扫单。我见过好些人拿到机构版之后全选"全市场订阅",结果客户端卡死,因为本机网络和处理能力跟不上。实际使用中,订阅数应该结合你的策略覆盖范围来定:做龙头的盯一百只都嫌多,做全市场轮动的才需要几千只。
另外,L2的延迟分为"交易所推送延迟"和"行情网关处理延迟"。机构版客户端左下角有时会显示行情状态,你需要关注的是"网关排队"这个字段,如果数值长期超过几十毫秒,说明券商的行情网关带宽不足,换哪个版本都没用。这是机构版和普通版差距最大的地方——数据源质量。
2.2 交易侧:独立交易单元、条件单和算法单背后的委托链路
交易通道方面,机构版往往支持独立的交易单元(有些券商叫专用通道),下单链路不再和Web、手机App抢公共通道。委托从客户端到柜台,正常情况下的往返延迟可以做到几十毫秒以内,而普通版在交易高峰期出现堵单是常事。很多人以为机构版的"快"是客户端写得好,其实主要快在通道分离。
条件单和算法单是另一个分水岭。普通版的"条件预警"只是在客户端弹个提示,机构版的条件单是直接挂在柜台或者券商的交易服务器上的,触发条件由服务端判断,行情触发后自动下单。算法单则提供了TWAP、VWAP、冰山单这些拆单策略,适合大资金进场不冲击价格。这里有个容易搞混的点:条件单到底是本地触发还是服务端触发,决定在你用的券商系统。我一般会跟券商客户经理确认清楚,别想当然。
实际配置时,你需要注意交易界面的"超时时间"参数。默认值可能是10秒,但如果你用算法单在收盘前跑批量单,10秒超时很容易出现"委托已报送但客户端报错"的情况。常见的做法是:手动单保持默认,算法单和条件单调到30秒以上,并且开启"本地留痕"。
2.3 扩展侧:DLL接口、公式系统和本地数据文件才是机构版的灵魂
如果只看行情和交易,机构版更像一个加厚版的大户室,但真正让它在量化圈站稳脚跟的是扩展能力。通达信的公式系统从普通版就有,但机构版的公式函数库多了L2专用函数、逐笔函数、自定义数据刷新等。更关键的是,机构版支持加载外部DLL,你可以用C语言写自己的数据计算或信号逻辑,在公式里直接调用。这意味着你有能力把"闭源黑匣子"变成"自己可控的计算节点"。
本地数据文件也值得说。机构版会把分笔、分钟K线、日线还有财务数据以文件形式缓存在本地目录,且默认保留天数更久。普通版可能只保留最近几个月,机构版可以配置保留几年。这些文件格式虽然不公开,但社区里有成熟的解析工具,你可以把历史数据导出来喂给Python做回测。我不主张在这里讨论破解或逆向,但你要知道:官方提供了"数据导出"菜单,能导出TXT或Excel,这就足够对接外部程序了。不要一上来就想解析底层二进制,先走官方导出通道,稳定且合法。
3. 从申请到跑通:机构版客户端的获取与正确配置
3.1 申请渠道:为什么必须走开户券商而不是互联网下载
这里必须说清楚:通达信机构版不存在公开下载的官网渠道,它不是普通软件,而是券商定制分发的版本。你在搜索引擎上看到的所谓"机构版破解绿色版"基本都是伪装了木马的老版本,千万不要碰。正规路径是:在你开户的券商那里申请开通机构版权限,通常有资产门槛,比如50万、100万或者更高,具体看券商政策。如果你本身是量化私募或者机构,可以走机构专用通道,门槛和要求会不一样。
申请时注意几个问题。第一,确认你拿到的是"机构版行情+机构版交易"还是"机构版行情+普通交易",这两个差别很大;第二,问清楚L2订阅数上限和是否支持DLL加载;第三,确认你当地机房到券商的线路是走Internet还是专线,如果走Internet,机构版的低延迟优势会被物理距离吃掉。我见过某开发者,申请了机构版,结果用笔记本连着家里Wi-Fi下单,延迟跟手机版没区别,这就有点浪费资源了。
3.2 安装与登录:网络环境、证书和U盾这些细节
券商一般会给你发一个下载地址和账号,客户端安装包体积比普通版大不少,因为预置了L2解码器和算法组件。安装路径不要放在系统盘Program Files下,原因后面避坑章会讲,放在纯英文目录,比如D:\tdx\jy。
登录流程通常是两步:先插入U盾(如果有的话),再启动客户端选择对应的站点。机构版登录框会有一项"站点选择",默认可能是"站点一",你要选离你机房最近的站。这里有一个细节:站点选择错误会导致行情正常但交易延迟高,或者行情中断。我一般会逐个测站点延迟,选延迟最低的,而不是看名字。
另外,机构版往往要求绑定机器码。也就是说,你在一台电脑上登录后,换了设备可能需要重新授权。申请的时候就要多报几台备用机器,或者问清楚换机激活流程。有次我帮朋友换新电脑,忘了申请解绑,结果登录一直提示"账号在其他设备使用",最后让券商后台重置才解决。
3.3 三个必调参数:行情刷新频率、L2缓存目录和交易超时时间
参数设置入口一般在"系统设置"或"选项"里,机构版比普通版多出几页。第一个必调的是行情刷新频率:普通版默认可能是2秒,机构版建议调到200毫秒或者100毫秒(如果有这个选项)。注意,刷新频率不是越低越好,100毫秒会产生巨大的数据量,如果你的网络带宽不够,反而会造成数据堆积和卡顿。先看带宽,再调频率。
第二个必调的是L2缓存目录。这个目录是存放实时快照和逐笔临时文件的地方,默认可能在C盘,但C盘通常是系统盘,写入频繁会影响性能。建议改成机械硬盘之外的高性能SSD,并预留至少10GB空间。我自己习惯放在E:\L2Cache。
第三个必调的是交易超时时间。在交易设置里找到"委托超时""查询超时"之类字段,手动单保持默认,但条件单、算法单建议调大。参数对比参考下表:
| 参数项 | 普通版默认 | 机构版建议值 | 说明 |
|---|---|---|---|
| 行情刷新频率 | 2000ms | 200ms | 需带宽充足 |
| L2缓存目录 | C盘默认 | 非系统SSD | 10GB以上 |
| 委托超时 | 10s | 30s | 算法单场景 |
| L2订阅数 | 无 | 按需 | 不是越大越好 |
这些参数改完后要重启客户端才生效。重启后第一件事是打开一个比较活跃的股票,看左下角行情状态里的L2数据是否连续,如果出现"网关重连"字样,说明站点没选对或者网络不稳定。
4. 把机构版用起来:公式、预警和DLL插件
4.1 编写第一个机构版公式:从普通公式到L2专用函数
机构版的公式系统支持普通版所有语法,然后多了一些L2函数,比如DYNAINFO已经不够用了,你可以用L2_BID、L2_ASK这种函数取某个价位的买卖量。下面这个指标用十档买卖量计算"资金抢筹强度":
{ 机构版L2抢筹强度 } TOTALBID:=L2_BID(1)+L2_BID(2)+L2_BID(3)+L2_BID(4)+L2_BID(5); TOTALASK:=L2_ASK(1)+L2_ASK(2)+L2_ASK(3)+L2_ASK(4)+L2_ASK(5); STR:=TOTALBID/(TOTALBID+TOTALASK)*100; 强度:STR,COLORSTICK;注意:L2_BID(N)表示第N档买量的函数名,不同券商版本可能略有差异,有的版本叫BIDVOL。如果你的客户端提示"未定义变量",去公式帮助里搜索"委买量"或"十档",确认函数签名。
这个公式的逻辑很简单:把买一到买五的量加起来和卖一到卖五的量做对比,大于50表示买盘占优。但实际使用中,只看静态量没有意义,因为大头是挂单不一定成交。所以我一般会把强度做差分:DIFF:=STR-REF(STR,5);,如果DIFF连续3根K线递增,说明买盘在主动加厚。这样的公式才是能落地用的,而不是一个只会画柱子的玩意儿。
4.2 用DLL扩展主程序:C语言写一个周期切换插件
机构版真正值钱的是DLL扩展。常见做法是用C语言写一个动态库,导出特定函数给公式调用。下面是一个最简单的"输入两个double返回相加结果"的DLL骨架:
// myfunc.c #include <windows.h> __declspec(dllexport) double WINAPI Add(double a, double b) { return a + b; } BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { return TRUE; }编译成myfunc.dll后,放到通达信安装目录的扩展结构目录下,公式里写"myfunc@Add"(1.5,2.5)就能调用。逻辑说明:第一段导出一个Add函数,WINAPI是调用约定,通达信的公式引擎期望的是stdcall或cdecl,具体要看你的主程序版本。DllMain是标准入口,不需要额外逻辑。
参数说明:double a, double b是入参,公式里传的数值默认都是double。如果你要传数组或取K线数据,接口会复杂很多,需要查通达信提供的SDK头文件。我这个示例是为了说明加载机制,不只是为了让你算加法。真正实用的DLL一般做这些事:计算自定义的盘口因子、对接外部数据源、把实时数据转发到UDP端口。
4.3 条件预警配置:让程序替你盯盘
条件预警在机构版里更像一个独立子系统。你可以在"条件预警"里新建一条规则,用上面的强度公式,设置当"DIFF连续3周期大于0"时触发。触发动作可以是弹窗、声音,也可以运行外部程序。对的,机构版允许在预警动作里填一个可执行文件路径和参数,这是很多量化者喜欢的功能。
配置步骤:先在公式里定义预警条件,选择"条件预警"菜单,新建预警,公式选中你写的指标,设置周期为"分笔"或者"1分钟",触发动作勾选"运行程序",命令行填D:\signal.exe,参数填$CLOSE$(自动替换为现价)之类的占位符。不同版本的占位符格式不一样,常见的有$股票代码$、$现价$,翻开预警设置里的帮助说明确认。
这个功能把机构版从一个看盘软件变成了一个实时信号引擎。你可以在外部程序里写一个Python脚本,用WebSocket把信号推到手机,实现"预警-通知"闭环。
5. 通达信机构版避坑指南:数据延迟、DLL崩溃与权限丢失
5.1 L2行情延迟比普通版还高,先检查本机时间同步
现象:开了机构版,L2快照刷新反而比普通版还卡,鼠标转圈,数据一格一跳。
原因:L2数据是带时间戳的增量流,客户端依赖本机时间做排序和缓存。如果系统时间和交易所基准时间偏差超过几百毫秒,客户端会把错序数据当成重连,不断清空缓存重建,表现为高延迟和卡顿。
解决:安装并启动操作系统自带的时间同步,或者用网络时间协议工具对准时间。我习惯写一个开机任务自动同步,确保时间偏差在50ms以内。另外检查是否多个客户端同时登录了同一机构版账号,如果普通版和机构版同时在线,L2订阅会被挤掉线。
5.2 DLL一加载就闪退,多半是调用约定和浮点格式不匹配
现象:公式里一调用DLL函数,通达信直接闪退,没有任何提示。
原因:通达信公式引擎调用DLL时,默认按32位进程加载,且要求导出函数使用__stdcall(WINAPI)约定。如果你编译成64位DLL,或者用了__cdecl,加载就会崩。另外,如果你的DLL用到了不同运行库的堆内存,也会导致崩溃。
解决:统一编译成32位DLL,函数声明加上WINAPI。不要在DLL里用malloc分配内存返回给公式引擎,改为在DLL内部使用静态缓冲区或由公式引擎传入。若不确定约定,可以用__declspec(dllexport) double WINAPI PluginTest(double a)这种骨架先跑通,再加逻辑。别一上来就封装大功能,翻车概率极高。
5.3 重装在即,自选股和公式全丢,手工备份这几个文件
现象:电脑重装系统后,机构版重新安装,发现自选股、自定义公式、预警设置全没了,跟重装普通版一样的"失忆"。
原因:机构版虽然把数据缓存放本地,但用户配置通常保存在安装目录下的特定用户文件夹里,卸载时不一定被清理,重装时却覆盖了。
解决:在重装之前,把安装目录下的UserData或类似名称的文件夹完整备份。我一般会直接把整个安装目录复制到移动硬盘,而不是只备份配置。恢复时先把原目录整体复制回去,再运行客户端,选择"恢复备份"。如果用来存配置的文件夹名记不住,用文件搜索功能找所有.cf或.dat结尾且最近修改过的文件,这就是你要的后悔药。
5.4 交易通道登录提示“无权限”,权限绑定柜台而非客户端
现象:客户端能正常看行情,一登录交易系统就弹"无权限",或者显示"该账号未开通机构交易"。
原因:机构版的交易权限不是在客户端勾选出来的,而是券商的柜台系统在后台为你配置的。你可能开通了机构版行情,但交易侧的权限没有同步到相应营业部。
解决:不要跟客户端较劲,直接联系券商客户经理,让他查柜台里的"客户端类型"和"交易通道"。特别注意,如果你的账号同时开了普通版和机构版权限,柜台可能默认只给了普通版。主动要求关闭普通权限、保留机构权限,并重新下载一遍登录证书。证书过期也会出现类似的提示,检查U盾或数字证书有效期。
5.5 盘中突然断流,先看防火墙和代理设置
现象:行情软件挂了一下午,其他时段正常,唯独某个时间段频繁断流,重连后数据缺失。
原因:机构版使用多个TCP端口接收行情和交易数据,断流一般来自办公网防火墙对长连接的空闲超时策略。比如防火墙在连接空闲超过5分钟时静默丢弃,客户端没有发送心跳就掉线。代理设置里如果强制走HTTP代理,也会出现行情数据流被截断。
解决:在内网防火墙给通达信进程设置例外规则,允许长连接。不要相信"断线自动重连"选项,把它打开的同时,把重连次数设到最大。如果你在机构网络里,需要问机房同事要一份客户端端口清单,把对应出站端口放通。排除法:先直连光猫不经过路由器测试半小时,如果稳定,问题就在本地网络设备;如果还不稳定,找券商查远程。
6. 进阶:把机构版拉进你的量化工作流
最后一个值得投入的技巧是:把机构版的条件预警当作信号入口,不需要写复杂插件。
具体做法:在预警动作里选择"写入文件"或"运行程序",指向一个Python脚本。脚本接收参数后,把预警信息追加到本地消息队列,再由策略程序消费。下面的Python片段接收三个参数:股票代码、触发价格、触发时间,然后把它写进CSV:
import sys, csv, os code = sys.argv[1] price = sys.argv[2] event_time = sys.argv[3] row = [event_time, code, price] path = r"D:\signals\signals.csv" with open(path, "a", newline="", encoding="utf-8") as f: writer = csv.writer(f) writer.writerow(row)外部策略程序可以每秒轮询这个CSV,也可以监控文件变化。这样做的收益很直接:机构版负责实时行情和复杂公式计算,Python负责信号入库、仓位管理和发送通知,两边各干各擅长的。
我自己的习惯是每天收盘后把当天触发的信号统一过一遍,用导出的分钟数据做复盘,而不是盘中看到信号就追。机构版的实时优势要用在真正需要毫秒响应的场景,如果做的是小时级策略,普通版加定时任务就足够了。别被"机构版"三个字带跑偏,先想清楚你的策略需要多快的反馈,再决定要不要为低延迟和L2数据买单。
希望这篇笔记能帮你在机构版上少踩几个坑。如果你调通了上面的DLL骨架,恭喜你,你已经比90%的付费用户更懂这个工具了。
本文还有配套的精品资源,点击获取