Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:VBA 被零除

1楼
stockwiner 发表于:2015/10/30 14:13:17
真是晕了,求助下。

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

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

我也试过乘以100,还是一样的错误。
2楼
yukizzc 发表于:2015/10/30 14:26:34
把你完整代码贴下
3楼
stockwiner 发表于: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编辑过]
4楼
stockwiner 发表于:2015/10/30 16:29:17
真是晕 ,换了台电脑,是正常的
再把代码拷回到原电脑,还是出错。
我新加了句 application.msgout vartype(price)
显示是4  应该是单精浮点数

5楼
yukizzc 发表于:2015/11/2 10:27:31

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

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

共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03101 s, 2 queries.