打印本文打印本文 关闭窗口关闭窗口

变量命名的困扰

作者:金字塔 来源:cxh99.com 发布时间:2015年04月09日
  • 咨询内容: 完全在vba中写策略,下单.如果是同时交易几个品种,代码里面肯定有很多变量,那么不同品种的分笔数据来了之后,变量赋值会乱套的,举个简单的例子,a=ReportData.BuyPrice1+a,上一秒钟a可能是A品种数据来了,由此计算的,下一秒钟可能是B品种数据来了,a又是根据B品种数据计算的.所以必须把变量针对不同品种做个区分,这样才能同时交易几个品种.Document对象的全局变量的命名,我都是直接加上合约代码戳的,比如Label & "a",这样就不会混淆了,但是普通的vba变量没找到办法,又不能所有变量都搞成全局变量,vbs也不能像c++那样左赋值.不知道版主有什么高招? [此贴子已经被作者于2015/1/6 16:18:44编辑过]

     

  • 金字塔客服:

    如果你的策略较为复杂, 你可以考虑使用类模块,将不同的品种按照类的概念封装.

    比如一个品种的操作你规划一个类, 然后创建几个类变量, 通过代码进行绑定, 当来行情报价时你先看是那个品种的报价,然后取相应的类

     

  • 用户回复: 用字典试下,哥儿们,有信息来了,记录下就行了

     

  • 网友回复: 以下是引用pel46585在2015/1/9 14:51:03的发言:
    用字典试下,哥儿们,有信息来了,记录下就行了 没看懂,麻烦讲讲数据来了之后的处理流程是怎样的?

     

  • 网友回复: 那么这个类模块应该怎么写呢?我写出来报错:
    新建一个类模块,取名ClassSRYDIM NewPriceProperty Let HyPrice(HyP)    NewPrice=HyPEnd Property

    然后在标准模块Macro中,Sub test()Dim xx as New ClassSRY   '就这一句声明就通不过,提示语句未结束'xx.HyPrice=4000end sub
打印本文打印本文 关闭窗口关闭窗口