以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  VBA中的Stock.MapValue类型改进建议  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=87741)

--  作者:fengxiaoyong
--  发布时间:2015/11/26 1:23:55
--  VBA中的Stock.MapValue类型改进建议

 Stock.MapValue这种类型一般是针对板块名称或者股票代码,涨幅建立对应字典,经常需要对此进行排序,单纯用VBA的stock.array类型,虽然具备排序功能,但是排序后不知道第一名是哪个板块或者股票,VBA也不具备PEL的HOD2或者LARGE这样的函数,因此建议VBA增加对字典类型的排序功能,例如增加如下函数原型:sorted(dic,value,reverse)

解释:dic为比较函数,value 为排序的对象(这里指键或键值),

reverse:注明升序还是降序,True--降序,False--升序(默认)

[此贴子已经被作者于2015/11/26 1:25:34编辑过]

--  作者:yukizzc
--  发布时间:2015/11/26 9:24:31
--  
这个你创建array数组对象,里面这类排序功能不就都有的吗
--  作者:fengxiaoyong
--  发布时间:2015/11/26 10:09:14
--  
 如果我通过VBA建立了一个板块指数arrary,通过涨幅排列出来了,那如何知道排在最前面的是哪个板块呢,只知道数值
--  作者:yukizzc
--  发布时间:2015/11/26 10:50:23
--  

array

arraystring

这两个对象,下面这个建立好板块合约代码进去。然后对应序号的涨幅传入array对象进行排序,这个序号就是对应string里面的品种

不晓得这样可否满足


--  作者:jimcnab
--  发布时间:2018/9/12 17:28:30
--  
 本人遇到同样的问题。

例如
板块A  涨幅 6%
板块B  涨幅 5%
板块C  涨幅 7%

板块名称放入arraystring,涨幅放入array,array排序后从高到低排序后变为:

7%
6%
5%

但是我却不知道哪个板块涨幅第一,因为我不知道array里面7%对应的是哪个板块。楼主说的MapValue增加排序功能就是想解决这个问题。



--  作者:yukizzc
--  发布时间:2018/9/12 22:08:17
--  

你可以看看金字塔目前推出的python功能

如果你了解其中pandas的模块的话,相信应该知道怎么做