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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → VBA 被零除

   

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


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

主题:VBA 被零除

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


加好友 发短信
等级:论坛游侠 帖子:311 积分:635 威望:0 精华:0 注册:2011/1/20 14:44:58
VBA 被零除  发帖心情 Post By:2015/10/30 14:13:17 [只看该作者]

真是晕了,求助下。

图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

左边显示 的是输出的price , 不等于0,为什么 VBA编译器一直说我被零除?

我也试过乘以100,还是一样的错误。

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/10/30 14:26:34 [只看该作者]

把你完整代码贴下

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


加好友 发短信
等级:论坛游侠 帖子:311 积分:635 威望:0 精华:0 注册:2011/1/20 14:44:58
  发帖心情 Post By:2015/10/30 15:41:12 [只看该作者]

sub placeorder(stkname,price,newcc,oldcc) '生成订单
dim jbsl,stkcc,stkzt,quan,temp
    quan=newcc-oldcc
    
    if strcomp(right(stkname,3),"USD")=0 then  '根据交易币种和基本交易美金数量,计算目标货币交易数量
      application.MsgOut time&" "&stkname&" 价格:"&price&" 仓差:"&quan
      jbsl=round(usdsl/price)
    else
      jbsl=usdsl 'round(usdsl*price/10000)*10000
    end if
end sub


调用这个过程的语句
 for i=1 to 2 
      set  formula=marketdata.stkindi(stkname(i),"WH","t_chgp_wh",0,11,stksj(i),1000)
    
      call placeorder(stkname(i),formula.getbufdatabyindex(0,formula.datasize-1),formula.getbufdatabyindex(1,formula.datasize-1),stkcc(i))
      stkcc(i)=formula.getbufdatabyindex(1,formula.datasize-1)
    next 
[此贴子已经被作者于2015/10/30 15:42:33编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:311 积分:635 威望:0 精华:0 注册:2011/1/20 14:44:58
  发帖心情 Post By:2015/10/30 16:29:17 [只看该作者]

真是晕 ,换了台电脑,是正常的
再把代码拷回到原电脑,还是出错。
我新加了句 application.msgout vartype(price)
显示是4  应该是单精浮点数


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/11/2 10:27:31 [只看该作者]

是不是其他部分,新建一个工程然后输出看呢

jbsl=round(usdsl/price),或者你这里把/换*试下,看是这里除0的问题吗?


 回到顶部