變量命名的困擾
作者:金字塔 來(lái)源:cxh99.com 發(fā)布時(shí)間:2015年04月09日
- 咨詢內(nèi)容:
完全在vba中寫(xiě)策略,下單.如果是同時(shí)交易幾個(gè)品種,代碼里面肯定有很多變量,那么不同品種的分筆數(shù)據(jù)來(lái)了之后,變量賦值會(huì)亂套的,舉個(gè)簡(jiǎn)單的例子,a=ReportData.BuyPrice1+a,上一秒鐘a可能是A品種數(shù)據(jù)來(lái)了,由此計(jì)算的,下一秒鐘可能是B品種數(shù)據(jù)來(lái)了,a又是根據(jù)B品種數(shù)據(jù)計(jì)算的.所以必須把變量針對(duì)不同品種做個(gè)區(qū)分,這樣才能同時(shí)交易幾個(gè)品種.Document對(duì)象的全局變量的命名,我都是直接加上合約代碼戳的,比如Label & "a",這樣就不會(huì)混淆了,但是普通的vba變量沒(méi)找到辦法,又不能所有變量都搞成全局變量,vbs也不能像c++那樣左賦值.不知道版主有什么高招?
[此貼子已經(jīng)被作者于2015/1/6 16:18:44編輯過(guò)]
- 金字塔客服:
如果你的策略較為復(fù)雜, 你可以考慮使用類模塊,將不同的品種按照類的概念封裝.
比如一個(gè)品種的操作你規(guī)劃一個(gè)類, 然后創(chuàng)建幾個(gè)類變量, 通過(guò)代碼進(jìn)行綁定, 當(dāng)來(lái)行情報(bào)價(jià)時(shí)你先看是那個(gè)品種的報(bào)價(jià),然后取相應(yīng)的類
- 用戶回復(fù):
用字典試下,哥兒們,有信息來(lái)了,記錄下就行了
- 網(wǎng)友回復(fù):
以下是引用pel46585在2015/1/9 14:51:03的發(fā)言:
用字典試下,哥兒們,有信息來(lái)了,記錄下就行了
沒(méi)看懂,麻煩講講數(shù)據(jù)來(lái)了之后的處理流程是怎樣的?
- 網(wǎng)友回復(fù):
那么這個(gè)類模塊應(yīng)該怎么寫(xiě)呢?我寫(xiě)出來(lái)報(bào)錯(cuò):
新建一個(gè)類模塊,取名ClassSRYDIM NewPriceProperty Let HyPrice(HyP) NewPrice=HyPEnd Property
然后在標(biāo)準(zhǔn)模塊Macro中,Sub test()Dim xx as New ClassSRY '就這一句聲明就通不過(guò),提示語(yǔ)句未結(jié)束'xx.HyPrice=4000end sub