您現在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識>>正文內容

金字塔VBA數據庫控件實例 共大家參考 [金字塔]

  • 咨詢內容:

    按照自己的交易思想來開發相應的程序最大的一個宗旨就是簡單化,系統不能搞得太復雜,免得某個環節出現問題導致錯過交易機會。

    作為一個測試,將自己預定義好的預埋單保存到一個標準的文本文件里面(這個預埋單的期限不僅僅是今天,也可能到未來的三個月或者一個月)。事實上,我們使用數據庫來保存這些記錄,但是一個數據庫文件過于龐大,而且還有安裝引擎等東西,麻煩,如果異地在異機上操作(本人還有工作),還要再次安裝這些數據庫(可能除了ACESS之外等小型文件之外)。最好的方法就是使用文本文件,也好編輯。文本編輯器很多。編輯的格式也簡單。

    下面幾個例子:

    假設 我的預埋單的記錄保存在標準化的文件內   test.csv (逗號或者TAB或者自定義的符號作為隔離符)。

    假設所在文件夾子  d:\jameszyj 下  完整的路徑為  d:\jameszyj\test.csv

     

    1、建立文件型或者跟系統性的的ODBC  (控制面板 管理工具 下 的ODBC管理器)

        dsn= jameszyj

        很簡單就可以設置了,只要設定好目錄就可以了, 即  d:\jameszyj

        那么該文件子底下每個文本文件就是一個表。

        該文件夾下還有 一個文件  schema.ini  這里面保存本目錄下每個文本文件的信息。

        其中有個 key :ColNameHeader=false  默認值是false ,可以改成true 相當于表結構的名字

     

    2、完成之后在金字塔做以下工作

         新建一個FORM對象,然后在vba控件欄(工具箱)增加一個一個數據庫控件 這個數據庫控件在金字塔的主目錄下

         名字為:EDITGRIDCTRLLIB.OCX  金字塔安裝之后就注冊好了

         在工具箱右鍵點擊"添加控件"的時候 彈開一個窗口 在窗口的最下面 會看到"可以編輯的網格控件" 在其左邊的checkbox 點擊之后確定 就成功將該控件添加到面板上,就可以像使用MS FORMS 2.0 控件那樣使用了。

        如果找不到這個控件,可以把這個文件拷貝到c:\windows\system32下

        然后使用以下命令就可以注冊了:

        regsvr32  editgridctrllib.ocx

     

    3、實現部分

        將該網格控件拖到 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 執行該窗口,窗口打開之后,該網格數據控件就顯示出文本文件的內容了。

     

    作為例子,僅供參考。

     

    這樣子信息的保存通過這個思路就可以實現了。我們完全可以借助金字塔的VBA功能可以開發出自己的交易系統,套利系統,程序交易模型,太棒了。

     

    但有一個關鍵的問題是,金字塔的多線程處理可能要加強,少用循環語句,特別是循環語句內需要執行較多時間的時候,系統就會被這個循環獨占,導致金字塔內的其他任務會在擱置。特別是這個任務最佳的觸發條件正好處于循環之內的時候。

     

       

     

     

       

     

  • 金字塔客服:

    '上面的代碼粘貼過來的時候有點不對

    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 方法,可以實現異步操作。

    但是提醒用戶,異步操作對編程能力要求很高,稍有補注意就會導致程序崩潰

     

  • 網友回復:  期待。。。

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 1145508240  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 成年人在线免费观看视频网站| 久久精品亚洲欧美日韩久久| 亚洲国产婷婷综合在线精品| 久久精品免费电影| 久久久伊人影院| 一级视频在线免费观看| 99热免费在线观看| 69堂国产成人精品视频不卡| 蜜桃成熟时33d在线| 精品伊人久久久香线蕉| 欧美精品久久天天躁| 日韩h片在线观看| 慧静和一群狼好爽| 国产精品无码dvd在线观看| 国产亚洲欧美在线视频| 亚洲高清成人欧美动作片| 亚洲人成电影院在线观看| 中文字幕亚洲综合久久综合| 999久久久无码国产精品| 黑寡妇被绿巨人擦gif图| 精品亚洲欧美无人区乱码| 欧美一级日韩一级亚洲一级| 护士在办公室里被躁视频| 国产精品酒店视频免费看| 国产一区二区三区美女| 国产综合在线观看| 国产免费拔擦拔擦8x高清在线人| 免费a级毛片出奶水| 亚洲2022国产成人精品无码区 | 精品韩国亚洲av无码不卡区| 欧美日韩在大午夜爽爽影院| 成全视频免费高清| 国产熟女AA级毛片| 国产国语一级毛片全部| 免费一级国产大片| 久久久国产99久久国产久| 80s国产成年女人毛片| 精品欧美日韩一区二区三区| 最近中文字幕mv2018免费看| 大ji巴想cao死你高h男男| 国产三级在线观看免费|