在大盘分析系统中,我们经常要统计一个板块的涨跌家数,比如站上五日均线的有多少家,站上月线的个股有多少家,这样我们就涉及到了一个横向统计数据问题,因为这种统计方法,很少有自带函数支持,所以我们需要在作这种量化功能时,应用一种高级功能,在指标中引用其它指标,以此来完成横向数据计算,达到统计分析功能。
比如,在实战中我们需要判断大盘走势的冷热强度,比如可以统计收盘价在5日成本均线上的个股数及其占总股票数的比例,统计收盘价在月线成本均线上的个股数及其占总股票数的比例,从而判断大盘短线和中线的阶段性底部和顶部。
今天以一个具体的编写思路和指标代码,来阐述用通达信做横向统计的计算方法及实现过程,先来看下这个指标公式的图示。

在这幅公式中,我们取两个值,第一个是收盘价站上五日线的个股家数,代表短线市场波动环境,第二个是收盘价在月线以上的个股家数,代表中线市场环境,用收盘价站上这两根均价线的个股家数来判断市场,比如大部分股都站上了五日均价线,是不是代表大部分股都在获利,那么这些获利盘是不是就是非常大的压力,所以短期见顶信号就会显现,当然我们这个取值不一定准确,如果你有合适的取值方法,可以用自己的参数来代替,我们今天主要是讲解横向统计的实现方法及过程。
要实现横向统计量化,思路是用一个公式套用另一个公式,比如我们今天要阐述的方法中,会用到五日线及横向计算强弱两个公式,指标类型都为副图,我们先来做五日线这个公式,它的用途是用来选取收盘价站上五日线以及月线,在这里我们用EMA,EMA的定义叫“指数移动平均值”,英文名称为Exponential Moving Average,简写为EMA,也叫 EXPMA 指标,它和MA都是一种趋向类指标,至于这两种具体的用法,简单的说,当要比较数值与均价的关系时,用 MA 就可以了,而要比较均价的趋势快慢时,用 EMA 更稳定。
先在通达信的公式管理器中,建立第一个公式,取名五日线,代码如下:
M1:C>EMA(C,5);
M2:C>EMA(C,34);
输入代码,并保存为副图。

