通达信智能化显示股东人数的变化主图指标 源码附图
这里给大家分享代码,教你如何让自己的主图指标智能化显示股东人数的变化!相比于前面的股东人数器,这个直接让你的通达信主图指标智能化显示股东人数变化,还是相当人性化的,全网通达信主图指标都可以添加使用,源代码如下。
代码是直接调用股东人数数据进行同步运算,与电脑通达信软件F10里面的股东人数信息同步!因上市公司股东人数数据并非每天实时更新,正常是每3个月随季报至少更新一次,因此股东人数也具有一定的滞后性,这里仅供参考。当然也有些上市公司股东人数更新频率是比较快的,一个月更新多次以上的,但无论如何,都可以在上面代码中得到提现!
其实,写这个股东人数连续变化也是有难度的,比如你要在主图显示股东人数连续几连降,正常逻辑是向前找到第1个上升的位置开始,然后往后面计数有几个下降。如下图显示诚邦股份股东人数2连降,与股东人数副图指标相匹配,在下面副图中向前找到第1个股东人数上升为起点,如下图中的黄色箭头,然后往后统计一共多少个下降坡度,这就是连续变化的逻辑。
GDRS:=GPJYVALUE(1,1,1);
TS:=BARSLAST(GDRS!=REF(GDRS,1));
人数变化:=100*REF(GDRS,TS)/REF(GDRS,TS+1)-100;
TS1:=BARSLAST(GDRS<REF(GDRS,1));
连升:=SUM(GDRS>REF(GDRS,1),TS1+1);
连升幅度:=IF(连升>=1,100*GDRS/REF(GDRS,IF(TS1=DRAWNULL,BARSCOUNT(C),TS1))-100,0);
TS2:=BARSLAST(GDRS>REF(GDRS,1));
连降:=SUM(GDRS<REF(GDRS,1),TS2+1);
连降幅度:=IF(连降>=1,100*GDRS/REF(GDRS,IF(TS2=DRAWNULL,BARSCOUNT(C),TS2))-100,0);
DRAWTEXT_FIX(ISLASTBAR,0.005,0.26,0,IF(连升>1,STRCAT('股东人数',STRCAT(CON2STR(连升,0),STRCAT('连升:',STRCAT('+',STRCAT(CON2STR(连升幅度,5),'%'))))),
IF(连升=1,STRCAT('股东人数变化:',STRCAT('+',STRCAT(CON2STR(人数变化,5),'%'))),DRAWNULL))),COLORRED;
DRAWTEXT_FIX(ISLASTBAR,0.005,0.26,0,IF(连降>1,STRCAT('股东人数',STRCAT(CON2STR(连降,0),STRCAT('连降:',STRCAT(CON2STR(连降幅度,5),'%')))),
IF(连降=1,STRCAT('股东人数变化:',STRCAT('-',STRCAT(CON2STR(人数变化,5),'%'))),DRAWNULL))),COLORGREEN;