大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現(xiàn)在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識(shí)>>正文內(nèi)容

求助:VBA做參數(shù)優(yōu)化時(shí)內(nèi)存不斷的耗盡 [金字塔]

  • 咨詢內(nèi)容:

    用下面VBS對(duì)某個(gè)指標(biāo)做參數(shù)優(yōu)化時(shí),內(nèi)存會(huì)不斷耗盡,請(qǐng)教大俠如何解決,謝謝!

     

     for j=6 to 20 step 1
     for k=8 to 36 step 1
     
     test = "W_TEST(" & j & "," & k & ",30)"

     for i=0 to 1166-1
       dim MarketData1, Report1, Fomula1
       set MarketData1 = MarketData
       Set Report1 = MarketData1.GetReportDataByIndex("SZ",i)
       Set Formula1 = MarketData1.STKINDI(Report1.Label,"SZ",test,0,4)
       sg =  Formula1.GetBufData("SG", Formula1.DataSize-1)
       Application.PeekAndPump     
       Set Report1 = Nothing
       Set Formula1 = Nothing 

       set MarketData1 = Nothing
      next
      next

     next

     

  • 金字塔客服: 建議檢查一下是不是你的其他代碼因?yàn)槟撤N原因沒有釋放導(dǎo)致的問題,我們檢查過金字塔代碼,VBA在創(chuàng)建公式對(duì)象時(shí)不會(huì)多次分配內(nèi)存的

     

  • 用戶回復(fù):

    謝謝回復(fù)!可能是我測(cè)試的指標(biāo) W_TEST2中又調(diào)用了VBA自定義的函數(shù),

    然后VBA函數(shù)中申請(qǐng)了返回?cái)?shù)組返回出去了,是不是這個(gè)數(shù)組在外面沒地方釋放,出現(xiàn)了內(nèi)存泄漏。

    下面是測(cè)試的代碼,請(qǐng)確認(rèn)。

     

    測(cè)試宏:

    Sub M_Test()

     dim sg, wn, sn, st, test
     
     for j=6 to 20 step 1
     for k=8 to 36 step 1
     
     sg = 0
     
     test = "W_TEST2(" & j & "," & k & ",30)"
     Application.MsgOut(test) 

      for i=0 to 1166-1
       dim MarketData1, Report1, Fomula1
       set MarketData1 = MarketData
       Set Report1 = MarketData1.GetReportDataByIndex("SZ",i)
       Set Formula1 = MarketData1.STKINDI(Report1.Label,"SZ",test,0,4)
       sg = sg + Formula1.GetBufData("SG", Formula1.DataSize-1)
       
       Application.PeekAndPump     
       Set Report1 = Nothing
       Set Formula1 = Nothing 
       Set MaketData1 = Nothing 
      next
     
     next
     next   

     MsgBox "計(jì)算完成!"
     
    End Sub

     

    測(cè)試指標(biāo)  W_TEST2 :

    INPUT:  N(14, 1, 50),M(18, 0, 100);

    BS: CU_MA1(C, N) + CU_MA1(C, M);
    SG: BS;

     

    系統(tǒng)自帶的自定義函數(shù) CU_MA1:

    '計(jì)算序列模式下指定周期長度的收盤價(jià)均價(jià)
    Function CU_MA1(Formula,CLOSE,CYC)
       CU_MA1=0

        '防止公式逐周期模式時(shí)調(diào)用
        If Formula.WorkMode = 0 Then
            Exit Function
        End If

        'CLOSE數(shù)組數(shù)據(jù)長度一定會(huì)與Formula.DataSize-1相等
        DataCount = UBound(CLOSE)
        If DataCount <> Formula.DataSize-1 Then
            Exit Function
        End If

        '定義一個(gè)計(jì)算返回的數(shù)組
        Dim ResultMa
        Redim ResultMa(DataCount)

        For i = Cyc-1 To Formula.DataSize-1
            Count = 0
            For k = i-(Cyc-1) To i
                Count = Count + CLOSE(k)
            Next
            ResultMa(i) = Count / Cyc
        Next

        '返回一個(gè)計(jì)算完畢的均線數(shù)組
        CU_MA1 = ResultMa
    End Function

     


     

  • 網(wǎng)友回復(fù):

    這個(gè)做法恐怕不行,會(huì)導(dǎo)致問題,建議你不要在PEL中使用自定義函數(shù),又拿VBA來做調(diào)用。

    建議將你的PEL中的VBA自定義函數(shù)的算法,直接移植到VBA中,只直行簡單的單次調(diào)用

 

有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 1145508240  有需要幫忙請(qǐng)點(diǎn)擊這里留言!!!進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價(jià)格!


【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 欧美亚洲高清日韩成人 | www男女| 欧美精品一区二区三区在线播放 | 香蕉视频在线观看免费 | 成人国产欧美精品一区二区 | 99国内精品 | 涩涩www在线观看免费高清 | 日韩一二区| 激情综合色综合啪啪开心 | 欧美日韩综合视频 | 亚洲不卡一区二区三区在线 | 站长推荐国产午夜免费视频 | 99久久精品国产综合一区 | 西西大胆实体啪啪色哟哟 | 国产午夜精品一区二区三区嫩草 | 国产亚洲精品一区999 | 欧美日韩一二三区免费视频观看 | 精品视频一区二区三三区四区 | 韩国19禁青草福利视频在线 | 久久99亚洲精品久久久久99 | 99r精品视频 | 精品99在线观看 | 2019av在线视频| 久久精品国产精品亚洲综合 | se婷婷| 久热久操| 亚洲精品一区二区在线观看 | 欧美一级α片毛片免费观看 | 性视频久久 | 日本在线黄色 | 日韩免费在线 | 在线播放日本爽快片 | 国产亚洲新品一区二区 | 九九热视频免费 | 国产精品v一区二区三区 | 高清毛片在线看高清 | 亚洲免费视频一区二区三区 | 亚洲成人在线网 | 亚洲国产精品不卡毛片a在线 | 亚洲成人在线观看视频 | 日本亚洲国产精品久久 |