这个公式的作用就是计算站上均线,然后会被第二个公式计算横向统计时来调用。
然后我们再建立第二个公式,这个公式代码比较多,取名为横向计算强弱,代码如下所示:
板块1:=INSUM('黑龙江','五日线',1,0);
板块2:=INSUM('新疆板块','五日线',1,0);
板块3:=INSUM('吉林板块','五日线',1,0);
板块4:=INSUM('甘肃板块','五日线',1,0);
板块5:=INSUM('辽宁板块','五日线',1,0);
板块6:=INSUM('青海板块','五日线',1,0);
板块7:=INSUM('北京板块','五日线',1,0);
板块8:=INSUM('陕西板块','五日线',1,0);
板块9:=INSUM('天津板块','五日线',1,0);
板块10:=INSUM('广西板块','五日线',1,0);
板块11:=INSUM('河北板块','五日线',1,0);
板块12:=INSUM('广东板块','五日线',1,0);
板块13:=INSUM('河南板块','五日线',1,0);
板块14:=INSUM('宁夏板块','五日线',1,0);
板块15:=INSUM('山东板块','五日线',1,0);
板块16:=INSUM('上海板块','五日线',1,0);
板块17:=INSUM('山西板块','五日线',1,0);
板块18:=INSUM('深圳板块','五日线',1,0);
板块19:=INSUM('湖北板块','五日线',1,0);
板块20:=INSUM('福建板块','五日线',1,0);
板块21:=INSUM('湖南板块','五日线',1,0);
板块22:=INSUM('江西板块','五日线',1,0);
板块23:=INSUM('四川板块','五日线',1,0);
板块24:=INSUM('安徽板块','五日线',1,0);
板块25:=INSUM('重庆板块','五日线',1,0);
板块26:=INSUM('江苏板块','五日线',1,0);
板块27:=INSUM('云南板块','五日线',1,0);
板块28:=INSUM('浙江板块','五日线',1,0);
板块29:=INSUM('贵州板块','五日线',1,0);
板块30:=INSUM('海南板块','五日线',1,0);
板块31:=INSUM('西藏板块','五日线',1,0);
板块32:=INSUM('内蒙板块','五日线',1,0);
短线:板块1+板块2+板块3+板块4+板块5+板块6+板块7+板块8+板块9+板块10+板块11+板块12+板块13+板块14+板块15+板块16+板块17+板块18+板块19+板块20+
板块21+板块22+板块23+板块24+板块25+板块26+板块27+板块28+板块29+板块30+板块31+板块32,COLORRED;
板块1111:=INSUM('黑龙江','五日线',2,0);
板块2111:=INSUM('新疆板块','五日线',2,0);
板块3111:=INSUM('吉林板块','五日线',2,0);
板块41:=INSUM('甘肃板块','五日线',2,0);
板块51:=INSUM('辽宁板块','五日线',2,0);
板块61:=INSUM('青海板块','五日线',2,0);
板块71:=INSUM('北京板块','五日线',2,0);
板块81:=INSUM('陕西板块','五日线',2,0);
板块91:=INSUM('天津板块','五日线',2,0);
板块101:=INSUM('广西板块','五日线',2,0);
板块111:=INSUM('河北板块','五日线',2,0);
板块121:=INSUM('广东板块','五日线',2,0);
板块131:=INSUM('河南板块','五日线',2,0);
板块141:=INSUM('宁夏板块','五日线',2,0);
板块151:=INSUM('山东板块','五日线',2,0);
板块161:=INSUM('上海板块','五日线',2,0);
板块171:=INSUM('山西板块','五日线',2,0);
板块181:=INSUM('深圳板块','五日线',2,0);
板块191:=INSUM('湖北板块','五日线',2,0);
板块201:=INSUM('福建板块','五日线',2,0);
板块211:=INSUM('湖南板块','五日线',2,0);
板块221:=INSUM('江西板块','五日线',2,0);
板块231:=INSUM('四川板块','五日线',2,0);
板块241:=INSUM('安徽板块','五日线',2,0);
板块251:=INSUM('重庆板块','五日线',2,0);
板块261:=INSUM('江苏板块','五日线',2,0);
板块271:=INSUM('云南板块','五日线',2,0);
板块281:=INSUM('浙江板块','五日线',2,0);
板块291:=INSUM('贵州板块','五日线',2,0);
板块301:=INSUM('海南板块','五日线',2,0);
板块311:=INSUM('西藏板块','五日线',2,0);
板块321:=INSUM('内蒙板块','五日线',2,0);
中线:板块1111+板块2111+板块3111+板块41+板块51+板块61+板块71+板块81+板块91+板块101+板块111+板块121+板块131+板块141+板块151+板块161+板块171+板块181+板块191+板块201+
板块211+板块221+板块231+板块241+板块251+板块261+板块271+板块281+板块291+板块301+板块311+板块321,COLORYELLOW;
分水岭:4672*0.5,COLORGREEN,DOTLINE;
把以上代码输入通达信公式管理器中,保存类型为幅图。

这样就建立出来两个副图公式,那么我们在调用时,因为第一个公式只是被调用,所以只需要键入第二个公式名称,就是横向计算强弱,就出现文章开头图1的效果,在这里需要提醒一点的是,因为横向统计需要进行大量的数据计算,所以电脑硬件配置要高,要不然会被卡住不动。
在这篇文章中,我们主要是用简单的五日线和月线(EMA34)来进行的横向量化示例,这两个参数不代表有绝对的准确性,大家有好的参数,可以将第一个公式中的均线进行调换,升华数据的量化,以达自己的判断效果。