把一字跌停等于0的情况排除后排序
-
相关简介:编写要求: www.guhai.com.cn 股海网解答: 网友求助: 有两个小问题: 1, td:=(c/ref(c,1)=0.901 and L=C and h=c) or (c/ref(c,1)=0.951 and L=C and h=c and (STRNCMP(STKNAME, 'ST', 2)=0 or STRNCMP(STKNAME, '*ST', 3)=0));//一字跌停 V1:if(c/ref(c,1)=1.049 and h=c and L=C and (STRNCMP(
-
文章来源:股海网作者:股海网发布时间:2016-01-09浏览次数:
编写要求:
www.guhai.com.cn股海网解答:
网友求助:
1,
td:=(c/ref(c,1)<=0.901 and L=C and h=c) or (c/ref(c,1)<=0.951 and L=C and h=c and (STRNCMP(STKNAME, 'ST',
2)=0 or STRNCMP(STKNAME, '*ST', 3)=0));//一字跌停
V1:if(c/ref(c,1)>=1.049 and h=c and L=C and (STRNCMP(STKNAME, 'ST', 2)=0 or STRNCMP(STKNAME, '*ST', 3)=0),0.05*2,if(c/ref(c,1)>=1.099 and h=c and L=C,0.1*2,IF(NOT(td),(H/L-1),0)))*100,COLORSTICK,linethick3;//振幅
VV:=V1;//振幅。 AND NOT(V1<>0)排除了跌停等于0的情况。
E:=SORT(VV,0,IF(DATACOUNT>135,DATACOUNT-135,1),DATACOUNT);
if DATACOUNT>135 then
SMIN:=(VV[DATACOUNT-135+1]+VV[DATACOUNT-135+2]+VV[DATACOUNT-135+3])/3;//振幅最小3均
else
SMIN:=(VV[2]+VV[3]+VV[4])/3;//振幅最小3均
SMIN1:SMIN;
上面的公式如何修改?如果最小、次小、三小,都为0或部分为0,计算结果就不更精确,如何排除最小、次小、三小等等所有为0的情况,使计算结果更精确?
2,
飞狐公式计算,有的不符合条件或没有数据,设为空,就如同partline(c>o,c)显示的结果一样,但partline不能参加进入函数的运算。
飞狐怎么表示?通达信是null表示。partline可以为空显示,但是它不能参加公式的计算。通达信的IF(C>M5,M5,DRAWNULL)却可以。
举个if指标例子:if(条件,数据,0);
请不要让输出0,让输出为空,而且能参加其他函数的计算,这才是我需要的。
用什么替代的办法也可。
先谢谢了。
祝您天天涨停。
2,飞狐没有无效数函数,这是不便之处,但视情况可以利用SETLBOUND函数解决无效数问题