以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- 请高手指点 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=3052) |
-- 作者:fly -- 发布时间:2010/9/30 11:08:38 -- 请高手指点 在function里面我有一个class。 public Property Get mktPNL if qty > 0 then end Property
为什么有时候,是有时候,不是每次。他会告诉我。 Set ReportClass = marketdata.GetReportData( code, exchange ) 还是有别的什么问题 请高手指点 [此贴子已经被作者于2010-9-30 11:09:10编辑过]
|
-- 作者:wattwei -- 发布时间:2010/9/30 12:34:24 -- 可以这样用,应该不是这里的问题。 加语句 On Error Resume Next if qty > 0 then mktPNL = qty * ( ReportClass.BuyPrice1 - entryPrice ) * 10 else mktPNL = qty * ( ReportClass.SellPrice1 - entryPrice ) * 10 end if If Err.Number<>0 Then msgbox TypeName(ReportClass) End If 捕捉下错误原因, |
-- 作者:fly -- 发布时间:2010/9/30 12:55:32 -- 同样的价格,在报一次就被filled。很奇怪 |
-- 作者:admin -- 发布时间:2010/9/30 16:23:07 -- Set ReportClass = marketdata.GetReportData( code, exchange )
这种情况,说明你的code和exchange有问题了,没有正常取到行情报价 建议你仔细检查你的代码,在调用mktPNL属性时,务必检查code,exchange是正确的 |
-- 作者:martingale -- 发布时间:2010/10/10 2:40:21 -- typename(ReportClass) 返回的是 Nothing 说明什么?我的code 和exchange msgout 显示没有错误。 这个问题不是每一次都发生,偶尔有发生。 奇怪 |
-- 作者:admin -- 发布时间:2010/10/10 8:15:44 -- 请确认是否是在系统启动或者某些初始化时出现的,如果是这样,就采取一些措施,等系统准备完成后再来运行VBS代码。 |
-- 作者:admin -- 发布时间:2010/10/22 16:20:19 -- 代码中加上对象有效性判断,这样就健壮多了 if Report1 is NoThing Then |