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