通达信NAMELIKE、NAMEINCLUDE和CODELIKE怎么区分?名称与代码匹配排错
适用范围:通达信电脑客户端的技术指标观察公式和条件选股公式。用名称筛选时,“名称以某段文字开头”和“名称中包含这段文字”是两个条件。NAMELIKE按开头匹配,NAMEINCLUDE按包含匹配;CODELIKE检查的是代码开头。先分清匹配对象和位置,再检查选股范围,通常比反复改参数更容易定位漏选原因。

一、三个函数的输入对象不同
官方文档将NAMELIKE说明为“品种名称是否以参数开头”,将NAMEINCLUDE说明为“品种名称中是否包含参数”,CODELIKE则判断品种代码是否以参数开头。NAMELIKE名称里虽然有LIKE,也不代表可以随意加入通配符;文档给出的示例直接使用待匹配文字。
| 函数 | 检查对象 | 检查位置 |
|---|---|---|
| NAMELIKE(‘ST’) | 名称 | 开头 |
| NAMEINCLUDE(‘ST’) | 名称 | 任意包含位置 |
| CODELIKE(‘600’) | 代码 | 开头 |
代码前缀只回答字符串问题。不要把CODELIKE的结果直接当成所属行业、风险状态、交易资格或板块成员;需要板块成员条件时应另查INBLOCK板块名称与成员核对。
二、用虚构名称检查漏选
设名称分别为“ST示例”“*ST示例”“示例ST”。按开头与包含的文字含义,第一项同时符合两种问法,后两项只符合包含问法。星号位于最前面时,ST已经不是整个名称的开头。这里是在解释字符串位置,不是鉴别证券风险状态的完整规则。
如果结果与你的预期不同,先记录软件实际显示的完整名称,检查星号、空格、前后缀和其他字符。官方短条目没有说明全部大小写与特殊字符处理,本文不推断未列出的匹配规则。
三、先观察三个条件,再做单输出选股
先在独立技术指标中观察各条件,不要把三条输出直接粘进只接受一条结果的条件选股公式:
PREFIX_OK:NAMELIKE('ST');
CONTAIN_OK:NAMEINCLUDE('ST');
CODE_OK:CODELIKE('600');
如果主问题是“名称是否包含这段文字”,条件选股的最小例子只保留一条:
XG:NAMEINCLUDE('ST');
这只是字符串条件演示,没有叠加价格、成交量或买卖规则。想增加其他条件时,先单独验证它,再按AND、OR与括号分组组合,不要一次引入多个无法区分的变量。
四、名称匹配正确仍没有结果怎么办
核对当前选股范围是否包含目标品种,再检查名称字段、公式类型和输入字符。不要通过修改代码前缀去补偿名称条件错误。涉及多个市场的同类代码,前缀匹配也不能替代明确的市场和范围核对。
名称类字段描述客户端当前取得的名称。本文没有验证历史名称快照,不能拿当前名称匹配结果证明某只品种在过去某日也具有相同名称;在历史研究中应另行核实数据时点。
来源与适用限制
原始依据为通达信官方文档目录中的《通达信公式-全部函数》NAMELIKE、NAMEINCLUDE、CODELIKE条目。虚构名称、条件拆解和公式为原创说明,未做电脑及手机各版本实测,也不承诺名称筛选等同于任何完整业务规则。
新建、导入和检查公式可从通达信教程中心及条件选股器设置核对继续查阅。本文不提供个股买卖建议。




