金字塔VBA常用對(duì)象使用范例 [金字塔]
- 咨詢內(nèi)容:
金字塔vba編寫策略經(jīng)常使用的對(duì)象,在編程幫助中有很多介紹,但是例子相對(duì)較少,本人經(jīng)過2年來對(duì)金字塔vba策略的編寫,積累了大量的例子,從今天開始我將不定期整理出來供大家借鑒參考,本樓將是一個(gè)目錄,供快速瀏覽。
特別常用的對(duì)象:
一、Application對(duì)象..............本頁2-3樓
二、Order對(duì)象....................7-13樓、19樓-20樓/22樓
三、MarketData對(duì)象...............36、37樓
(http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=11642&authorid=0&page=1&star=4)
四、Document對(duì)象.................39-40樓/74樓
(http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=11642&page=1&star=4)
(http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=11642&page=1&star=8)
五、ReportData對(duì)象...............................51樓
(http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=11642&page=1&star=6)
六、MinuteData對(duì)象和HistoryData對(duì)象......................53樓
(http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=11642&authorid=0&page=1&star=6)
七、Menu對(duì)象................................................56樓
( http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=11642&page=1&star=6)
本目錄根據(jù)需要不斷完善
[此貼子已經(jīng)被作者于2012-9-5 8:31:18編輯過] - 金字塔客服: 一、Application對(duì)象 1、基本介紹
UserName:返回金字塔用戶賬號(hào),不是你的交易賬號(hào)。例如:abc=Application.UserName,就可以把當(dāng)前登錄的用戶賬號(hào)賦給abc變量,使用下面的程序可以顯示登錄賬號(hào)的信息 Sub Application_VbaStart()
if iVer<2 then Application.MsgOut "你的金字塔版本不支持本程序,請(qǐng)升級(jí)賬戶" exit sub end if End Sub(3)EnginCode:返回當(dāng)前用戶計(jì)算機(jī)的機(jī)器識(shí)別碼(只讀)
此屬性的應(yīng)用場(chǎng)景是限定特定的用戶才能使用本程序,因?yàn)榻鹱炙浖诿恳慌_(tái)機(jī)上的識(shí)別碼都是不相同的,你就可以判斷客戶的本屬性是否與設(shè)定值相同,不相同就不讓他運(yùn)行。
Sub Application_VbaStart()
dim sEnginCode dim sTestCode sTestCode="35A7707C1617CBE0" '本行字符串改為你設(shè)定的識(shí)別碼 sEnginCode=Application.EnginCode if strcomp(sEnginCode,sTestCode,vbtextCompare)<>0 then Application.MsgOut "你的不是授權(quán)用戶,不能使用本程序" exit sub end if End Sub IsActivateFrame方法: '如果沒有打開ABC的框架,就打開 if Application.isActivateFrame("ABC")=0 then Call application.ActivateFrame("ABC") end if 上面代碼可以放在定時(shí)器過程中,每一次循環(huán)都會(huì)檢測(cè)一遍,就可以防止人為關(guān)閉了框架了。 (2)ActivateFrameWithCode方法: 這個(gè)方法是對(duì)ActivateFrame方法的擴(kuò)充,可以激活框架的同時(shí)指定品種和周期,如: Call Application.ActivateFrameWithCode("ABC","IF05","ZJ",0)將激活框架ABC,并在框架中打開IF05合約的1分鐘分析圖。 周期:0=1分鐘 1=5分鐘 2=15分鐘 3=30分鐘 4=60分鐘 5=日線 6=周線 7=月線 8=年線 9=多日線 10=分筆成交 11=多小時(shí) 12=多秒 13=多分鐘線 14=季度線 15=半年線 16=節(jié)氣線 17=3分鐘 18=10分鐘。 當(dāng) FrameName 參數(shù)為 "MainFrame" 系統(tǒng)框架周期同時(shí) Cyc 參數(shù)為 -1 時(shí),打開分時(shí)走勢(shì)界面。 Settimer和killtimer方法:設(shè)置和銷毀計(jì)時(shí)器
end if
If ID=9 then
Application.msgout Cdate(time) & ",9號(hào)計(jì)時(shí)器觸發(fā)了"
end if
End Sub 4、Application的事件Start 應(yīng)用程序啟動(dòng)后發(fā)生。
寫法:
Sub Application_Start() '下面的事件都是加上 Application_ 不再贅述
'你的代碼段
End Sub
Close 應(yīng)用程序關(guān)閉時(shí)發(fā)生。
Timer 當(dāng)達(dá)到SetTimer方法所設(shè)定的定時(shí)值后發(fā)生。其參數(shù)為定時(shí)器的標(biāo)識(shí)符。(前面有例子)
VBAStart VBA宏啟動(dòng)運(yùn)行后發(fā)生。(前面有例子)
VBAEnd VBA宏停止運(yùn)行后發(fā)生
特別需要注意的地方: 1、計(jì)時(shí)器一旦設(shè)置,如果不顯式銷毀,下次啟動(dòng)vba時(shí)依然會(huì)生效的。 所以,你要記住在Application_VBAEnd事件中使用Killtimer來銷毀計(jì)時(shí)器。 2、Application_VBAStart只能有一個(gè),你不要在多個(gè)模塊中擁有多個(gè)vbastart事件,那樣系統(tǒng)就會(huì)出錯(cuò)的。 [此貼子已經(jīng)被作者于2012-5-13 8:59:51編輯過] - 網(wǎng)友回復(fù): 寫得不錯(cuò)的,繼續(xù)就好了,最后再重新進(jìn)行一下就行了
- 網(wǎng)友回復(fù): 很好,學(xué)習(xí)。
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容