以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  能否增加一个取当前主力合约是几月的函数  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=81811)

--  作者:wudin23
--  发布时间:2015/7/29 14:28:29
--  能否增加一个取当前主力合约是几月的函数
请问在以后的版本中能否增加一个取当前主力合约是几月的函数。

比如输入"IF",返回08。或者直接调用返回当前监控品种对应的主力合约月份也行

这样在映射交易的时候调用起来会方便不少,另外如果需要程序自动移仓也很有用。谢谢了!

--  作者:十世
--  发布时间:2015/7/29 14:34:40
--  
可以看看DYNAINFO(210) 的具体用法
--  作者:yukizzc
--  发布时间:2015/7/29 14:35:05
--  

用vba可以完成这些工作,比如这里。另外自动移仓论坛有相关例子的,您可以搜下

http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=2670


--  作者:wudin23
--  发布时间:2015/7/29 14:38:03
--  
谢谢回复。dynaino我查了帮助,只到207嘛??
--  作者:十世
--  发布时间:2015/7/29 14:41:14
--  

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

请看改连接 必须3.61及以上版本才有,建议升级到最新3.63版


--  作者:jinzhe
--  发布时间:2015/7/29 14:44:35
--  


v0:=callstock(\'if00\',vtvol,6);
v1:=callstock(\'if01\',vtvol,6);
v2:=callstock(\'if02\',vtvol,6);
v3:=callstock(\'if03\',vtvol,6);
v4:=callstock(\'if04\',vtvol,6);
v5:=callstock(\'if05\',vtvol,6);
v6:=callstock(\'if06\',vtvol,6);
v7:=callstock(\'if07\',vtvol,6);
v8:=callstock(\'if08\',vtvol,6);
v9:=callstock(\'if09\',vtvol,6);
v10:=callstock(\'if10\',vtvol,6);
v11:=callstock(\'if11\',vtvol,6);
v12:=callstock(\'if12\',vtvol,6);
nn:if (v0=v1 ,01 ,if(v0=v2,02,if(v0=v3,03,if(v0=v4,04,if(v0=v5,05,if(v0=v6,06,if(v0=v7,07,if(v0=v8,08,if(v0=v9,09,if(v0=v10,10,if(v0=v11,11,12)))))))))));
n1:=numtostr(nn,0);
drawtext(nn>ref(nn,1) and nn<>1,h,n1)pxup20;//通常的判断方式
drawtext(ref(nn,1)=12 and nn=1,h,n1)pxup20;//跨年判断

 

 

nn为所求值


--  作者:wudin23
--  发布时间:2015/7/29 14:55:05
--  
谢谢各位!
--  作者:wudin23
--  发布时间:2015/7/29 14:58:19
--  
谢谢!这种方式我有个疑问,如果用高频扫描固定轮询的话,在取v0的时候的取值,会不会又瞬间变化了,导致和后面v1-v12都不一样?



以下是引用jinzhe在2015/7/29 14:44:35的发言:


v0:=callstock(\'if00\',vtvol,6);
v1:=callstock(\'if01\',vtvol,6);
v2:=callstock(\'if02\',vtvol,6);
v3:=callstock(\'if03\',vtvol,6);
v4:=callstock(\'if04\',vtvol,6);
v5:=callstock(\'if05\',vtvol,6);
v6:=callstock(\'if06\',vtvol,6);
v7:=callstock(\'if07\',vtvol,6);
v8:=callstock(\'if08\',vtvol,6);
v9:=callstock(\'if09\',vtvol,6);
v10:=callstock(\'if10\',vtvol,6);
v11:=callstock(\'if11\',vtvol,6);
v12:=callstock(\'if12\',vtvol,6);
nn:if (v0=v1 ,01 ,if(v0=v2,02,if(v0=v3,03,if(v0=v4,04,if(v0=v5,05,if(v0=v6,06,if(v0=v7,07,if(v0=v8,08,if(v0=v9,09,if(v0=v10,10,if(v0=v11,11,12)))))))))));
n1:=numtostr(nn,0);
drawtext(nn>ref(nn,1) and nn<>1,h,n1)pxup20;//通常的判断方式
drawtext(ref(nn,1)=12 and nn=1,h,n1)pxup20;//跨年判断

 

 

nn为所求值


--  作者:yukizzc
--  发布时间:2015/7/29 15:04:12
--  

不会,代码执行速度是非常快的,就这12个取成交量的速度很快的股指行情0.5秒才一跳动