以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  能否实现对一个品种的所有合约持仓量排序并取前2名  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=150100)

--  作者:srxiaobing
--  发布时间:2017/4/6 10:45:11
--  能否实现对一个品种的所有合约持仓量排序并取前2名
例如 RB 从01-12的合约 取到合约的持仓量 并排序 取出前2个持仓量大的,谢谢  !
--  作者:wenarm
--  发布时间:2017/4/6 10:50:24
--  

分析---指标排序

[此贴子已经被作者于2017/4/6 10:50:44编辑过]

--  作者:srxiaobing
--  发布时间:2017/4/6 11:45:15
--  
用代码实现呢 ?
--  作者:wenarm
--  发布时间:2017/4/6 12:06:40
--  

使用stkindi引用各个合约的成交量,然后将其结果赋值到一个数组中,对数组进行排序、

 


--  作者:srxiaobing
--  发布时间:2017/4/6 15:56:31
--  
VARIABLE:x[12]=0;
x[1]:=CALLSTOCK(\'rb01\',vtOPENINT,6,-1),NODRAW;
x[2]:=CALLSTOCK(\'rb02\',vtOPENINT,6,-1),NODRAW;
x[3]:=CALLSTOCK(\'rb03\',vtOPENINT,6,-1),NODRAW;
x[4]:=CALLSTOCK(\'rb04\',vtOPENINT,6,-1),NODRAW;
x[5]:=CALLSTOCK(\'rb05\',vtOPENINT,6,-1),NODRAW;
x[6]:=CALLSTOCK(\'rb06\',vtOPENINT,6,-1),NODRAW;
x[7]:=CALLSTOCK(\'rb07\',vtOPENINT,6,-1),NODRAW;
x[8]:=CALLSTOCK(\'rb08\',vtOPENINT,6,-1),NODRAW;
x[9]:=CALLSTOCK(\'rb09\',vtOPENINT,6,-1),NODRAW;
x[10]:=CALLSTOCK(\'rb10\',vtOPENINT,6,-1),NODRAW;
x[11]:=CALLSTOCK(\'rb11\',vtOPENINT,6,-1),NODRAW;
x[12]:=CALLSTOCK(\'rb12\',vtOPENINT,6,-1),NODRAW;
01排名:HOD2(x,12,x[1]),NODRAW;
02排名:HOD2(x,12,x[2]),NODRAW;
03排名:HOD2(x,12,x[3]),NODRAW;
04排名:HOD2(x,12,x[4]),NODRAW;
05排名:HOD2(x,12,x[5]),NODRAW;
06排名:HOD2(x,12,x[6]),NODRAW;
07排名:HOD2(x,12,x[7]),NODRAW;
08排名:HOD2(x,12,x[8]),NODRAW;
09排名:HOD2(x,12,x[9]),NODRAW;
10排名:HOD2(x,12,x[10]),NODRAW;
11排名:HOD2(x,12,x[11]),NODRAW;
12排名:HOD2(x,12,x[12]),NODRAW;
我这边排序已经出来了 但是我要取前2名的合约要怎么取 

--  作者:wenarm
--  发布时间:2017/4/6 16:12:17
--  
for i=1 to 12  do BEGIN
 if HOD2(x,12,x[i]) =1 then aa:i;
 if HOD2(x,12,x[i]) =2 then bb:i;
end