公式网-网站导航


网站搜索:  

公式指标网 发表于2016/1/9 6:53:01

把一字跌停等于0的情况排除后排序

编写要求:

 

www.gszx.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,让输出为空,而且能参加其他函数的计算,这才是我需要的。

用什么替代的办法也可。


先谢谢了。
祝您天天涨停。

 
解答如下:
1,如果最小、次小、三小,都为0,设值为无穷大

2,飞狐没有无效数函数,这是不便之处,但视情况可以利用SETLBOUND函数解决无效数问题

 



网站搜索:  



Copyright © 2009-2010 gszb.com ™,All Rights Reserved. 
公式网-www.gszx.com.cn-股票指标公式网