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

百度搜索

計算股指合約當天收盤前結算價并輸出到Excel [金字塔]

  • 咨詢內容:

    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

     

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

    '取得對應品種的最新價格
    Sub GetNewPrice()
     dim j
     dim i
     on error resume next
     i=CDbl(Document.GetPrivateProfileString("Stock","StockCount",1,"F:\test_jzt\Stock_index_fut.INI")) '取得合約數量
     For j=0 to i
       Set Report1 = marketdata.GetReportData(StockCod(j),"ZJ") '
       if cdate(time)<="14:15:01" then  '取得到兩點十五分的數據
         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 '取得最新數據
            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
    '打開某個excel文件
    Sub GetExcelFile(sFileName)
        '此過程暫停使用,替代過程為:GetExcel

        Dim sWinName                '窗口名
        Dim iPos
       
        '測試 Microsoft Excel 的副本是否在運行。
        On Error Resume Next    '延遲錯誤捕獲。
        '不帶第一個參數調用 Getobject 函數將
        '返回對該應用程序的實例的引用。
        '如果該應用程序不在運行,則會產生錯誤。
        Set MyXLL = GetObject(, "Excel.Application")
        If Err.Number <> 0 Then
      Set MyXLL = CreateObject("Excel.Application")
     End if

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

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

     


     

    建立一個名為F:\test_jzt\Stock_index_fut.ini格式文件,內容為:

     [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

    建立一個F:\test_jzt\Stock_index_fut.xls表格。

     

     

     

    小生從此論壇學到不少東西,現將最近做的一個程序上傳,里面有不少內容借鑒論壇內前輩高人的知識,如有版權侵犯,還請包涵。同時該程序還不少不足之處,有待改正,望塔友建議之。

     

     

     

  • 金字塔客服: 直接把計算結算價部分的代碼寫到vba代碼內部,不用excel,效果會更好。

     

  • 用戶回復: 學習了,大師有傳人了。

 

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

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


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

相關文章

主站蜘蛛池模板: 日本人成动漫网站在线观看| 真实国产乱子伦久久| 国产精品精品自在线拍| www.日韩精品| 扒开粉嫩的小缝喷出水视频 | 女人体1963毛片a级| 久久99亚洲网美利坚合众国| 日韩精品久久一区二区三区| 亚洲国产三级在线观看| 污视频网站在线| 假山后面的呻吟喘息h| 精品无码国产自产拍在线观看| 炕上摸着老妇雪白肥臀| 国产一卡二卡3卡4卡四卡在线| 99久久免费国产香蕉麻豆| 国产精品久久自在自线观看| 91麻豆精品国产一级| 天堂√在线中文最新版8| а√最新版地址在线天堂| 成人午夜视频免费看欧美| 久久久不卡国产精品一区二区| 日韩三级电影院| 五月婷婷电影网| 欧美一区二区三区视频在线观看 | 精品久久久久久中文字幕| 啊快点再快点好深视频免费| 色婷婷免费视频| 国产亚洲精品美女久久久久| 饭冈加奈子黑人解禁在线播放| 国产成人涩涩涩视频在线观看| 欧美在线色视频| 国产欧美日韩精品丝袜高跟鞋 | 亚洲一级毛片在线播放| 欧美另类杂交a| 亚洲国产日韩在线成人蜜芽| 欧美牲交a欧美牲交aⅴ免费真| 亚洲精品成人久久| 永久免费无内鬼放心开车| 人人澡人人澡人人澡| 深夜a级毛片免费视频| 亚洲黄色在线播放|
网站统计