以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  对一个K线上引用的N个序列变量进行排序  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=55157)

--  作者:qq代人发帖
--  发布时间:2013/8/14 17:05:06
--  需要编写服务的朋友进(有偿)

请教

如果对一个K线上引用的N个序列变量进行排序,并取出第一大值,第二大值,第三大值

要这样做就必须对一根K线上的N个序列变量赋值给一个数组A,然后进行构建排序循环
VOL01:=STKINDI(\'C01\',\'基本元素.vol1\',0,6,0);
VOL03:=STKINDI(\'C03\',\'基本元素.vol1\',0,6,0);
VOL05:=STKINDI(\'C05\',\'基本元素.vol1\',0,6,0);
VOL07:=STKINDI(\'C07\',\'基本元素.vol1\',0,6,0);
VOL09:=STKINDI(\'C09\',\'基本元素.vol1\',0,6,0);
VOL11:=STKINDI(\'C11\',\'基本元素.vol1\',0,6,0);

比如,我在玉米指数当天K线上面引用了玉米各个月份的当天的成交量,我要把各个月份的当天的成交量进行排序

并取得成交量前三的值:VH1:=?,VH2:=?,VH3:=?
只要取得值即可,不需要知道哪个月份是第几

就是排序取得VOL01-----VOL11中前三名,并赋值给序列变量:VH1:=?,VH2:=?,VH3:=?


--  作者:jinzhe
--  发布时间:2013/8/14 17:10:00
--  

http://www.weistock.com/bbs/dispbbs.asp?BoardID=10&ID=48494&skin=0

 


--  作者:hlrhjh
--  发布时间:2013/8/14 17:10:17
--  

感觉这个问题好纠结,如何实现啊


--  作者:hlrhjh
--  发布时间:2013/8/14 17:11:45
--  
在普通的编程中这个问题不纠结,但是一旦在K线图中这样的编程就觉得很纠结,感觉会牵一发动全身
--  作者:hlrhjh
--  发布时间:2013/8/14 17:22:17
--  
这是一个序列变量赋值给数组(而且是序列数组),在序列数组中排序序列变量,然后又把结果赋值给序列变量
--  作者:hlrhjh
--  发布时间:2013/8/14 17:25:31
--  
序列变量就是一个一K线的序列为索引值的数组元素,当一个K线有N个序列变量,对这根K线上的N个序列变量赋值给一个数组,想到于2元数组了,排序后又赋值给序列变量
--  作者:hlrhjh
--  发布时间:2013/8/14 17:29:13
--  
就是说,序列变量A,B,C,D,E,F,装进序列数组X{},排序后,输出排序值,PX1:=?,PX2:=?,PX3:=?,。。。。。
--  作者:hlrhjh
--  发布时间:2013/8/14 17:42:48
--  

谢谢,原来有专门的函数啊,我研究看看能不能用得上


--  作者:hlrhjh
--  发布时间:2013/8/14 18:08:41
--  做了很多多余的功夫
本来运算一次,获得第N个排名的值,但是这样子的有多少个元素就要运算多少次你这个函数,才能获得排名为N的值
--  作者:hlrhjh
--  发布时间:2013/8/14 18:20:10
--  
应该设置一个获取排名为N的元素的值的函数HOD3(X,N),比如获取第一名的值:第一名的值:=HOD3(X,1)