分享

通达信实战公式:均线占比v1.0

 新用户84784301 2022-08-13 发布于广东

大盘强弱对于个股具有重要影响。可以用来判断大盘的技术指标,有均线占比指标、新高-新低指标、二阶段占比指标、新高股占比指标等。本文论述均线占比指标,它计算收盘价站上X日均线的个股数占全部A股个股总数的百分比

我写文章,一般会搜集各家的方案,比较后给出自己的方案。这样有利于自己的进步,也有利于帮到阅读我文章的人。

本文包含4个方案。方案一的特点是简单,但动辄造成卡顿,所以是不可行的。方案二来自他人的文章,基本上是原文,目的是作为比较的对象。方案三是对方案二的调整,这种调整包括简化、美化等,但不应影响公式的最终输出结果。方案四是在方案三的基础上加入了一个条件:上市超过250日,使公式更严谨;不过目前版本存在一些问题尚未解决,有待后续完善;方案四是我的方案,也是推荐的方案

方案一

本方案参考了微信公众号狮子孤行 2019-10-18的文章,芝麻开花2020 2021-10-31的文章。

1、建立技术指标公式

建立一个技术指标公式,供INSUM函数使用。公式名称:站上均线指标。代码如下:

MA50C_O1: C>MA(C,50); {收盘价站上50日均线,输出1}

MA250C_O2: C>MA(C,250); {收盘价站上250日均线,输出2}

2、建立技术指标公式

建立一个技术指标公式,名称:均线占比。代码如下:

MA50_T:= INSUM('全部A股','站上均线指标',1,0); {统计收盘价站上50日均线个股的累加数量}

MA250_T:= INSUM('全部A股','站上均线指标',2,0); {统计收盘价站上250日均线个股的累加数量}

ALL:=BLOCKSETNUM('全部A股');

MA50%: MA50_T * 100 / ALL, COLORGREEN, LINETHICK2; {收盘价站上50日均线的个股数占总个股数的百分比}

MA250%: MA250_T * 100 / ALL, COLORCYAN, LINETHICK2; {收盘价站上250日均线的个股数占总个股数的百分比}

3、使用效果

本方案的优点是简单。INSUM函数的板块名称为“全部A股”时,测试耗时约20秒;改为中证1000,测试耗时约5秒。虽然时间不算很长,但是每进入一个个股界面,都需要重新计算。有时仅仅是页面之间的切换,也需要计算造成卡顿。所以本方案是不可行的。

方案二

本方案参考了微信公众号西湖区的孩纸2020-07-17、2020-07-18的文章。

1、建立板块

通过自定义板块设置,建立一个板块名称叫“全部A股”,把A股的所有股票添加进去。

根据INSUM函数自带的说明,板块名称支持系统板块和自定义板块,因此这个步骤可以省略。另外,如果自己定义板块的话,因为股票数量在不断在增加,需要不时的去更新该板块。

2、建立板块

建立一个板块名称叫“GS均线占比扩展”,把上证指数添加进去,最好是添加两个上证指数000001和999999,这样的话两种上证指数情况下都能看到量化结果。不过板块内添加的内容越多,刷新扩展数据的时候时间就会越长(经望樱验证,对本案例确实如此)。

3、建立技术指标公式

公式名称:均线占比分析。代码如下:

五十日线: IF(C>MA(C,50),1,0);

年线: IF(C>MA(C,250),1,0);

4、建立技术指标公式

分别建立五十日线参数、年线参数2个指标公式。

公式名称:五十日线参数。代码如下:

五十日线参数: INSUM('全部A股','均线占比分析',1,0);

公式名称:年线参数。代码如下:

年线参数: INSUM('全部A股','均线占比分析',2,0);

5、建立技术指标公式

建立技术指标公式。公式名称:均线量化2。代码如下:

ALL:=BLOCKSETNUM('全部A股');

五十日线占比:=EXTDATA_USER(6,0); {函数中的序号要和扩展数据编号对应}

年线占比:=EXTDATA_USER(7,0); {函数中的序号要和扩展数据编号对应}

五十日线%: 五十日线占比 * 100 / ALL, COLORBLUE, LINETHICK2;

年线%: 年线占比 * 100 / ALL, COLORMAGENTA, LINETHICK2;

25, COLORGREEN, LINETHICK2;

75, COLORCYAN, LINETHICK2;

6、设置扩展数据

分别对五十日线参数、年线参数设置扩展数据。

打开扩展数据管理器,分别对五十日线参数、年线参数设置扩展数据。

设置五十日线参数扩展数据:

图片

设置年线参数扩展数据:

图片

至此,所有的技术指标以及扩展数据设置完毕。每天盘后都要执行“盘后数据下载”、刷新“扩展数据”,必要时下载“专业财务数据”。

7、副图显示

在副图点击向下的三角箭头,再点击“选择副图指标”,在“其它类型”里找到“均线量化2”,副图就能显示均线占比线条了。效果如下:

图片

方案三

方案三在方案二基础上进行了调整,这种调整包括简化、美化等,但不应影响公式的最终输出结果。

1、建立技术指标公式

建立一个技术指标公式,供INSUM函数使用。公式名称:站上均线3。代码如下:

MA50C_O1: C>MA(C,50); {收盘价站上50日均线,输出线1}

MA250C_O2: C>MA(C,250); {收盘价站上250日均线,输出线2}

2、建立技术指标公式

建立技术指标公式,供扩展数据使用。公式名称:站均累加3。代码如下:

MA50_T: INSUM('全部A股','站上均线3',1,0); {统计收盘价站上50日均线个股的累加数量,调用输出线1}

