以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 怎么统计数组的出现某个值得次数 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=162003) |
-- 作者:wsuong -- 发布时间:2018/3/12 11:53:43 -- 怎么统计数组的出现某个值得次数 RUNMODE:0; VARIABLE:kdz[]=0; asx:STKINDI(\'\',\'dsg.asx\',2,-1); if asx>0 then kdz:=asx; 数组kdz已经定义好 就想在asx>0时,统计asx的值在数组kdz中出现的次数,asx为变量。 比如 当asx>0时,数组中的值为【1,3,5,5,3,2,6,4,6,4,3,2,4,7.....4】最后一次asx>0时数组中的值为4。 好了,现在就是想在最后一次asx>0时统计数组中出现4的次数。 金字塔的教程太有限了,看了很多还是解决不了问题。 还有个小问题,就是怎么调出数组中的值,用哪个函数啊?
|
-- 作者:wenarm -- 发布时间:2018/3/12 13:20:40 -- 只能用for循环遍历了。 你上面的写法用数组没有意义,stkindi引用过来的值本身就是一个序列变量,你把它就直接当成一个数组进行取值就行了,干嘛还要赋值给一个空数组。 aaa:count(asx>0,0); |
-- 作者:FireScript -- 发布时间:2018/3/12 13:22:17 -- asx引用过来就相当于一个数组了, count(asx=4,0) 返回值就是4出现的次数。
没必要塞到数组里面去。
|
-- 作者:wsuong -- 发布时间:2018/3/12 23:02:04 -- 因为当asx>0时不知道赋的是什么值。而且asx>0时赋的值有几百种。 我用for循环也不行。 if(asx>0,count(asx=asx[DATACOUNT],0),0) ;这样行吗?
|
-- 作者:wsuong -- 发布时间:2018/3/12 23:02:15 -- 因为当asx>0时不知道赋的是什么值。而且asx>0时赋的值有几百种。 我用for循环也不行。 if(asx>0,count(asx=asx[DATACOUNT],0),0) ;这样行吗?
|
-- 作者:FireScript -- 发布时间:2018/3/13 9:37:42 -- 不行的 这个实现不了你要的。 此外asx[DATACOUNT]除了最后一个K,在其他K上都等于是未来引用了,超出数组长度了其实。 |