上一篇文章提到连板梯队的代码不完善,没有对主板和创业板、科创板涨停进行区分,主板涨停是10%,而创业板、科创板涨停是20%,区别还是比较大的。今天就来给大家介绍如何区分。
区分主板和创业板、科创板,主要有两种方法:
第一种利用股票代码进行区分,创业板的股票代码以30开头,科创板的股票代码以68开头,利用这个特征,可以和主板区分开来。
第二种利用板块进行区分,创业板、科创板为两个特定的板块。
知道了这两种方法,接下来介绍使用的函数。除了创业板、科创板,去除ST、*ST的股票也经常用到,顺便介绍一下。
一、通达信函数
1、CODELIKE函数
含义:CODELIKE由code和like两部分组成,code的意思是“代码”,like的意思是“像…一样”,组合起来就是“像…一样的代码”,通过英文的意思可以了解CODELIKE函数的大概意思。在通达信编程语言中,CODELIKE用来模糊匹配股票代码,查询股票代码是否以设定的参数开头。
我们上面说到创业板,大家应该知道创业板以30开头,CODELIKE('30')就可以查找出以30开头的股票代码,即创业板股票。科创板以68开头,CODELIKE('68')可以找出以68开头的股票代码。使用函数的时候,要注意,数字要加英文单引号,不然查找不到对应的股票代码。
2、INBLOCK函数
含义:INBLOCK由in和block两部分组成,in的意思是“在……里面”,block是“块”,组合起来可以理解为“在板块里”。在通达信编程语言中,可以用于查询判断股票是否属于某板块。
INBLOCK('创业板')、INBLOCK('科创板')就可以用来分别判断是否属于创业板、科创板。
3、NAMELIKE函数
除了区分创业板、科创板,在平时编写通达信指标公式的过程中,经常还会去除ST、*ST的股票,这时候就得用上NAMELIKE函数。
含义:NAMELIKE由name和like组成,name的意思是“名称”,组合起来就是“像…一样的名称”,NAMELIKE用来模糊匹配股票名称。
NAMELIKE('ST')可以用来查找ST股票,如果查找*ST,NAMELIKE('ST')查找不到,因为NAMELIKE查询需要以设定的参数开头,写成NAMELIKE('*')才能查到,所以如果要把ST、*ST股票都去除,使用NAMELIKE需要分别写。
4、NAMEINCLUDE函数
上面讲的NAMELIKE函数,去除ST、*ST,需要分别写,而NAMEINCLUDE不需要,因为NAMEINCLUDE只需要名称中包含设定的参数就可以找到。
含义:NAMEINCLUDE由name和include组成,name的意思是“名称”,include的意思是“包含”,在通达信编程语言中的意思就是查询股票名称中是否包含设定的参数。
ST、*ST股票名称的共同特征是都包含了ST,NAMEINCLUDE('ST')就可以把名称中包含ST、*ST的股票都找出来。
二、完善涨停指标公式
通过上面对一些函数的学习,就可以完善之前的涨停指标公式。
涨停(适用于除ST、*ST的沪深A股)
ZT1:=C/REF(C,1)>1.095 AND C=H;{10%涨停}
ZT2:=C/REF(C,1)>1.19 AND C=H;{20%涨停}
CYB:=CODELIKE('30');{创业板股票}
KCB:=CODELIKE('68');{科创板股票}
ZT:IF(CYB OR KCB, ZT2, ZT1);{如果是创业板、科创板股票,20%涨停,否则10%涨停}
关注技术Pie,学习更多通达信指标公式编写知识。