人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

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

vba字典在金字塔中如何表示 [金字塔]

  • 咨詢內容:

    問題:

         在鄭州期貨市場,將商品名稱左邊兩位存入數組MC(),
            通過輸出,驗證MC()確實有數據 

               希望:把數組MC()里記錄裝入字典,過濾掉重復的記錄。

                  但 加入數據時提示錯誤。

     

         期望得到幫助和指導,謝謝。

     

    ,,,,

    Set d=CreateObject("Scripting.Dictionary")     '將數組MC()裝入字典,濾掉重復記錄
    for qq=0 to ubound(mc)
    d.Add mc(qq)                                               '加入數據時出現錯誤
    next
    application.MsgOut d.count                   
    End Sub

     

     

    下邊為測試時源代碼:

     

    Sub t_lx()  '在鄭州期貨市場,將商品名稱左邊兩位存入數組MC()
    dim mc()
    dim d
    Count = MarketData.GetReportCount("zq")
    redim mc (Count-1)
    For i = 0 To Count-1 
    set Report3 = MarketData.GetReportDataByIndex("zq",i)                                         
    mc(i)=Left(Report3.stockname,2)
    Next
    for nn= 0 To i-1
    application.MsgOut mc(nn)    '通過輸出,驗證MC()確實有數據 
    Next

    Set d=CreateObject("Scripting.Dictionary") '將數組MC()裝入字典,濾掉重復記錄
    for qq=0 to ubound(mc)
    d.Add mc(qq)                       '加入數據時出現錯誤
    next
    application.MsgOut d.count                   
    End Sub

     

  • 金字塔客服: 字典是有鍵值對的,就是說有兩列數據,你存入的時候,只有一個值,當然出錯了。

     

  • 用戶回復: 以下是引用guotx2010在2013-2-28 16:30:05的發言:
    字典是有鍵值對的,就是說有兩列數據,你存入的時候,只有一個值,當然出錯了。

    redim mc(Count-1) '名稱
    redim dm(Count-1) ’代碼

    mc(i)=Left(Report3.stockname,4)
    dm(i)=Right(Report3.Label,2)

     

    d.Add mc(qq),dm(qq)    還是提示錯誤:

     

    編輯器錯誤“457”,由于控件無法看到、尚未啟用,或其他類型不接受焦點,因此無法將焦點移至該控件。

     

    請老師再賜教。

     

       另外,測試了論壇中“找主力合約”的例子,在本機上運行正常,里邊也應用到“字典”,因個人水平較低,看不出例子為啥就能運行。

     

     

     

     

     

     

     

  • 網友回復: ''''''這是我用著的代碼
    Set dominantContract=CreateObject("Scripting.Dictionary")
    '枚舉合約,將連續合約的代碼和對應市場代碼分別作為鍵和值存入字典容器,供后續操作調用
    Sub GetLxCode()
     Dim marketName
      dominantContract.RemoveAll
      marketName=Array("SQ","DQ","ZQ","ZJ")
      prefixStockNameOld=""
     c"
      contractVol=0
     
      For j=0 To UBound(marketName)
        n=marketData.GetReportCount(marketName(j))
        For i=0 To n-1
          Set reportData=marketdata.GetReportDataByIndex(marketName(j),i)
          prefixStockNameCur=left(reportData.StockName,2)
          suffixStockNameCur=right(reportData.StockName,2)
          If suffixStockNameCur>="00" And suffixStockNameCur<"99" And reportData.Volume>0 Then
          'If suffixStockNameCur="00" And reportData.Volume>0 Then
           If prefixStockNameCur<>prefixStockNameOld Then
             If contractLabel<>"" Then
               dominantContract.Add contractLabel,contractMarket
             End If
             prefixStockNameOld=prefixStockNameCur
             contractLabel=reportData.Label
             contractMarket=marketName(j)
             contractVol=reportData.Volume
           ElseIf reportData.Volume>contractVol then
             contractLabel=reportData.Label
             contractVol=reportData.Volume
           End If
         End If
        Next 
      Next
      dominantContract.Add contractLabel,contractMarket
     End sub

     

  • 網友回復:

     prefixStockNameOld=""
     c"
    感覺這兩句很神秘,在程序中是啥意思?尤其是Old。

    希望老師能把每一條代碼給給注釋,便于學習。

    另外:dominantContract.Add contractLabel,contractMarket

    如果想把字典中已經裝入的記錄逐條顯示出來,應該怎么寫。

    總感覺金字塔里字典的用法與VBA 不太一樣,懇請指點。

    謝謝。

 

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

可聯系技術人員 QQ: 262069696  點擊在線交流進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 亚洲国产高清在线精品一区 | 特级理论片 | 国精品日韩欧美一区二区三区 | 香港经典a毛片免费观看爽爽影院 | 欧美在线观看网址 | 欧美a级在线观看 | 欧美亚洲国产一区 | 鲁丝片一区二区三区毛片 | 欧美精品一区在线看 | 天天摸天天操天天射 | 日本不卡二区 | 荡娃艳妇系列小说 | 国产高清在线精品一区免费97 | 性色在线视频 | 亚洲成人综合在线 | 啪啪亚洲| 黄色大片在线免费看 | 直接看的黄色网址 | 日本韩国一区二区三区 | 国产成人精品日本亚洲11 | 国产欧美日韩不卡 | 在线看的你懂的 | 夜色资源网站 | 免费看h片网站 | 九九亚洲视频 | 成人欧美视频在线观看 | 日日添日日摸 | 欧美性猛交xxxxx按摩国内 | 亚洲观看视频 | 精品国产一二三区 | 综合久久久久久 | 超97在线观看精品国产 | 欧美香蕉在线 | 亚洲日本1区2区3区二区 | 免费网站看v片在线成人国产系列 | 国产亚洲综合一区 柠檬导航 | 欧美日在线观看 | 亚洲欧美日韩伦中文 | 国产欧美亚洲精品a | 国产人成久久久精品 | 国产亚洲精品观看91在线 |