以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  高级功能研发区  (http://222.73.7.161/bbs/list.asp?boardid=5)
----  [原创]写5分钟数据变15分钟 K线求解呀!======  (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=67817)

--  作者:fzming
--  发布时间:2014/7/25 0:32:25
--  [原创]写5分钟数据变15分钟 K线求解呀!======
[原创]写5分钟数据变15分钟 K线求解呀!
1.我数据库明明5分钟数据
数据如下:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140725003407.jpg
图片点击可在新窗口打开查看

用如下程序导入数据库
for i=0 to DataCol.length-1
Set His= marketdata.GetHistoryData(StockLabel,Market,2)   \'CycType保存周期 0:日线 1:1分钟 2:5分钟
His.InsertAt(His.Count)
His.Date(His.Count-1) =xmlInData(DataCol(i).getAttribute("DateTime"))
His.Open(His.Count-1) =DataCol(i).getAttribute("Open")
His.High(His.Count-1) =DataCol(i).getAttribute("High")
His.Low(His.Count-1) =DataCol(i).getAttribute("Low")
His.Close(His.Count-1) =DataCol(i).getAttribute("Close")
His.Volume(His.Count-1) =DataCol(i).getAttribute("Vol")
call His.SaveData(StockLabel,Market,2)
Technic.ReCalcAllGrid
next
我是从远程读到xml后生成K线
进到K线的数据变成了如下:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140724235848.jpg
图片点击可在新窗口打开查看

好多K线这里全部少了!真是查不出问题来!都是按手册写的!

[此贴子已经被作者于2014/7/25 0:33:37编辑过]

--  作者:王锋
--  发布时间:2014/7/25 8:53:54
--  

你可以考虑使用 Application.msgout 函数, 做一下排除法看看问题出现在那个部分.

比如

读取到数据库数据后,你先用Application.msgout 打印输出一下日期,看看读到的数据是否正确

读取数据正确后,再打印his的对象内容看看是否正确,将问题排查范围逐渐缩小

 

学会使用一些简单的调试技巧,是你编写VBA代码一个最基本应该掌握的


--  作者:fzming
--  发布时间:2014/7/25 13:51:11
--  
数据都会进到软件里了,只是软件会一下子给你整成15分钟K线!
--  作者:fzming
--  发布时间:2014/7/25 13:52:13
--  
会不会软件 必须交钱才有5分钟K线呀,感觉有这个可能性!
我是免费版,在研究测试指标!

--  作者:fzming
--  发布时间:2014/7/25 14:15:45
--  
问题查到了。真是郁闷!
Set His= marketdata.GetHistoryData(StockLabel,Market,2) 
这行代码 最后一个标志错了。应该是1表示5分钟
SaveData中后面一个参数不一样。
哎!真是害死人了!