以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  这个循环写法应该怎么写  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=160552)

--  作者:jiaoyizhe
--  发布时间:2017/12/20 13:27:44
--  这个循环写法应该怎么写
N为1到6的数字
写一个循环写法:
n为1时显示01合约,也就是close1对应为橡胶01的close;
n为2时显示02合约,也就是close2对应为橡胶02的close;
n为3时显示03合约,也就是close3对应为橡胶03的close;
……
谢谢


--  作者:FireScript
--  发布时间:2017/12/20 13:49:18
--  
原帖已经回复,去原帖看下我的回复。你说的这个已经涵盖在那个代码里面了。
--  作者:jiaoyizhe
--  发布时间:2017/12/20 14:01:39
--  
哥,我用自己的一个品种一个品种和一个合约一个合约的写法取值完成了主力非主力取值。
看不懂你那写法。
现在就差这部分了,方便复制一下咋写么?
就是主力非主力的合约对应哪个月份都实现了,现在又要返回去取值两个合约的开高低收了


--  作者:FireScript
--  发布时间:2017/12/20 14:08:31
--  

图片点击可在新窗口打开查看

 

t:=STRRIGHT(STKLABEL ,2);
z:=STRTRIMRIGHT(STKLABEL ,t );//截取出品种名称,如AL,RB

上面是取得当前品种是那个品种,是al还是rb

下面这部分是拼接合约代码的代码

从01拼接到12

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));//拼接品种代码名称

//使用temp的代码

end


--  作者:jiaoyizhe
--  发布时间:2017/12/20 14:15:16
--  
还是不明白啥意思  
现在我已经主力次主力取值成功了。比如螺纹知道了是05主力、01次主力
现在我需要用K1和k2分别自动取值到这个动态的主力和次主力的close进行加工

就这……怎么写?

--  作者:FireScript
--  发布时间:2017/12/20 14:27:07
--  

图片点击可在新窗口打开查看

t:=STRRIGHT(STKLABEL ,2);
z:=STRTRIMRIGHT(STKLABEL ,t );//截取出品种名称,如AL,RB

 

//n是从1到12.m也是1到12. 假设这2变量个是你比较之后取到的最大和次大合约对应的数值(1-12)。

 

if n<10 then k1code:=STRCAT(z,\'0\'+NUMTOSTR(n,0)); else if then k1code:=STRCAT(z,NUMTOSTR(n,0));//拼接品种代码名称

if m<10 then k2ode:=STRCAT(z,\'0\'+NUMTOSTR(m,0)); else if then k2code:=STRCAT(z,NUMTOSTR(m,0));//拼接品种代码名称

 

k1:callstock(k1code,vtclose,6,0);

k2:callstock(k2code,vtclose,6,0);//callstock参数你根据需求自己可以改下


--  作者:jiaoyizhe
--  发布时间:2017/12/20 15:43:50
--  
temp
k1code
 k2code
总是提示重复

--  作者:FireScript
--  发布时间:2017/12/20 15:49:13
--  

我测试都正常啊, 你是不是改了什么。


--  作者:jiaoyizhe
--  发布时间:2017/12/20 16:14:10
--  
泪奔  …………………………纠结了一下午 
啥也没改  就是不行

--  作者:FireScript
--  发布时间:2017/12/20 16:18:30
--  
代码都贴出来吧