欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请高手指点

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5842人关注过本帖树形打印复制链接

主题:请高手指点

帅哥哟,离线,有人找我吗?
fly
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
请高手指点  发帖心情 Post By:2010/9/30 11:08:38 [只看该作者]

在function里面我有一个class。
这个class里面我有一个property是计算盈亏的。
 
 

public Property Get mktPNL
  
      Set ReportClass = marketdata.GetReportData( code, exchange )
      application.MsgOut ( time &",function,mktPNL," & code & "," & exchange )

      if qty > 0 then
           mktPNL = qty * ( ReportClass.BuyPrice1 - entryPrice ) * 10
      else
           mktPNL = qty * ( ReportClass.SellPrice1 - entryPrice ) * 10
      end if

 end Property

 

为什么有时候,是有时候,不是每次。他会告诉我。
object required, reportclass
在mktPNL = qty * ( ReportClass.BuyPrice1 - entryPrice ) * 10那行

是不是在function里面我不能用

Set ReportClass = marketdata.GetReportData( code, exchange )

还是有别的什么问题

请高手指点


[此贴子已经被作者于2010-9-30 11:09:10编辑过]


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
wattwei
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:574 积分:3167 威望:0 精华:0 注册:2009/10/10 11:13:01
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2010/9/30 12:55:32 [只看该作者]

同样的价格,在报一次就被filled。很奇怪


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
admin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2010/9/30 16:23:07 [只看该作者]

Set ReportClass = marketdata.GetReportData( code, exchange )

 

这种情况,说明你的code和exchange有问题了,没有正常取到行情报价

建议你仔细检查你的代码,在调用mktPNL属性时,务必检查code,exchange是正确的


 回到顶部
帅哥哟,离线,有人找我吗?
martingale
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:47 积分:411 威望:0 精华:0 注册:2010/7/16 11:37:08
  发帖心情 Post By:2010/10/10 2:40:21 [只看该作者]

 typename(ReportClass) 返回的是 Nothing
说明什么?我的code 和exchange msgout 显示没有错误。
这个问题不是每一次都发生,偶尔有发生。

奇怪

 回到顶部
帅哥哟,离线,有人找我吗?
admin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2010/10/10 8:15:44 [只看该作者]

请确认是否是在系统启动或者某些初始化时出现的,如果是这样,就采取一些措施,等系统准备完成后再来运行VBS代码。


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2010/10/22 16:20:19 [只看该作者]

代码中加上对象有效性判断,这样就健壮多了

if Report1 is NoThing Then
    Exit Sub
  End if


 回到顶部