金字塔VBA數(shù)據庫控件實例 共大家參考 [金字塔]
- 咨詢內容:
按照自己的交易思想來開發(fā)相應的程序最大的一個宗旨就是簡單化,系統(tǒng)不能搞得太復雜,免得某個環(huán)節(jié)出現(xiàn)問題導致錯過交易機會。
作為一個測試,將自己預定義好的預埋單保存到一個標準的文本文件里面(這個預埋單的期限不僅僅是今天,也可能到未來的三個月或者一個月)。事實上,我們使用數(shù)據庫來保存這些記錄,但是一個數(shù)據庫文件過于龐大,而且還有安裝引擎等東西,麻煩,如果異地在異機上操作(本人還有工作),還要再次安裝這些數(shù)據庫(可能除了ACESS之外等小型文件之外)。最好的方法就是使用文本文件,也好編輯。文本編輯器很多。編輯的格式也簡單。
下面幾個例子:
假設 我的預埋單的記錄保存在標準化的文件內 test.csv (逗號或者TAB或者自定義的符號作為隔離符)。
假設所在文件夾子 d:\jameszyj 下 完整的路徑為 d:\jameszyj\test.csv
1、建立文件型或者跟系統(tǒng)性的的ODBC (控制面板 管理工具 下 的ODBC管理器)
dsn= jameszyj
很簡單就可以設置了,只要設定好目錄就可以了, 即 d:\jameszyj
那么該文件子底下每個文本文件就是一個表。
該文件夾下還有 一個文件 schema.ini 這里面保存本目錄下每個文本文件的信息。
其中有個 key :ColNameHeader=false 默認值是false ,可以改成true 相當于表結構的名字
2、完成之后在金字塔做以下工作
新建一個FORM對象,然后在vba控件欄(工具箱)增加一個一個數(shù)據庫控件 這個數(shù)據庫控件在金字塔的主目錄下
名字為:EDITGRIDCTRLLIB.OCX 金字塔安裝之后就注冊好了
在工具箱右鍵點擊"添加控件"的時候 彈開一個窗口 在窗口的最下面 會看到"可以編輯的網格控件" 在其左邊的checkbox 點擊之后確定 就成功將該控件添加到面板上,就可以像使用MS FORMS 2.0 控件那樣使用了。
如果找不到這個控件,可以把這個文件拷貝到c:\windows\system32下
然后使用以下命令就可以注冊了:
regsvr32 editgridctrllib.ocx
3、實現(xiàn)部分
將該網格控件拖到 FORM上 右鍵點擊 然后在窗口內 將名字命為 fg
Sub test_Load()
set lnv_sqlca = createobject("adodb.connection")
lnv_sqlca.c
lnv_sqlca.open
if lnv_sqlca.state <> 1 then
msgbox "不能打開交易記錄",0,"Warning Tip"
exit sub
end if
set lnv_rs = createobject("adodb.recordset")
lnv_rs.open "select * from test.csv",lnv_sqlca ' 每個文本文件就是一個表
set test_fg.datasource = lnv_rs
lnv_sqlca.close
End Sub然后啟動VBA 執(zhí)行該窗口,窗口打開之后,該網格數(shù)據控件就顯示出文本文件的內容了。
作為例子,僅供參考。
這樣子信息的保存通過這個思路就可以實現(xiàn)了。我們完全可以借助金字塔的VBA功能可以開發(fā)出自己的交易系統(tǒng),套利系統(tǒng),程序交易模型,太棒了。
但有一個關鍵的問題是,金字塔的多線程處理可能要加強,少用循環(huán)語句,特別是循環(huán)語句內需要執(zhí)行較多時間的時候,系統(tǒng)就會被這個循環(huán)獨占,導致金字塔內的其他任務會在擱置。特別是這個任務最佳的觸發(fā)條件正好處于循環(huán)之內的時候。
- 金字塔客服:
'上面的代碼粘貼過來的時候有點不對
Sub test_Load()
set lnv_sqlca = createobject("adodb.connection")
lnv_sqlca.c
lnv_sqlca.open
if lnv_sqlca.state <> 1 then
msgbox "不能打開交易記錄",0,"Warning Tip"
exit sub
end if
set lnv_rs = createobject("adodb.recordset")
lnv_rs.open "select * from test.txt",lnv_sqlca
set test_fg.datasource = lnv_rs
lnv_sqlca.close
End Sub - 用戶回復:
不錯,論壇因你而精彩
由于論壇的某些限制,部分代碼無法正常貼出,參考本論壇提供上傳文件的方法,寫成文件,存于網絡,貼鏈接
- 網友回復:
新版已經增加 application.PeekAndPump 方法,可以實現(xiàn)異步操作。
但是提醒用戶,異步操作對編程能力要求很高,稍有補注意就會導致程序崩潰
- 網友回復: 期待。。。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯(lián)系技術人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容