你在别人电脑上看到一个公式跑得好好的,拷到自己机器上却提示函数不存在;或者同一个公式,在你的软件里能算出结果,在另一个人的软件里画出来是空的。这类问题多数不是公式写错了,而是两个人用的不是同一个版本的软件,通达信免费版公式功能与收费版本之间的差别,正好落在几个能被指认的地方。

下面把差异按「能不能查、怎么查」的顺序排开。全文只讲版本之间的功能范围与核对方法,不评价任何指标的效果,也不给出操作结论。文中菜单路径以通达信金融终端为参照,你实际用的是哪一版,可以在「帮助 → 关于」里看到版本号与授权信息。

一、差异先分成四类

把版本差异拆开看,落到公式上的只有四类:函数集的大小、历史数据的深度、公式条目与同步方式、以及定时与预警这类需要后台资源的能力。前两类决定公式能不能算出结果,后两类决定公式能不能在你需要的时候跑。

这四类的共同点是都可以自己核对,不需要问客服。核对的方式是拿一段最小化的测试公式,去试某一个函数是否被识别、去拉一段历史数据看起点在哪一天。逐项试过一遍,版本的能力边界就在你手上了。

差异的来源是授权范围。同一份安装程序,在不同授权下打开的可用功能并不完全相同;通达信免费版公式功能与收费版之间的边界由授权决定,不由安装文件决定。这带来一个直接的推论:在同一台机器上换一个授权的账号登录,能达到的功能范围会跟着改变,而软件版本号可能一点没变。碰到这种情况,先核对账号,再核对安装包。

二、函数集:试一个函数就知道

函数集是版本之间最直接的差别。同一段源码,在函数说明里查得到、在公式编辑器里能通过编译,说明这个版本支持它;如果编译时提示名称未定义,说明当前版本没有这个函数。

{ 最小化测试公式:只调用一个函数 }
X:SUMBARSX(CLOSE,1);

{ 编译通过 → 该版本支持 SUMBARSX
  提示名称未定义 → 换一个等价写法或改用其他函数 }

测试时要注意两点。一是函数名大小写不敏感,写上大写小写都一样被识别,所以「大小写不同」不会造成提示未定义。二是提示未定义有多种成因,函数不存在只是其中一种,参数个数写错、括号不配对也会得到同类提示,试函数时把公式缩到只留一行,才排得干净。

用一行公式试函数,比翻版本说明快。做法是新建一个技术指标公式,里面只写一行调用,点「测试公式」。通过就说明这个函数在这个版本里可用,不通过就换写法。这个过程不修改你原有的公式,试完删掉即可。

三、历史数据深度

第二个差别是历史数据的长度。同一只品种,日线数据的起点在不同版本里可能不同;分钟线的深度差别更明显,免费版本地能取到的分钟线区间比收费版短。表现是公式画到某个位置就断掉,前面的部分一条直线或者干脆没有。

核对办法是把显示范围往左拉到底,看输出的起点落在哪一天,再打开数据下载工具看该品种已下载数据的起止日期。两个日期一致,说明是数据边界;公式画不出来的一段,不是写法问题。

这一点会连带影响递推类公式。均值、平滑、累积这类计算要用到前面若干根的数据,起点附近的数据不足时,输出是在不完整的条件下算出来的。显示范围往左扩一段之后,如果最左边的输出值还在变化,就说明它仍在收敛过程中,不适合作参照。

数据长度这一项与通达信免费版公式功能的关系,落在本地已下载的内容上。公式取不到的数据不会因为改了写法就出现,所以碰到输出起点与预期不符时,先打开数据下载工具看该品种已下载的区间,再回头找公式的原因。顺序反过来,会在公式里反复试写法而始终找不到问题。

四、公式条目数与同步方式

第三个差别是能保存多少条自编公式,以及这些公式存在哪里。本地保存的公式写在你电脑的安装目录里,跟着这台机器走;云端保存的公式跟账号走,换一台机器登录同一个账号能看到。

这两条路径的差别会在两件事上显出来。一是换机器或者重装系统,本地公式需要先导出再导入才能带走;云端的公式登录后就在。二是删除操作的对象不同,删本地公式与删云端公式是两个入口,只删了一边,另一边还会在下次登录时同步下来。

公式存放的具体位置,可以在这篇里对照:公式安装与导入 一栏讲文件与目录,公式报错与卡顿排查 一栏讲同步失败与提示原文。前者解决「存在哪」,后者解决「没同步上怎么办」。

五、预警与定时计算

第四个差别在需要后台资源的功能上。定时刷新、条件预警、批量计算这类能力,要占用数据推送与计算资源,版本之间在可用范围上会有区别。表现出来的现象是公式写对了,但预警列表不触发,或者刷新间隔与设置里的值不一致。

核对这一步要从设置面板入手,而不是从公式入手。打开预警设置,看条件能不能被保存、刷新周期有哪些可选值、预警对象能选多少个。可选值本身就是版本能力的直接反映,设置面板里没有的选项,公式里再怎么改也调不出来。

这一步做完,建议把结论写下来:能用的函数有哪些、数据能回溯到哪一天、预警刷新有哪些可选周期、公式条目上限是多少。四项写下来,下一次遇到两个版本之间的差异,直接对照这份记录即可,不必重跑一遍测试。记录里要写上核对日期,因为软件升级之后这些边界可能变化,旧的记录不能直接沿用。

公式跑不出结果时,先确认是写法问题还是版本问题。做法是把公式里用到的函数逐个搬到一行测试公式里去试。全部都通过,说明写法与函数都没问题,剩下的是数据范围与设置;有任何一个不通过,问题就在这一层,改设置解决不了。

六、怎么把差异落到自己这台机器上

把上面四类合起来,得到一条可以自己走完的核对路径。第一步在「帮助 → 关于」里记下版本号与授权信息;第二步用一行公式试关键函数;第三步拉一段最长的历史数据看起点;第四步在预警设置里看可选值。四步走完,你这台机器在公式上的能力边界就清楚了。

四步里最容易跳过的是第三步。历史数据的长度不像函数集那样有明确提示,它只在输出断线时才暴露出来,而断线很容易被误认为公式写错了。把这一步固定成习惯,能省掉不少排查时间。

后续拿到新公式时,遇到结果对不上,先问一件事:给出这个公式的人用的是哪一版。通达信免费版公式功能的边界与收费版不同,两个人在不同边界上讨论同一个公式,讨论的其实是两件不同的事。先把版本对齐,再谈公式本身,能省掉相当多的来回。

文中菜单路径与函数名以通达信金融终端为参照,软件的具体版本号与授权范围可在「帮助 → 关于」中核对;不同版本与券商定制版的函数列表、数据范围与设置项可能存在差异,请以你所用版本内的实际界面为准。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。