欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 主力合约与非主力合约比较与显示应该怎么写?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3378人关注过本帖树形打印复制链接

主题:主力合约与非主力合约比较与显示应该怎么写?

帅哥哟,离线,有人找我吗?
FireScript
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/20 13:14:50    Post IP:180.169.30.6[显示全部帖子]

编写中,请稍等。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/12/20 13:47:14    Post IP:180.169.30.6[显示全部帖子]

逐K下运行。

VARIABLE:arry[12]:=0;
t:=STRRIGHT(STKLABEL ,2);
z:=STRTRIMRIGHT(STKLABEL ,t );//截取出品种名称,如AL,RB
temp:='';

if ISLASTBAR then begin //如果不加这一句,历史K都走一次循环,会非常卡。
FOR  i=1 to 12 do
begin
if i<10 then temp:=STRCAT(z,'0'+NUMTOSTR(i,0)); else if then temp:=STRCAT(z,NUMTOSTR(i,0));//拼接品种代码名称
openints:=CALLSTOCK(temp,vtOPENINT,6,0);//直接引用持仓量
if not(openints) then arry[i]:=0;else if then arry[i]:=openints;//如果取不到持仓量数据,直接写入0.
end
end

op1:=0;//最大持仓量合约
op2:=0;//最小持仓量合约

for j=1 to 12 do
begin
if HOD2(arry, 0, arry[j])=1 then op1:=j;
if HOD2(arry, 0, arry[j])=2 then op2:=j;
if op1*op2 <>0 then break;
end

//到这里已经挑选出持仓量第一和第二的合约了 分别用op1和op2表示 ,使用的时候注意这2个值是1到12的值。

//剩下的引用品种对应的均线,请自行补充完整。

[此贴子已经被作者于2017/12/20 14:02:33编辑过]


命数如织,当如磐石。
 回到顶部