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


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

   

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


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

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

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


加好友 发短信
等级:论坛游侠 帖子:414 积分:790 威望:0 精华:0 注册:2011/8/4 14:50:40
主力合约与非主力合约比较与显示应该怎么写?  发帖心情 Post By:2017/12/20 9:53:58    Post IP:182.97.26.124[只看该作者]

想实现这样的功能,并用代码写出,主要包含这几点:
1.根据同品种所有合约持仓量大小比较选出品种的主力合约和次主力合约;(持仓量最大的为主力合约,第二大的为次主力合约)
2.比较主力合约和次主力合约的ma20均线的大小;
3.ma更大的那个合约,将合约的尾数显示在最后一根K右侧。(比如1801合约就显示01)

谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
jiaoyizhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:414 积分:790 威望:0 精华:0 注册:2011/8/4 14:50:40
  发帖心情 Post By:2017/12/20 11:14:01    Post IP:182.97.26.124[只看该作者]

没人知道吗

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2017/12/20 13:08:24    Post IP:180.169.30.6[只看该作者]

http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=160506&page=2

这里有一个分享的,您可以看看


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]


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