以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]请老师帮忙写段代码  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=96129)

--  作者:jszzm
--  发布时间:2016/4/12 16:19:47
--  [求助]请老师帮忙写段代码
希望利用callstock函数读取00合约VOL,再循环与00合约同品种各月份合约VOL比对,找出VOL相同的,从而得到当前00合约对应的具体合约代码。辛苦老师帮忙,谢谢!
--  作者:jinzhe
--  发布时间:2016/4/12 16:31:54
--  

 


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;//跨年判断


--  作者:jszzm
--  发布时间:2016/4/13 14:43:41
--  
  谢谢老师!
--  作者:jszzm
--  发布时间:2016/4/13 15:31:07
--  
老师,n1:=numtostr(nn,0);显示不对,nn=9,但n1=1000002,我是用代码后加LINETHICK0显示的。
下面2行也没显示:
drawtext(nn>ref(nn,1) and nn<>1,h,n1)pxup20;//通常的判断方式
drawtext(ref(nn,1)=12 and nn=1,h,n1)pxup20;//跨年判断

--  作者:jinzhe
--  发布时间:2016/4/13 15:37:42
--  
这两段代码是显示显示字符型数据的办法,是显示在k线图上的字符型数据。你这样显示的是数字型数据,是不对的,你补充下各个合约的日线数据即可
--  作者:jinzhe
--  发布时间:2016/4/13 15:41:29
--  
最终结果是nn,n1是用来显示在k线图上的字符型数据,你不要用来做数字型数据判断
--  作者:jszzm
--  发布时间:2016/4/13 16:03:39
--  
nn=9的结果是对的。n1属于字符型,LINETHICK0划线显示是数字型,所以不对,是这样理解吗?
但下面2行代码都没有在H位置显示,是什么原因呢?
drawtext(nn>ref(nn,1) and nn<>1,h,n1)pxup20;//通常的判断方式
drawtext(ref(nn,1)=12 and nn=1,h,n1)pxup20;//跨年判断

--  作者:jinzhe
--  发布时间:2016/4/13 16:07:08
--  

1.对,字符型数据不能用数字型数据的输出方法输出

2.用日k线,比较容易看结果