以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp)
-- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5)
---- GetHistoryData 不对,让我一个脑袋两个大.... (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=81400)
|
-- 作者:wsslei
-- 发布时间:2015/7/20 11:08:50
-- GetHistoryData 不对,让我一个脑袋两个大....
问题是这样的,
PEL+ VBS, 之前用2.962,写C++, VBS 用gethistorydata 取 PEL的historydata, 1m 和分笔生成的5s 数据,都对。
今天加装了3.63, 重新下载了 5s,1m,图表都能显示数据,VBS 用gethistorydata 取 PEL的historydata, 就只能不对了。 1m实际有11万条,只能取出24XXX条,同理 5s只能取出14XXX条。
这种错,都没法调试的,请工程师指点,我感觉是对gethistorydata函数做过程序调整了,请指示,我整了老半天....
|
-- 作者:wsslei
-- 发布时间:2015/7/20 11:12:28
--
诸位大哥辛苦了, 指点下,是否新版有啥新设置要求, 记得3.X版测试过,也没有该问题.
|
-- 作者:wsslei
-- 发布时间:2015/7/20 16:31:38
--
代码如下:
Set temp_HistoryData_5s = marketdata.GetHistoryData("IF00","ZJ",12,150000) Set HistoryData_1m = marketdata.GetHistoryData("IF00","ZJ",0,90000)
老版本没有用那个Historymode 语,所以是分开不同的值抓数的,也没有显式销毁该对象
[此贴子已经被作者于2015/7/20 16:32:32编辑过]
|
-- 作者:yukizzc
-- 发布时间:2015/7/20 19:50:53
--
同品种是共享缓冲区的
你最后输出时候其实是1分钟的数据量了,用这种形式直接输出下数据量看下呢。
Set temp_HistoryData_5s = marketdata.GetHistoryData("IF00","ZJ",12,150000) application.MsgOut temp_HistoryData_5s.count Set HistoryData_1m = marketdata.GetHistoryData("IF00","ZJ",0,90000) application.MsgOut HistoryData_1m.count
|
-- 作者:wsslei
-- 发布时间:2015/7/28 17:07:41
--
我说大哥版主, 你们每次都把用户想得太笨.
我非常清楚老版本没historymode前,是共享的,所有在V2.962测试时,我是用完一个gethistory,而后再用一个的。 现在弄到3.63后,5s,1m的数据都取不对了。 报告我没有用historymode。5s数据有47592,取出来14844,后来不知道怎么好了。 NND,大哥你知道,这种不知道怎么最Tmd的恐怖。
1m 有14万数据,结果弄出来48000, Set HistoryData_1m = marketdata.GetHistoryData("IF00","ZJ",0,100000) call application.msgout("HistoryData_1m_"& HistoryData_1m.count)
这是怎么回事啊。 我最近发了3个贴,没有一个你们能搞定的,
http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=81400#editform http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&replyID=283708&ID=81729&skin=1 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=81540&replyID=&skin=1
感觉就像我监理某国内知名ERP实施,正输都对,倒输都是bug,数据一多都是问题,你让用户怎么活。
|
-- 作者:wsslei
-- 发布时间:2015/7/28 18:35:09
--
Set HistoryData_1m = marketdata.GetHistoryData("IF00","ZJ",0,140000) call application.msgout("HistoryData_1m_"& HistoryData_1m.count)
这东西很奇怪, 参数 140000, HistoryData_1m_8928 参数 150000
HistoryData_1m_18928 参数 130000
HistoryData_1m_64464 参数 110000
HistoryData_1m_44464
天哪,我要取超过80000根,怎么也不行, 是不是不能超过65535了??? 这个新版到底改了什么
|
-- 作者:yukizzc
-- 发布时间:2015/7/28 20:56:51
--
问题已看到,就像你说的参数最大限制在了65535,已和开发那提过了该情况后续版本会修复,谢谢。目前版本您要使用比如8w这种大数据量,把这个参数设置0意即本地所有数据。
|
-- 作者:wsslei
-- 发布时间:2015/8/1 21:44:03
--
老兄, 参数0 也不行的, 取48928只有..... 真佩服开发人员,好好的程序,你升级瞎改什么,改了要做回归测试...... 大哥,这东西不给人路走,什么时候能修复? 着急啊
|
-- 作者:yukizzc
-- 发布时间:2015/8/2 20:01:03
--
修复会在后面版本进行修复,最后一个参数用0就是表示所有,这边测试也没有问题的
此主题相关图片如下:h}5fkup0w%m%rs`@2$9jh.jpg

|
-- 作者:wsslei
-- 发布时间:2015/8/4 7:21:05
--
谢版主,我检查我这还有问题, 和版主不同的是,我之前还有一次getHistorydata
Set temp_HistoryData_5s = marketdata.GetHistoryData("IF00","ZJ",12,180000,5) call application.msgout("temp_HistoryData_5s_"& temp_HistoryData_5s.count)
Set HistoryData_1m = marketdata.GetHistoryData("IF00","ZJ",0,0) call application.msgout("HistoryData_1m_"& HistoryData_1m.count)
结果就成这个样了。。。。 temp_HistoryData_5s_47590 HistoryData_1m_48928
没用historymode,应该是覆盖呀.... 开发人员没作回归测试
|