以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 监控品种数量,与 执行次数 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=79321) |
-- 作者:塔尖 -- 发布时间:2015/6/3 9:04:52 -- 监控品种数量,与 执行次数 以下测试代码,后台执行,序列模式,固定间隔
IF (30 >=12+n) THEN BEGIN n:=n+10; MSGOUT(1 ,NUMTOSTR((n+12) , 1) );SLEEP(2000); MSGOUT(1 ,NUMTOSTR(n , 1) ); SLEEP(2000); end 但是,监控几个品种(即使休市品种)就执行几遍,问题在哪里? 怎么才能执行的次数与监控品种数量无关? 谢谢。
以下是监控 4 个品种是的执行情况:
2015/06/03 08:57:02 23.0 |
-- 作者:wenarm -- 发布时间:2015/6/3 9:15:48 -- 你的条件判断语句的作用是什么? 第一次:n=1,条件符合执行一次。 第二次:n=11,条件语句30>=23,条件符合,执行内部语句,n=21; 第三次判断就不符合你的条件语句了。 |
-- 作者:塔尖 -- 发布时间:2015/6/3 9:23:30 -- 你说的对,应该执行 2 次。 但是,为什么每一次都执行了4遍(与监控的数量相同)呢?
我的本意是执行一遍即可。 |
-- 作者:wenarm -- 发布时间:2015/6/3 9:47:16 -- 1.每个品种都会执行一次,就是4次,条件语句符合2次。打印输出的语句就是4(品种)*2(打印语句)*2(条件符合次数)。 2.你如果只想打印一边的话,可以限制你的条件。 |
-- 作者:wenarm -- 发布时间:2015/6/3 9:55:00 -- 没有行情的,是不会打印输出的。 [此贴子已经被作者于2015/6/3 9:55:32编辑过]
|
-- 作者:塔尖 -- 发布时间:2015/6/3 10:21:17 -- 感谢 wenarm 的耐心答复 !
但是我觉得 监控品种的数量与执行的次数应该没有关系, 否则监控一个版块、市场,要执行多少遍了,呵呵。
期待其他权威答复,谢谢!
|
-- 作者:yukizzc -- 发布时间:2015/6/3 10:24:58 -- 代码当然是在你所有监控的品种上进行计算的,就好比你后台交易监控100个品种。那当然我是去交易这100个品种,如果就执行一次那岂不是大大问题了。 |
-- 作者:wenarm -- 发布时间:2015/6/3 10:38:58 -- 1.程序判断条件执行的次数只和你的判断条件有关系。 2.你监控的每个品种,都会进行监控然后打印输出。 1,2两个组合一起就是你一共打印的次数(类似双重循环的结构) 例如:你上面的打印输出16句话。是判断程序执行2次的结果。1次打印8条语句。 在这8条语句中,每2条一组,代表一个品种共计4个品种。
|
-- 作者:塔尖 -- 发布时间:2015/6/3 11:15:51 -- 感谢楼上 二位 的回答!
以上的测试代码,主要语句 msgout,是通用的, 输出的次数与监控的品种数量相同,明白的。
现在加入一条买入语句:
GLOBALVARIABLE: n=1; IF (30 >=12+n) THEN BEGIN n:=n+10;
TBUY(1,1,LMT,0.01,0,\'账户\',\'品种\'); SLEEP(2000); MSGOUT(1 ,NUMTOSTR((n+12) , 1) ); SLEEP(2000);
输出结果如下:
监控4个品种时(有一个欧洲品种,休市中,不应该起作用啊),msgout输出 8 遍 (4*2), 但是买入的执行了 5 遍,(4 + 1 ?)。
监控3个品种时(有一个欧洲品种,休市中),msgout输出 6 遍 (3*2), 但是买入的执行了 4 遍,(3 + 1 ?)。
问题是:第二轮,为什么 买入仅 执行了 1遍 呢?
|
-- 作者:塔尖 -- 发布时间:2015/6/3 11:26:40 -- 主要是我不想要重复的执行交易。
比如:我的程序里,有恒指,金,银,dax,的判断条件。 因为他们的 交易时间各不相同。有的交易时段交叉。
那么监控这4个品种。交叉时段,比如恒指符合条件,买入4次。 金 符合条件,也重复买入了?
如何做到,只买入 1 次呢? (我现在只能监控一个 全天候交易品种 的笨方法) [此贴子已经被作者于2015/6/3 11:28:11编辑过]
|