双击 .tn6 文件没有反应,公式管理器里点「导入」也没有任何提示,列表里始终不出现新条目,这两种现象都属于通达信公式导入不了。它们在屏幕上看起来是同一件事,出问题的位置却分在三处:文件本身、导入时选的公式类型、软件版本与写入目录。
下面按「先排除文件本身、再排除公式类型、最后排除版本与目录」的顺序走一遍。顺序反过来做,容易在版本和权限上绕很久,而根因只是文件名被人改过一次。文中操作以通达信金融终端个人版为准,不同版本的菜单措辞与入口位置可能有差异。
一、先看文件名的后半段,不要凭图标判断是什么文件
文件在聊天工具、网盘、邮件附件之间转手几次之后,名字会变。浏览器下载时把 .tn6 存成 .txt;压缩包里还有一层目录,解压出来是个同名文件夹;系统隐藏了扩展名,桌面上显示成「某某公式」的其实是个 .tn6,双击它没有反应,因为它本来就不是能打开的程序。
第一步是把扩展名显示出来:在资源管理器里打开「查看」,把「文件扩展名」勾上。看清楚后缀,再对下面这张表。
| 文件后缀 | 该走哪个导入入口 | 这一步容易卡住的地方 |
|---|---|---|
| .tn6 | 公式管理器(Ctrl+F)→「导入公式」 | 被聊天工具或网盘改过名,导入对话框里按类型筛选时把它筛掉了;把「文件类型」改成「所有文件」就能看见它 |
| .tne | 公式管理器 →「导入公式」,选加密公式那一类 | 加密公式与授权绑定,换机器之后文件还在,引用关系能不能续上由授权信息决定 |
| .exp | 公式管理器 →「导入公式」 | 一个 .exp 里可能装了几条公式,导入之后要回列表里逐条核对,漏看会以为没进去 |
| .txt 或无后缀 | 公式管理器 →「新建」,把源码粘进编辑框 | 记事本另存之后源码里的全角标点被带着走;这类文件走「导入」进不去,只能粘贴 |
| .zip / .rar | 先解压,再按解压出来的真实后缀走 | 直接选压缩包会被当成未知格式;解压出来的目录里可能还有一层 |
二、再看文件是不是完整的,以及粘进来的标点对不对
后缀对上了,通达信公式导入不了仍然会出现,这时问题落回文件本身。下载中断、聊天窗口里的「另存为」被中途取消,这两种情况下文件照样存在,图标也在,只是字节数少了一截。核对办法是拿文件大小与来源处标注的大小比一次,同一份文件在两个地方取到的字节数不一致,其中一份就断过。
从网页复制源码这条路,问题出在标点上。网页的代码块经过排版,引号会被替换成成对的弯引号,逗号与分号也可能变成全角。通达信的公式编辑器只认半角标点,粘进去之后语法检查会指着某一列报错,而那一列看起来没有任何异常,差别只在一个字符的宽度上。
{ 从网页复制过来时可能变成的样子 }
A1 := MA(CLOSE, 20);
{ 行尾是全角分号,编译器不认 }
B1 := “CLOSE” ;
{ 引号被换成了弯引号,同样过不去 }
{ 改回半角标点之后 }
A1 := MA(CLOSE, 20);
B1 := "CLOSE";
验证方式:在公式管理器里新建一条公式,把源码粘进去,点「测试公式」(部分版本写作「语法检查」)。提示会给出出错的行与列,按位置回到那一行,找一个宽度与周围不同的标点。全部通过时提示区不报行号。
三、导入时选的公式类型,决定编译器按哪套规则检查
导入对话框上有一个类型下拉,里面是技术指标、条件选股、五彩K线、交易系统。这个下拉不只是给公式归个类,它还决定这条公式被放进哪个列表,以及编译时按哪一套规则检查。
条件选股这一类的限制最硬:要求公式至少有一个输出,并且不允许出现画线类函数。一条指标公式里写了 DRAWTEXT 给信号加文字标注,直接塞进条件选股这个入口,导入时会被挡下,或者看着导入成功,到了选股界面里却选不出来。五彩K线用的是颜色相关的输出,交易系统要求给出两组方向相反的条件,把普通指标公式放进这两类,同样对不上。
{ 带画线输出的公式,按技术指标装 }
信号 := CROSS(MA(CLOSE,5), MA(CLOSE,20));
DRAWTEXT(信号, LOW*0.99, 'X');
{ DRAWTEXT 属于画线输出,条件选股不收 }
{ 条件选股要的是纯条件,去掉画线那一段 }
信号: CROSS(MA(CLOSE,5), MA(CLOSE,20));
判断办法是搜源码:公式编辑器里按 Ctrl+F,或者用记事本打开源码,搜这几个标识:DRAW、DRAWTEXT、DRAWICON、DRAWLINE。出现其中一个,这条公式就按技术指标装。
四、版本与能力差异:入口位置和函数的可用范围
文件与类型都排除之后,通达信公式导入不了剩下的成因集中在版本与权限两处。个人版与券商定制版的菜单结构不一样。个人版里公式管理器的快捷键是 Ctrl+F,导入入口在「系统」菜单或工具栏的一排图标里;定制版把这些入口收在别的层级,按 Ctrl+F 打不开时,顺着「系统」菜单往下找一层。这类差异没有统一答案,只能以自己软件的界面为准。
函数的可用范围跟着版本走。后面版本才加入的绘图类函数(DRAWBAND 那样的填充写法、DRAWTEXT_FIX 那样的固定位置文字),在低版本里没有定义。源码用了它们,导入时会报「未定义的标识符」或者意思相近的提示,并把那个函数名指出来。这类提示与写法无关,升级版本或者改掉那几个函数,才是对症的方向。哪个版本加了哪些函数,以官方版本说明为准。
五、目录与权限:T0002、gs_bak,以及只读的安装目录
公式导入之后不是以单个文件的形式躺在磁盘上,它最终写进公式库文件。用户数据放在 T0002 目录里,公式库文件是 T0002 下的 PriGS.dat,自定义板块放在 T0002\blocknew。用户数据目录可以放到安装目录之外,路径在软件的设置项里能查到。
安装目录落在 Program Files 下面时,普通账户对它是只读的。导入这个动作要往公式库里写数据,写不进去的时候,界面给出的是一句笼统的「导入失败」,不提权限。把软件彻底退出,用管理员身份重新启动一次,再导一次;能导入说明前面挡着的就是权限。
{ 常见路径(以安装目录为 D:\new_tdx 为例) }
D:\new_tdx\T0002 用户数据目录
D:\new_tdx\T0002\PriGS.dat 公式库文件
D:\new_tdx\T0002\blocknew 自定义板块
D:\new_tdx\T0002\gs_bak 公式库的历史备份
{ 从备份恢复的步骤 }
1. 退出软件(进程结束,不是关窗口)
2. 进 gs_bak,找到要回退的那一天的目录
3. 把其中的 PriGS.dat 复制到 T0002,覆盖同名文件
4. 重新启动软件,打开公式管理器核对列表
六、按顺序自查的检查清单
把上面的内容收成一张按顺序执行的清单。遇到通达信公式导入不了的时候,从上往下走,每一步都有明确的判断结果。
- 打开资源管理器的「文件扩展名」,确认文件名最后几个字符,不看图标
- 按后缀对照导入入口:压缩包先解压,.txt 走粘贴而不是导入
- 核对文件大小,与来源处标注的字节数比一次
- 走粘贴这条路时,检查行尾分号、逗号与引号是不是半角
- 在公式管理器中点「测试公式」,看有没有报错行号
- 确认导入对话框里的类型下拉:带画线函数的按技术指标装,纯条件的才放条件选股
- 在「帮助 → 关于」里记下版本号,对照提示里被点名的函数判断版本能力
- 以管理员身份启动一次,排除安装目录只读
- 仍然失败时,从 gs_bak 里取一份备份覆盖公式库,再重导一次
走完这张清单,通达信公式导入不了的原因基本能落到某一个具体环节上。本文只作技术研究口径,不涉及也不构成对任何标的的判断。
站内还有 通达信公式安装与导入 的条目,公式报错与卡顿排查 里讲导入之后报错的查法,通达信公式编写教程 里讲源码本身的写法,可对照查看。
