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

將指定期貨最新行情數(shù)據(jù)寫入Excel的代碼 [金字塔]

  • 咨詢內(nèi)容:

    Public MyXL
    private StockCode(30),StockMarket(30)

    Sub APPLICATION_VBAStart()
     Call Application.SetTimer(10, 500)
     GetExcelFile("D:\Stock.xls")
    End Sub

    Sub APPLICATION_Timer(ID)
     GetStockCode
     GetNewPrice
    end sub

    Sub GetNewPrice()
      dim i
     dim j
     on error resume next
     i=CDbl(Document.GetPrivateProfileString("Stock","StockCount",1,"D:\StockCode.INI"))
     For j=1 to i
      application.MsgOut "正在導(dǎo)出:" & StockCode(j) & "行情..."
       Set Report1 = marketdata.GetReportData(StockCode(j),StockMarket(j))
       MyXL.Application.activesheet.Range("C" & Cstr(j+3)) =  StockCode(j)
      MyXL.Application.activesheet.Range("D" & Cstr(j+3)) =  report1.BuyPrice1
      MyXL.Application.activesheet.Range("E" & Cstr(j+3)) =  report1.SellPrice1
     Next  
    End Sub

    '取得要監(jiān)控的品種代碼
    Sub GetStockCode()
     dim i
     dim j
     i=CDbl(Document.GetPrivateProfileString("Stock","StockCount",1,"D:\StockCode.INI"))
     For j=1 to i
      StockCode(j)=Document.GetPrivateProfileString("Stock","Code" & Cstr(j),"","D:\StockCode.INI")  '品種號碼
      StockMarket(j)=Document.GetPrivateProfileString("Stock","Market" & Cstr(j),"","D:\StockCode.INI") '交易所代碼
      'application.MsgOut "i:" & i & "," & stockcode(j) & "," & StockMarket(j)
     Next
    End Sub
    '打開Excel
    Sub GetExcel()
        Const ERR_APP_NOTRUNNING = 429
     
        On Error Resume Next
        Set MyXL = GetObject(, "Excel.Application")
        If Err = ERR_APP_NOTRUNNING Then
            Set MyXL = CreateObject("Excel.Application")
        End If
       
        MyXL.Application.Visible = True
    End Sub
    '打開某個excel文件
    Sub GetExcelFile(sFileName)
        '此過程暫停使用,替代過程為:GetExcel

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

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

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

     

    使用說明:

       1、新建一個模塊,將上述代碼復(fù)制到新建的模塊;

       2、在D:\建立一個Excel文件,命名為Stock.xls

       3、在D:\建立一個StockCode.ini文件,設(shè)置需要導(dǎo)出的代碼,格式如下:

         [Stock]
         StockCount=5           

         Code1=TWGD
         Market1=XH

         Code2=XHAP
         Market2=XH

         Code3=XHGT
         Market3=XH

         Code4=XHPD
         Market4=XH

         Code5=XHGT
         Market5=XH

         ...

        說明:StockCount=5那行指定要導(dǎo)出的期貨品種數(shù)

                下面的Code1是第一個品種的代碼,Market1是該商品的市場代碼,以下代碼依次按照序號往下編排。


     

     


     

  • 金字塔客服:

    使用此模塊可以同時導(dǎo)出15個左右品種的行情數(shù)據(jù),每0.5秒導(dǎo)出一次,品種再多的話,可能會出現(xiàn)延時現(xiàn)象,我試過使用多個計(jì)時器同時導(dǎo)出,每一個計(jì)時器導(dǎo)出10個品種,可以減小延時現(xiàn)象,但是會出現(xiàn)運(yùn)行不穩(wěn)定,運(yùn)行10幾分鐘就自動停止,如果金字塔的VBA后臺能支持多線程,可能就可以很好的解決這個問題。

     

     

  • 用戶回復(fù): 請教版主:按照上面所說的操作,消息窗口顯示:正在導(dǎo)出:行情;EXCEL也打開了,就是沒有具體文件打開和顯示,不知道問題出在哪里?

     

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

    先打開Excel文件,再啟動金字塔就行了。

     

     

  • 網(wǎng)友回復(fù): 好像還是不行,EXCEL里面還是沒有信息; 1、ini文件我是用記事本方式建立的,是不是對?/ 2、另外如果我要取IF1106數(shù)據(jù),品種的代碼:IF,商品的市場代碼:IF06,是嗎?如下 [Stock] StockCount=10 Code1=IF Market1=IF01 Code2=IF Market2=IF02 Code3=IF Market3=IF00 Code4=CU Market4=CU00 Code5=CU Market5=CUO8 謝謝斑竹

 

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

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


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

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 亚洲精品无码av人在线观看| 国产无套粉嫩白浆在线| 久久亚洲国产成人亚| 欧美黑人疯狂性受xxxxx喷水| 国产一级理论免费版| 18女人腿打开无遮挡网站| 开始疼痛的小小花蕾3| 久青青在线观看视频国产| 激情五月激情综合网| 四虎影视永久在线精品免费| 日本视频一区在线观看免费| 天天狠狠色噜噜| 久久99精品久久久久久青青日本| 欧美午夜理伦三级理论三级| 免费A级毛片在线播放不收费| 车车好快的车车流水网站入口| 国产精品毛片一区二区| yy6080欧美三级理论| 日日操夜夜操狠狠操| 亚洲人成伊人成综合网久久久 | 成年美女黄网站18禁免费| 亚洲av永久无码精品古装片 | 精品一区二区三区AV天堂| 国产初次破初视频情侣| 天堂www网最新版资源官网| 天堂√最新版中文在线| 中文字幕av无码无卡免费| 日韩大片在线永久免费观看网站| 亚洲日韩精品欧美一区二区一| 精品久久久久久久久午夜福利| 国产一级毛片大陆| 国产在线乱子伦一区二区| 国产资源视频在线观看| xxxxx性bbbbb欧美| 成年片人免费www| 久久精品国产亚洲夜色AV网站| 欧美国产激情二区三区| 亚洲精品无码人妻无码| 精品久久久久国产免费| 四虎国产精品永久地址99| 韩国理论片中文字幕版电影|