条件选股和公式选股区别不在执行结果上,两个入口跑完都得到一份名单,区别在条件是从哪里来的。一个是客户端预先做好、只留参数给你填的条件库,另一个是你自己写出来的算式。弄清这一点,才知道哪种需求该走哪个入口。

下面按入口位置、条件来源、参数暴露方式、结果落点、选用判据与边界六层来写。文中菜单层级与对话框名称按通达信 PC 版的常见结构描述,不同版本与券商定制版在入口命名与条件库内容上存在差异。本文只讨论两个入口的操作机制与结果口径,不涉及任何标的筛选结论,也不构成任何投资建议。

一、两个入口分别在菜单的哪一层

条件选股走的是功能菜单下的选股器分组。打开后是一个对话框,左侧列出条件分类,例如技术指标、行情数据、形态特征,选中一类之后右侧出现具体条件与参数输入框,填好数值再选执行范围。

公式选股的入口有两处。一处是在选股器对话框里选择「条件选股公式」这一来源,再从列表里挑一条自编公式;另一处是直接在公式管理器里把算式保存为条件选股类公式,之后通过同一个对话框调用。也就是说,公式选股依赖的仍然是那个对话框,变化的是条件从哪里取。

两处入口指向同一个执行引擎,这一点决定了两个途径的结果口径是一致的:同样的条件、同样的范围,名单相同。差别只出现在条件的表达方式上。

二、条件的来源不同

条件库里的每一条都是客户端预先写好的算式,配上一组可以填写数值的参数。它的覆盖面由客户端版本决定,你只能选,不能改。

公式选股的条件由你自己写。能用到的取数对象与函数范围,与写指标类公式时是同一套语言,只是输出要求不同:输出需要能区分成立与不成立。

{ 一条条件选股公式的最小结构 }
条件:CLOSE>MA(CLOSE,20) AND VOL>MA(VOL,5);
{ 输出为成立或不成立,不画曲线 }

第三行的输出没有单位,也不需要在图上呈现。它要做的是对每一根给出是或否,其余交给对话框决定在哪些范围内执行。

由此得到一条判断线:需求能被条件库里已有的条目表达,就用条件库;需求涉及自定义的取数组合或者额外的中间变量,就写公式。前者的成本是找条目,后者的成本是写并验证算式。

三、参数暴露方式的差别

条件选股和公式选股区别在参数这一层拉得最开。用条件库时,参数填在对话框里;用自编公式时,参数可以写在算式里,也可以放进参数表。

对比项 条件选股 公式选股
参数写在哪 对话框的输入框里,每次执行前填 算式里、参数表里或两者兼有
上次填的值 当次对话框状态,关掉后不形成记录 随算式保存在公式文件里
能否逐条替换 只能在客户端提供的条目之间替换 可自行改写任意一段

第二行的影响容易被低估。用条件库跑一次组合筛选,填进去的那组数值没有留档,隔一段时间想复现同一条件,只能靠记忆或者当时另记的笔记。用公式选股则把参数固定在算式或参数表里,同一条公式任何时候跑出来的条件都是同一组。

如果既想频繁调整数值又希望留档,折中做法是把参数写进参数表而不是算式正文。参数表里的数值可以在调用时改动并保存,改动之后算式结构不变,版本对比时只需看参数表。

四、结果落在哪里

两个入口执行完成后,名单进入同一个位置:客户端会把它放进一个结果列表,还会提供加入自选分组、导出表格之类的后续动作。结果列表本身的处理方式与条件来自哪里无关。

需要留意的是两个入口在执行范围上的设置项不同。对话框里能选的范围包括全部品种、指定板块、指定分组,范围设置决定了这次运算要跑多少条数据。范围越大、条件越复杂,耗时越长,这是执行成本的问题,不是条件正确性的问题。相关排查思路见 报错与卡顿排查 一栏。

五、什么时候用哪一个

把常见需求归一下类,判据会比较清楚。

  • 需要按一个现成的指标条件做初步考察,例如某条均线的相对位置,用条件库。条目现成,填两个数值就能跑。
  • 需要把两个以上的取数对象组合起来,例如价格条件与量能条件同时成立,写公式。条件库把每个条目分开提供,组合关系由对话框的与或选择决定,能表达的范围有限。
  • 需要在一段时间内反复用同一组条件,写公式。参数固定在算式里,复现成本为零。
  • 需要把条件交给别人,写公式。算式可以直接导出,条件库的一组填写值只能口头描述。

还有一处只有公式选股能做的事:把条件挂成预警。预警需要一个可以逐根求值的算式,条件库的条目在执行时是当次选定的,不构成一个可以持续运行的算式。预警的挂载与不触发的常见原因,见 选股公式与预警 一栏。

六、两个入口的结果怎么对齐核对

把一条自编算式换成条件库里的对应条目,两次跑出来的名单未必完全相同。条件选股和公式选股区别在这一步会具体体现出来,差异集中在三处。

第一处是条件本身的口径。条件库里的某一条可能用的是平滑后的均线,你自编时用的是简单均线;两者在同一根上的取值不同,处在边界附近的位置就会一个进名单一个不进。核对办法是把两个口径的数值分别输出,找出差异出现在哪几根上。

第二处是执行范围。两次执行时选的品种范围不同、是否包含停牌、是否限定某个分组,都会改变名单的长度。范围设置记在对话框里,两次之间容易被改动。

第三处是复权设置。同一段数据在前复权与不复权两种取法下价格不同,涉及价格比较的条件会因此给出不同结果。核对时把三处的设置逐一对齐,再判断名单差异是条件口径造成的还是设置造成的。

把这三处对齐之后,剩下的差异才是真正需要看的:算式里有没有写错比较方向、有没有漏掉一个与条件。对齐的过程本身也是一次验证,比看曲线更直接。

七、这一节要说明的边界

两个入口做的事都是按条件筛出记录,输出的是一份满足条件的名单。条件选股和公式选股区别不改变这一点,两者输出的都是一份计算结果。名单本身只是计算结果,它不说这些记录之后会怎样,也不包含任何持有时间或者方向判断的信息。把名单当成一个待进一步核对的候选集合,与把它当成结论,是两件不同的事。

写公式时还需要避开一类函数:引用了当前根之后数据的函数,会让历史位置上的判定依赖后来才出现的数值。这类函数在图上看着结果理想,放到真实的时间顺序里无法复现。自检方法与替换思路,见 公式编写教程 一栏。

两个入口不必二选一。同一次考察里先用条件库把范围缩小,再用自编公式做更细的条件组合,比在两者之间挑一个更贴合实际的需求。需要现成条目、一次看完的环节交给条件选股,需要自定义组合、反复复现或者挂预警的环节交给公式选股。

文中菜单层级、对话框名称与参数项按通达信 PC 版的常见结构描述;不同版本与券商定制版在入口命名、条件库内容与执行范围设置上存在差异,具体请以你所用客户端的实际界面与帮助文档为准。本文只讨论两个入口的操作机制与结果口径,不构成任何投资建议。

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