以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- 9点15分出错 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=97061) |
-- 作者:黄金精算师 -- 发布时间:2016/5/5 9:22:08 -- 9点15分出错 帮看一下,这段程序那里不对 我第二次在盘中突然报错 Sub TestReportData() \' 取行情数据 set report1=marketdata.getreportdata("IF09","ZJ") bk_TextBox2.text=report1.NewPrice bk_TextBox1.text=report1.buyprice1 bk_TextBox3.text = report1.sellprice1 set report1=marketdata.getreportdata("SH300","ZJ") bk_TextBox14.text=report1.NewPrice bk_TextBox11.text= ROUND((bk_TextBox7 - bk_TextBox2) * 300 ,4) \'利润 bk_TextBox12.text=ROUND((bk_TextBox2 - bk_TextBox14) / bk_TextBox14 ,4) \' 报错后指向这一行程序,这段程序也是我在论坛里问过很多次那个小数点的事 bk_TextBox21.text= ROUND(bk_TextBox12*bk_TextBox14*300,1) \'到期利润 这是在运行中出错的提示,出错时间应该是刚进入9点15分,在开盘前,这是第二次出错,这一次,怎么都开不了金字塔软件查到最后也没有找到原因,后面就不明不白的好了 |
-- 作者:黄金精算师 -- 发布时间:2016/5/5 9:24:35 -- 这个程有两段,下面这一段好像一直与上面的结果不同 这是下面一半 这两个代码方式是一样的,一个做的IF09一个做的IC09 \' ------------------ set report1=marketdata.getreportdata("IC09","ZJ") \' application.msgout Cdate(time) & ",IC09最新价:" &report1.NewPrice & ",买1价:"&report1.buyprice1&",卖1价:"&report1.sellprice1 bk_TextBox5.text=report1.NewPrice bk_TextBox4.text=report1.buyprice1 bk_TextBox6.text = report1.sellprice1 set report1=marketdata.getreportdata("SH905","ZJ") bk_TextBox13.text=report1.NewPrice \' \' bk_TextBox15.text= bk_TextBox5*200 - 200*bk_TextBox19 \'利润 bk_TextBox15.text= ROUND((bk_TextBox5 - bk_TextBox19) * 200 ,4) \'利润 bk_TextBox20.text= ROUND((bk_TextBox5 - bk_TextBox13) / bk_TextBox13 ,4) \'贴水 bk_TextBox22.text= ROUND((bk_TextBox13-bk_TextBox5)*200,1) \'到期利润 bk_TextBox23.text= bk_TextBox15.text*-1 bk_TextBox24.text= bk_TextBox23.text*-1 \' ---------------------
|
-- 作者:黄金精算师 -- 发布时间:2016/5/5 9:26:58 -- 是不是因为在数据切入行情时这里不能去读取数据?我这次出错是在运行中突然中断的,再进入一切正常 |
-- 作者:yukizzc -- 发布时间:2016/5/5 9:29:27 -- 某个数值取到了0值,你用msgout把被除数都做下输出,自己查下是哪个数值的问题吧 |
-- 作者:王锋 -- 发布时间:2016/5/5 9:30:42 -- 从描述上看是除零错误,就是除数是0导致的。 有可能是开盘前很多价格都是0,你没有去检查就直接去除导致的 |
-- 作者:黄金精算师 -- 发布时间:2016/5/5 10:46:39 -- 谢谢, 写了一行除0的确实现像一样 bk_TextBox32.text= bk_TextBox23.text/0 这样有什么好的处理办法吗,还是一定要加IF语句处理? |
-- 作者:黄金精算师 -- 发布时间:2016/5/5 10:46:51 -- 谢谢, 写了一行除0的确实现像一样 bk_TextBox32.text= bk_TextBox23.text/0 这样有什么好的处理办法吗,还是一定要加IF语句处理? |
-- 作者:黄金精算师 -- 发布时间:2016/5/5 10:47:03 -- 谢谢, 写了一行除0的确实现像一样 bk_TextBox32.text= bk_TextBox23.text/0 这样有什么好的处理办法吗,还是一定要加IF语句处理? |
-- 作者:王锋 -- 发布时间:2016/5/5 11:23:50 -- 要加IF判断处理,VBA编程不像PEL,很多东西需要自己去考虑,编写代码要考虑代码的健壮性 |