以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  如何实现窗体的重复使用和改编?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=31084)

--  作者:ljwgbb
--  发布时间:2012/12/3 12:05:02
--  如何实现窗体的重复使用和改编?

当前有一个套利窗体,名为taoliV1,主要实现两个品种之间的套利操作;

现在我需要对多个品种进行操作,但受限于金字塔VBS的全局参数设置,不能多次利用该窗体进行操作。

 

请问我如何高效地复制该窗体功能,以实现我上述的需求!

多谢


--  作者:jinzhe
--  发布时间:2012/12/3 15:28:14
--  

 你好,工作人员正在处理


--  作者:rushtaotao
--  发布时间:2012/12/3 15:31:03
--  
复制窗体,把函数名字给换了,然后保存宏 宏名也换了
--  作者:guotx2010
--  发布时间:2012/12/3 15:50:06
--  
光复制窗体是没有用的,你需要用变量来记录不同的参数设置,可以使用同一个窗体,设置一个标识,按照标识分别保存到ini文件的不同节,然后使用数组来存储这些参数,通过循环来处理每一条不同的设置。
[此贴子已经被作者于2012-12-4 8:04:34编辑过]

--  作者:ljwgbb
--  发布时间:2012/12/3 16:14:16
--  
谢谢诸位的回答图片点击可在新窗口打开查看
To  guotx2010:有没有相应的例子哈

--  作者:guotx2010
--  发布时间:2012/12/4 8:21:55
--  闪电手下单的停损价是什么意思

例子比较复杂,我给你说说具体的思路吧:

 

ini文件的组织方式如下:

[Gen]

Count=2                  

 

[test1]

code=IF12

market=ZJ

参数1=8

参数2=9

参数3=7

 

[test2]

code=IF01

market=ZJ

参数1=10

参数2=11

参数3=12

 

...依次类推,Gen节的Count用于记录一共有多少个参数组合

 

窗体设计时,用一个标识项目来标记本条参数是对应ini那条,即test1,2等的哪一个节,保存的时候对应保存到该节,这个标识还用于读取对应的ini那个节的参数到窗体上。

 

以上是窗体设计和ini文件设计,下面说说策略如果循环处理不同的节,进行开平仓处理逻辑。

1、定义一个数组,aTest(),在模块开始的地方,如:private aTest()

2、在Application_VBAStart事件中读取ini文件,放入数组aTest,数组大小根据参数中的Count重新确定大小,语句redim aTest(Count,30)

3、数组行之间循环,分别处理。

4、用一个定时器来每隔一定时间间隔执行一次循环体。

 

 

 

 

 


--  作者:ljwgbb
--  发布时间:2012/12/5 5:49:36
--  
多谢详尽的解析^_^
但我担心按照上述的方法,还是避免不了使用全局变量的混乱不一致,比如参数1若为全局变量的话

--  作者:guotx2010
--  发布时间:2012/12/5 8:08:05
--  
读进数组以后是分别存储的,怎么会混乱呢?
--  作者:ljwgbb
--  发布时间:2012/12/17 14:38:01
--  
一个窗体A设计好后,复制其代码,并将窗体名字和全局变量进行整体替换,形成窗体B。现在表现如下:
① 同一台电脑同一个软件平台内:A或B启动,另一个不能使用;
② 同一台电脑不同路径的两个软件:A或B启动,另一路径A或B均能使用。
请问上述问题的出现原因及如何处理?
多谢

--  作者:王锋
--  发布时间:2012/12/17 14:49:26
--  
代码贴过来看看