金字塔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樓
(http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=11642&page=1&star=4)
本目錄根據需要不斷完善
[此貼子已經被作者于2012-6-9 16:46:57編輯過] - 金字塔客服:
一、Application對象
1、基本介紹
代表 金字塔證券分析系統 應用程序。整個應用程序運行過程中,只有一個Application對象存在。 application.MsgOut Application.UserName
UserType:返回當前應用程序的版本類別 0普通版 1標準版 2專業版 3金鉆版 此屬性的應用場景是根據本屬性的返回值確定是否支持你的策略,比如:普通版的不支持Order指令,那么你就可以在這里提示客戶,告知其軟件版本不支持你的策略。 dim iVer iVer=Application.UserType 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 3、Application的常用方法 IsActivateFrame方法: 使用這兩個方法可以判斷某一個框架是否已經打開,如果沒有打開就打開,如果你的策略必須使用某一個框架上的某一個公式的指標,如果每天都要自己打開框架,或者某人不注意誤關了你的框架,代碼中自動打開就成為必要了。 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 時,打開分時走勢界面。 (3)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編輯過] - 網友回復:
寫得不錯的,繼續就好了,最后再重新進行一下就行了
- 網友回復: 很好,學習。
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態個股的話,
- 上一篇:請教王峰老師
- 下一篇:沒有了!
相關文章
-
指定的模型還沒有相關內容!