以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  [求助]调用的函数无法创建对象  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=75614)

--  作者:qq1mp2
--  发布时间:2015/2/12 15:28:40
--  [求助]调用的函数无法创建对象
Opens = Opens + Fetures(MyFetures,WindowsMin15)


Function Fetures(Formula,Windows)
    \'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
    Fetures=0
    
\'取得指定模块指定窗体
Set Grid = Formula.GetGridByName("Windows")

\'得到该窗格所对应的动态行情对象
Set ReportData = Grid.GetReportData() 

调用frtures函数时提示没有grid对象,明明都传了参数,为什么对象创建不出来?

--  作者:yukizzc
--  发布时间:2015/2/12 15:43:57
--  

字符串无法传参,看下这里解决方案

http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=56610


--  作者:qq1mp2
--  发布时间:2015/2/12 15:57:17
--  
现在换成传递数字,然后再函数体内做判断再创建对象,还是不成功
--  作者:yukizzc
--  发布时间:2015/2/12 16:35:57
--  
Set Grid2 = Formula.ParentGrid.GetReportData()    //这样写,Formula这个是公式对象不是窗格对象。
--  作者:qq1mp2
--  发布时间:2015/2/12 16:43:37
--  
明白了,谢谢


--  作者:qq1mp2
--  发布时间:2015/2/12 17:03:48
--  
Formula是必须的吗?我还是没创建成功啊
--  作者:yukizzc
--  发布时间:2015/2/12 17:25:02
--  

Set Grid = Formula.ParentGrid.GetReportData()
   Fetures = Grid.High

就这样就可以了啊,你试下


--  作者:qq1mp2
--  发布时间:2015/2/13 10:01:47
--  
set Gird1 = MyFetures.GetGridByName("WindowMin15")
set Formula1 = Grid1.GetHistoryData()
这样写,还是提示没有gird1对象,我快疯了

--  作者:qq1mp2
--  发布时间:2015/2/13 10:05:17
--  
set Gird1 = MyFetures.GetGridByName("WindowMin15")
这个有问题吗?


--  作者:yukizzc
--  发布时间:2015/2/13 10:11:11
--  

你看下自带的自定义函数代码,直接通过Formula.ParentGrid就能获得当前的窗格对象了。

Function CU_MA2(Formula,cyc)
Set History = Formula.ParentGrid.GetHistoryData()