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

建議:HistoryData類返回的是數組 [金字塔]

  • 咨詢內容:

    大家都知道,當運算量大時,VB比C代碼的運行速度要慢得多。而金字塔是對VBA開放的對象。這樣,如果大量數據操作時,會造成軟件當機的現象。

    我不清楚具體的Histordata,ReportData,Table等等等等對象工作原理,但我想它大約是一個函數,以HistoryData為例

    Set History = marketdata.GetHistoryData("rb00","sq",5)

    For i=1 to 10
        x=History.Close(i)'這里我感覺是每讀一個數,都需要運行一下金字塔的HistoryData函數。

    '這個函數里大約對某個文件要打開,計算,再關閉文件,本身效率已經很低了,這個函數。

    '如果是再用VB來反復打開這個函數。速度更慢。如果運行10000次,可能這個金字塔就要當機了。

    Next

    以EXCEL為例吧,如果是一個單元格一個單元的格的給數組賦值,讀幾萬個數字,就要幾秒種了。但EXCEL提供了直接將單元格賦值給數組的功能。比如x=range("A1:A65536")

    這樣讀6萬個數字,幾乎就不需要時間了。

    不知道金字塔的底層函數到底如何。但我想,如果HistoryData等對象,返回的直接是數組的話。整體的金字塔VBA代碼,運行速度會飛一樣的快。

    建議:History = marketdata.GetHistoryData("rb00","sq",5)

    是直接將("rb00","sq",5)它的所有數據,以數組的形式返回。

    其它對象,涉及到數據的,同理。

    這樣就能真正發揮金字塔的VBA功能了。

     

  • 金字塔客服:

    還有,不清楚為什么金字塔的Array函數,速度為什么這么慢,讀入幾千個數據,可能就需要幾秒鐘。比VBA的數組函數賦值要慢許多。

    它的搜索的函數FIND,效率也極低。也不如直接用VBA循環查找得快。

    這類的函數,建議做次升級。提高金字塔整體的VBA代碼運行效率

     

  • 用戶回復:

    EXCEL下測試的代碼,及結果

    Sub 逐個讀單元格的效率()
        Dim x(65536)
        t = Time
        For j = 1 To 5
            For i = 1 To 65536
                x(i) = Cells(i, 1)
            Next
        Next
        Debug.Print Time & "|" & t
    End Sub
    Sub 整體賦值給數組的效率()
        t = Time
        For j = 1 To 200
            x = [a1:a65536]
        Next
        Debug.Print Time & "|" & t
    End Sub
    '大約可以提速50倍
    Sub Array對象的效率()
        t = Time
        Set d = CreateObject("Stock.Array")
        For i = 1 To 1000
            d.AddBack (Cells(i, 1))
        Next
        Debug.Print Time & "|" & t
    End Sub
    Sub 直接讀入數組的效率()
        Dim x(1000)
        t = Time
        For j = 1 To 200
            For i = 1 To 1000
                x(i) = (Cells(i, 1))
            Next
        Next
        Debug.Print Time & "|" & t
    End Sub
    '大約可以提速200倍以上

    結論:如果金字塔的各對象返回的直接是數組的話,會提高金字塔整體效率的50倍以上,甚至更多。

     

  • 網友回復:

    是滴,是滴。

    金字塔的ARRRAY函數是擺設

    [此貼子已經被作者于2013-5-21 23:13:42編輯過]

 

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

可聯系技術人員 QQ: 1145508240  有需要幫忙請點擊這里留言!!!進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 国精品无码一区二区三区左线| 亚洲日本韩国在线| 亚洲另类专区欧美制服| 精品香蕉在线观看免费| 无码AV中文一区二区三区| 再深点灬舒服灬太大了添老师| 99精品全国免费观看视频| 欧美成人另类人妖| 天天干天天色综合网| 亚洲字幕在线观看| 高雅人妻被迫沦为玩物| 成人免费无码大片a毛片| 亚洲精品亚洲人成在线| 欧美黄色一级在线| 成年午夜无码av片在线观看 | 欧美日本国产VA高清CABAL| 十八禁视频在线观看免费无码无遮挡骂过 | 动漫精品第一区二区三区| 黄色一级片在线播放| 尤物在线影院点击进入| 又大又粗又爽的三级小视频| 99亚洲精品高清一二区| 日韩色视频在线观看| 啊~用力cao我cao烂我小婷| 中国老人倣爱视频| 欧美精品黑人粗大视频| 国产偷亚洲偷欧美偷精品| www.99色| 案件小说2阿龟婚俗验身| 国产91青青成人a在线| 99视频在线看观免费| 无码av大香线蕉伊人久久| 亚洲AV无码精品网站| 精品人妻无码专区在中文字幕| 国模杨依粉嫩蝴蝶150P| 一级毛片试看三分钟| 杨晨晨被老师掀裙子露内内| 亚洲精品韩国美女在线| 达达兔欧美午夜国产亚洲| 在线观看视频99| 久久伊人久久亚洲综合|