以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- callstock语句速度问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=80202) |
-- 作者:roadpeace -- 发布时间:2015/6/28 8:15:42 -- callstock语句速度问题 测试代码及输出结果如下面 用PP13(聚丙烯,开盘时间和L一样)5分钟下测试,瞬间输出; 用rb13(螺纹,有夜盘)日线下测试,就是瞬间输出; 5分钟下测试,不知道为什么,非常慢(可以看看下面的输出结果) 5分钟下测试,如果不要红色那句,也是瞬间输出(说明就是红色那句很慢) 问题:红色那句有什么问题?为什么用rb13 5分钟来测那么慢?? 另外,好像callstock有时取的数不对,好像是跨市场或者品种的时候,但是不总是不对,所以我暂时未弄清楚什么时候会不对 -------------------------------------------------------------------------- runmode:1; if ISLASTBAR then begin
msgout(1,\'测试1:callstock取值不输出\');
hhh:=callstock(\'L09\',vtclose,6);
msgout(1,\'测试1结束\');
msgout(1,\'测试2:callstock取值并输出\');
hhh:=callstock(\'L09\',vtclose,6);
msgout(1,\'收盘价:\'&NUMTOSTR(hhh,2));
msgout(1,\'测试2结束\'); end -------------------------------------------------------------- 测试对象:PP13,5分钟线 输出结果: 2015/06/28 08:12:22 测试1:callstock取值不输出 2015/06/28 08:12:22 测试1结束 2015/06/28 08:12:22 测试2:callstock取值并输出 2015/06/28 08:12:22 收盘价:9870.00 2015/06/28 08:12:22 测试2结束 测试对象:rb13,日线 输出结果: 2015/06/28 07:51:24 测试1:callstock取值不输出 2015/06/28 07:51:24 测试1结束 2015/06/28 07:51:24 测试2:callstock取值并输出 2015/06/28 07:51:24 收盘价:9870.00 2015/06/28 07:51:24 测试2结束 测试对象:rb13,5分钟线 输出结果: 2015/06/28 07:52:05 测试1:callstock取值不输出 2015/06/28 07:52:05 测试1结束 2015/06/28 07:52:05 测试2:callstock取值并输出 2015/06/28 07:52:07 收盘价:9870.00 2015/06/28 07:52:07 测试2结束 |
-- 作者:王锋 -- 发布时间:2015/6/28 22:57:51 -- 是不是你在选项里,设置的默认内存调用的数据太大了? |
-- 作者:roadpeace -- 发布时间:2015/6/29 7:27:32 -- 默认3000根,测试是由2009/1/1开始到现在,序列模式。我的问题是,就5分钟rb13下测,并且是含红字那行,才会特别慢,不明 在日线rb13,5分钟PP13下测都不会这样,不要红字那行,同样不会
[此贴子已经被作者于2015/6/29 7:28:28编辑过]
|
-- 作者:roadpeace -- 发布时间:2015/6/29 7:30:40 -- 想了下PP好像历史不是很长,我忽略了,只能说可能callstock挺慢的吧 [此贴子已经被作者于2015/6/29 7:32:38编辑过]
|
-- 作者:roadpeace -- 发布时间:2015/6/29 7:34:10 -- 还有,为什么多了msgout那句,速度就非常慢呢???不要那句,其实速度很快的 |
-- 作者:roadpeace -- 发布时间:2015/6/29 7:39:53 -- 而且测试的代码是序列模式,并且里面也写了“if islastbar then”,那就是说只算了一次,多一句msgout需要2秒那么久吗? |
-- 作者:jinzhe -- 发布时间:2015/6/29 9:09:09 -- 把&改成+试试 |
-- 作者:roadpeace -- 发布时间:2015/6/29 9:33:06 -- 速度都差不多 msgout(1,\'收盘价:\'+NUMTOSTR(hhh,2)); msgout(1,\'收盘价:\'&NUMTOSTR(hhh,2)); msgout(1,strcat(\'收盘价:\',NUMTOSTR(hhh,2))); 以上3句随便只要有一句,速度就慢
|
-- 作者:jinzhe -- 发布时间:2015/6/29 9:38:16 -- 我本地测试就没有这个问题,用户是不是加载的数据太多了 |
-- 作者:roadpeace -- 发布时间:2015/6/29 9:47:35 -- rb13合约,5分钟线,由2009/01/01开始到现在 序列模式,是测试(ctrl+F7那里) 不要那句msgout,基本就是瞬出,加了,就是两秒,按道理应该不用那么久吧? 我那里有好多句msgout,就有关callstock的,加了,就用多两秒(不加那句,保留其他4句msgout基本就是0秒) 而且那个callstock的,只要不是msgout,都是瞬出的(还有没别的语句会很慢暂时不知道) 帮忙按我那个rb13,5分钟,2009/01/01开始来测测试试呗?
|