MA250_T: INSUM('全部A股','站上均线3',2,0); {统计收盘价站上250日均线个股的累加数量,调用输出线2}

3、建立板块

建立一个板块名称叫“GS均线占比扩展”,把上证指数添加进去,最好是添加两个上证指数000001和999999,这样的话两种上证指数情况下都能看到量化结果。不过板块内添加的内容越多,刷新扩展数据的时候时间就会越长(经望樱验证,对本案例确实如此)。

4、设置扩展数据

打开扩展数据管理器,分别对技术指标“站均累加3”的两个输出线MA50_T、MA250_T设置扩展数据。

设置MA50_T扩展数据:

图片

设置MA250_T扩展数据:

图片

5、建立技术指标公式

建立技术指标公式。公式名称:均线占比3。代码如下:

ALL:= BLOCKSETNUM('全部A股'); {返回该板块的股票个数}

MA50_ED:= EXTDATA_USER(8,0); {收盘价站上50日均线的个股数量。函数中的序号要和扩展数据编号对应}

MA250_ED:= EXTDATA_USER(9,0); {收盘价站上250日均线的个股数量。函数中的序号要和扩展数据编号对应}

MA50%: MA50_ED * 100 / ALL, COLORBLUE, LINETHICK2; {收盘价站上50日均线的个股数占总个股数的百分比}

MA250%: MA250_ED * 100 / ALL, COLORMAGENTA, LINETHICK2; {收盘价站上250日均线的个股数占总个股数的百分比}

25, COLORGREEN, LINETHICK2;

75, COLORCYAN, LINETHICK2;

至此,所有的技术指标以及扩展数据设置完毕。每天盘后都要执行“盘后数据下载”、刷新“扩展数据”,必要时下载“专业财务数据”。

6、副图显示

在副图点击向下的三角箭头,再点击“选择副图指标”,在“其它类型”里找到“均线占比3”,副图就能显示均线占比线条了。效果如下:

图片

方案四

方案四是在方案三的基础上加入了一个条件:上市超过250日,使公式更严谨。方案四是我的方案,也是推荐的方案。

编写公式的大体思路。需要构建一个包含函数INSUM的技术指标公式。函数INSUM要调用某个指标,故需要另外一个技术指标公式。扩展数据要调用技术指标公式,一般指函数INSUM所在的公式。还要有一个技术指标公式来调用扩展数据。所以,一般需要3种功能的技术指标公式。

1、建立技术指标公式

建立一个技术指标公式,供INSUM函数使用。公式名称:站上均线指标。代码如下:

A0:= FINANCE(42)>250; {上市超过1年}

A1:= C>MA(C,50); {收盘价站上50日均线,输出线1}

A2:= C>MA(C,250); {收盘价站上250日均线,输出线2}

MA50C_O1: IF(A0, A1, DRAWNULL); {收盘价站上50日均线且上市超过250日,输出线1。A0公式是否生效?}

MA250C_O2: IF(A0, A2, DRAWNULL); {收盘价站上250日均线且上市超过250日,输出线2}

2、建立技术指标公式

建立技术指标公式,供扩展数据使用。公式名称:站上均线累加。代码如下:

MA50_T: INSUM('全部A股','站上均线指标',1,0); {统计收盘价站上50日均线个股的累加数量,调用输出线1}

MA250_T: INSUM('全部A股','站上均线指标',2,0); {统计收盘价站上250日均线个股的累加数量,调用输出线2}

3、建立板块

建立一个板块名称叫“GS均线占比扩展”,把上证指数添加进去,最好是添加两个上证指数000001和999999,这样的话两种上证指数情况下都能看到量化结果。不过板块内添加的内容越多,刷新扩展数据的时候时间就会越长(经望樱验证,对本案例确实如此)。

4、设置扩展数据

打开扩展数据管理器,分别对技术指标“站上均线累加”的两个输出线MA50_T、MA250_T设置扩展数据。

设置MA50_T扩展数据:

图片

设置MA250_T扩展数据:

图片

5、建立技术指标公式

建立技术指标公式。公式名称:均线占比。代码如下:

A0:= FINANCE(42)>250; {上市超过1年}

ALL:= BLOCKSETNUM('全部A股'); {返回该板块的股票个数}

MA50_ED:= EXTDATA_USER(10,0); {收盘价站上50日均线的个股数量。函数中的序号要和扩展数据编号对应}

MA250_ED:= EXTDATA_USER(11,0); {收盘价站上250日均线的个股数量。函数中的序号要和扩展数据编号对应}

MA50%: MA50_ED * 100 / ALL, COLORBLUE, LINETHICK2; {收盘价站上50日均线的个股数占总个股数的百分比}

MA250%: MA250_ED * 100 / ALL, COLORMAGENTA, LINETHICK2; {收盘价站上250日均线的个股数占总个股数的百分比}

25, COLORGREEN, LINETHICK2;

75, COLORCYAN, LINETHICK2;

如何获取'全部A股'板块上市超过1年的股票个数,尚未找到简单的实现方法。目前暂时采用'全部A股'板块的股票个数。不那么简单的实现方法:1、采用“上市超过1年”这一条件,选股入板块,再统计该板块的股票个数。2、采用INSUM、EXTDATA_USER函数,和实现“均线占比”的思路类似。

至此,所有的技术指标以及扩展数据设置完毕。每天盘后都要执行“盘后数据下载”、刷新“扩展数据”,必要时下载“专业财务数据”。

6、副图显示

在副图点击向下的三角箭头,再点击“选择副图指标”,在“其它类型”里找到“均线占比”,副图就能显示均线占比线条了。效果如下:

图片

250日均线占比的当日数值为何与方案三相同,都是41.68?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多