以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  编译器错误  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=98581)

--  作者:zhou
--  发布时间:2016/6/15 16:19:52
--  编译器错误
 图片点击可在新窗口打开查看
提示这个是什么原因,程序应该没错误,只是回测时会经常在某个地方(地方并不固定,有时候是这个日期,有时候是另一个日期)断了,然后跳出这个提示。

--  作者:王锋
--  发布时间:2016/6/15 17:33:12
--  

看一下具体出错的代码行附近都有哪些代码。

通常出现这个错误可能是系统内部错误导致的,常见是内存不足了,或者你VBS代码频繁申请释放内存,或者是你使用了被你释放的对象等等


--  作者:zhou
--  发布时间:2016/6/16 9:22:00
--  
 Sub sts1()
Set Grid = Technic.GetGridByName("Main")
call Grid.ChangeStock("XHAU","XH")
call Grid.ChangeCyc(1, 1)
Set objExcel = CreateObject("Excel.Application")
With objExcel
.Visible = True
.Workbooks.Open("C:\\Users\\wei.zhou\\Desktop\\b60.xlsx")
Set History = Grid.GetHistoryData()
n=2
for i =0 to History.Count-10
    if n<History.Count then
        
            .Cells(n,1).value = History.date(i)
            n=n+1
              
    end if
 
next
end with
end sub
我把代码简化了,还是出现了这个错误呀,上面的这个不应该出现这个错误吧,

--  作者:admin
--  发布时间:2016/6/16 9:32:31
--  

是不是频繁调用这个过程函数导致的问题,excel你是不能去频繁的打开和关闭的


--  作者:zhou
--  发布时间:2016/6/16 9:42:21
--  
 没有频繁打开EXCEL呀,只是会频繁的把一些价格信息写入EXCEL
--  作者:zhou
--  发布时间:2016/6/16 10:13:24
--  
 图片点击可在新窗口打开查看
加个计时器就行了,应该是运算太快,EXCEL还是金字塔把数据覆盖了导致出错