如何獲得當(dāng)前窗格(或其名稱,序號)?
作者:金字塔 來源:cxh99.com 發(fā)布時間:2014年10月18日
- 咨詢內(nèi)容:
如何獲得當(dāng)前窗格(或其名稱,序號亦可)?注意,不是獲得活動窗格activegrid
應(yīng)用場景:一個框架分N個窗格,每個窗格加載同一個指標(biāo),指標(biāo)中需要獲取,傳遞當(dāng)前窗格的品種代碼StockLabel
- 金字塔客服:
在當(dāng)前PEL指標(biāo)中獲取窗格名稱?
- 用戶回復(fù):
我用vba寫了一段比較同一品種的合約強(qiáng)弱的代碼,用于比較同一品種中持倉量最大和第二大合約的強(qiáng)弱,然后我想返回這二個合約的StockLabel,令其顯示在各個窗格的副圖中.我設(shè)想的per指標(biāo)代碼是這樣(當(dāng)然也可能不對):
strongercode:StongCode() ,nodraw; //自定義函數(shù)StongCode,最好什么參數(shù)也不用傳入,實(shí)在要傳入?yún)?shù),那就傳入框架名稱,在vba中自動判斷指標(biāo)所在窗格的名稱或者序號,進(jìn)而獲得該窗格相關(guān)聯(lián)的StockLabel,以便下一步運(yùn)算,整個代碼的思路、步驟如下:
①(自動)獲取currentframe.name→②自動獲取currentgrid.name→③前二步最終目的是自動獲取currentStockLabel→④遍歷該品種所有合約、篩選出持倉量最大的StockLabel(MaxOpenintLabel)和持倉量次大的StockLabel(SecondOpenintLabel)→⑤比較二者強(qiáng)弱→⑥返回strongerLabel和weakerLabel. 考慮到自定義函數(shù)只能返回單值,因此,新建二個自定義函數(shù)StongCode和WeakCode,分別返回strongerLabel和weakerLabel.其中,我已經(jīng)把第④步到第⑥步的vba代碼都寫好了,但是就是不知道該如何實(shí)現(xiàn)前三步
weakercode:WeakCode(),nodraw;
[此貼子已經(jīng)被作者于2014/7/15 0:05:29編輯過]
- 網(wǎng)友回復(fù):
想要實(shí)現(xiàn)的目的其實(shí)很簡單,不知道我這個實(shí)現(xiàn)方法是不是太復(fù)雜.自己手動寫二行代碼做價差圖,其實(shí)很簡單,但麻煩的是每個加載的品種都要重寫
[此貼子已經(jīng)被作者于2014/7/15 0:08:00編輯過]
- 網(wǎng)友回復(fù):
這就好比在多個窗格中加載同一個均線指標(biāo),你不需要分別告訴它計(jì)算哪個框架哪個窗格哪個品種,它自己就知道