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

計(jì)算股指合約當(dāng)天收盤前結(jié)算價(jià)并輸出到Excel [金字塔]

  • 咨詢內(nèi)容:

    Public MyXLL
    private StockCod(14),StockMarke(30)

    Sub APPLICATION_VBAStart()
     Call Application.SetTimer(10, 500)
     GetExcelFile("F:\test_jzt\Stock_index_fut.xlsx")
    End Sub


    Sub APPLICATION_Timer(ID)
    if cdate(time)>="10:52:00" then
    GetStockCode
    GetNewPrice
    end if
    end sub

     

    '取得要監(jiān)控的品種代碼
    Sub GetStockCode()
     dim i
     dim j
     i=CDbl(Document.GetPrivateProfileString("Stock","StockCount",1,"F:\test_jzt\Stock_index_fut.INI")) '品種數(shù)量
     For j=0 to i
      StockCod(j)=Document.GetPrivateProfileString("Stock","Cod" & Cstr(j),"","F:\test_jzt\Stock_index_fut.INI")  '品種號(hào)碼
     Next
    End Sub

    '取得對(duì)應(yīng)品種的最新價(jià)格
    Sub GetNewPrice()
     dim j
     dim i
     on error resume next
     i=CDbl(Document.GetPrivateProfileString("Stock","StockCount",1,"F:\test_jzt\Stock_index_fut.INI")) '取得合約數(shù)量
     For j=0 to i
       Set Report1 = marketdata.GetReportData(StockCod(j),"ZJ") '
       if cdate(time)<="14:15:01" then  '取得到兩點(diǎn)十五分的數(shù)據(jù)
         if Report1.volume>0 then
            MyXLL.Application.activesheet.Range("B" & Cstr(j+2)) =  StockCod(j)
            MyXLL.Application.activesheet.Range("C" & Cstr(j+2)) = report1.newprice
            MyXLL.Application.activesheet.Range("D" & Cstr(j+2)) =  report1.volume
            MyXLL.Application.activesheet.Range("E" & Cstr(j+2)) =  report1.SellAmount
            MyXLL.Application.activesheet.Range("F" & Cstr(j+2)) =  report1.BuyAmount
         end if  
       else
         if Report1.volume>0 then '取得最新數(shù)據(jù)
            MyXLL.Application.activesheet.Range("G" & Cstr(j+2)) = report1.newprice
            MyXLL.Application.activesheet.Range("H" & Cstr(j+2)) =  report1.volume
            MyXLL.Application.activesheet.Range("I" & Cstr(j+2)) =  report1.SellAmount
            MyXLL.Application.activesheet.Range("J" & Cstr(j+2)) =  report1.BuyAmount
         end if
      end if
     Next 
    End Sub


    '打開Excel
    Sub GetExcel()
        Const ERR_APP_NOTRUNNING = 429
     
        On Error Resume Next
        Set MyXLL = GetObject(, "Excel.Application")
        If Err = ERR_APP_NOTRUNNING Then
            Set MyXLL = CreateObject("Excel.Application")
        End If
       
        MyXLL.Application.Visible = True
    End Sub
    '打開某個(gè)excel文件
    Sub GetExcelFile(sFileName)
        '此過(guò)程暫停使用,替代過(guò)程為:GetExcel

        Dim sWinName                '窗口名
        Dim iPos
       
        '測(cè)試 Microsoft Excel 的副本是否在運(yùn)行。
        On Error Resume Next    '延遲錯(cuò)誤捕獲。
        '不帶第一個(gè)參數(shù)調(diào)用 Getobject 函數(shù)將
        '返回對(duì)該應(yīng)用程序的實(shí)例的引用。
        '如果該應(yīng)用程序不在運(yùn)行,則會(huì)產(chǎn)生錯(cuò)誤。
        Set MyXLL = GetObject(, "Excel.Application")
        If Err.Number <> 0 Then
      Set MyXLL = CreateObject("Excel.Application")
     End if

        '將對(duì)象變量設(shè)為對(duì)要看的文件的引用。
        Set MyXLL = GetObject(sFileName)
       
        iPos = InStrRev(sFileName, "\", -1, vbTextCompare)
        sWinName = Mid(sFileName, iPos + 1, Len(sFileName) - iPos - 4)
       
        '設(shè)置其 Application 屬性,顯示 Microsoft Excel。
        '然后使用 MyXL 對(duì)象引用的 Windows 集合
        '顯示包含該文件的實(shí)際窗口。
        MyXLL.Application.Visible = True
        MyXLL.Application.ScreenUpdating = True
        MyXLL.Parent.Windows(1).Activate
        MyXLL.Application.Sheets(1).Visible=true
    End Sub

    '關(guān)閉Excel
    Sub CloseExcel()
        On Error Resume Next
        MyXLL.Application.DisplayAlerts = False
        'MyXL.Application.Save
        MyXLL.Application.Quit
    '    Set MyXL = Nothing    '釋放對(duì)該應(yīng)用程序
    End Sub

     


     

    建立一個(gè)名為F:\test_jzt\Stock_index_fut.ini格式文件,內(nèi)容為:

     [Stock]
         StockCount=13        
         Cod0=IF00
         Cod1=IF01
         Cod2=IF02
         Cod3=IF03
         Cod4=IF04
         Cod5=IF05
         Cod6=IF06
         Cod7=IF07
         Cod8=IF08
         Cod9=IF09
         Cod10=IF10
         Cod11=IF11
         Cod12=IF12
         Cod13=IF13

    建立一個(gè)F:\test_jzt\Stock_index_fut.xls表格。

     

     

     

    小生從此論壇學(xué)到不少東西,現(xiàn)將最近做的一個(gè)程序上傳,里面有不少內(nèi)容借鑒論壇內(nèi)前輩高人的知識(shí),如有版權(quán)侵犯,還請(qǐng)包涵。同時(shí)該程序還不少不足之處,有待改正,望塔友建議之。

     

     

     

  • 金字塔客服: 直接把計(jì)算結(jié)算價(jià)部分的代碼寫到vba代碼內(nèi)部,不用excel,效果會(huì)更好。

     

  • 用戶回復(fù): 學(xué)習(xí)了,大師有傳人了。

 

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

可聯(lián)系技術(shù)人員 QQ: 262069696  點(diǎn)擊在線交流進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價(jià)格!


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

相關(guān)文章

主站蜘蛛池模板: 高级秘密俱乐部的娇妻| 一本大道香蕉久在线不卡视频| 狠狠久久永久免费观看| 成年女人永久免费看片| 亚洲精品成人a在线观看| 青娱乐在线视频盛宴| 国产高清在线精品免费软件| 中文字幕影片免费在线观看 | 在线免费观看欧美大片| 久久99精品久久久大学生| 欧美午夜精品久久久久免费视| 北条麻妃jul一773在线看| 高清欧美性猛交xxxx黑人猛交| 国产麻豆一级在线观看| 三个馊子伦着玩小说冫夏妙晴| 日韩精品中文字幕在线| 亚洲砖码砖专无区2023| 精品国产柚木在线观看| 国产国产成人久久精品杨幂| 69国产成人综合久久精品91| 妞干网手机视频| 久久久91精品国产一区二区| 欧美jizzhd精品欧美| 亚洲精选在线观看| 精品国产天堂综合一区在线| 国产伦精品一区二区三区在线观看 | 最近2019中文字幕mv免费看| 亚洲精品国产福利片| 精品亚洲欧美无人区乱码| 国产丝袜无码一区二区三区视频 | 免费中文字幕在线观看| 色偷偷91久久综合噜噜噜噜| 国产成人无码aa精品一区| 2019天天操天天干天天透| 天堂岛最新在线免费看电影| 中文字幕在线亚洲精品| 日韩av第一页在线播放| 亚洲av第一页国产精品| 欧美日韩国产一区二区三区欧| 人妻妺妺窝人体色WWW聚色窝| 经典国产乱子伦精品视频 |