返回列表 上一主題 發帖

[發問] 請教抓取太平洋證卷的DDE 要如何從中抓取每分鐘的最大成交價及最小成交價

[發問] 請教抓取太平洋證卷的DDE 要如何從中抓取每分鐘的最大成交價及最小成交價

網站各為先進您好~
想請教一下,小弟目前是太平洋證卷抓取DDE相關資料到EXCEL,,再用簡單的EXCEL程式去最運算,
想請教一下,如果我要去記錄每分鐘K線的高低價,該如何去寫ㄋ??
請各為提供意見
感謝萬分

回復 2# c_c_lai

板大您好~
感謝您熱心分享,我想要的期貨每分鐘的成交價高點和低點,不知該如何去編寫??
另外請教一下,如果要記錄每分鐘期貨成交價的高低點,是不是就要改成每秒寫入還是每筆寫入ㄋ??

TOP

回復 4# c_c_lai

感謝板大熱心分享,對於EXCEL寫VBA,我是完全門外漢,冒昧請教,我如果如接複製您的程式碼到EXCEL 編碼那貼上,可以執行試跑ㄇ
還是有哪邊需要再修改才能跑??感謝分享:)

TOP

回復 6# c_c_lai

您好~
我的只是用很簡單的資料去抓取一些相關資料只有設定每分鐘抓取DDE儲存格的資料來做紀錄
您看一下

Option Explicit
Dim LastMin As Integer

Private Sub Workbook_Open()
    Sheets("策略記錄").Cells(4, 2) = 12
    LastMin = Minute(Time)
    Call Timer
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Application.OnTime Now + TimeValue("00:00:01"), "ThisWorkbook.Timer", , False
End Sub


Public Sub Timer()
    Dim Pos As Integer, i As Integer, RangeStr As String
        
    On Error Resume Next
    Application.OnTime Now + TimeValue("00:00:01"), "ThisWorkbook.Timer" '每秒顯示
    Sheets("策略記錄").Cells(1, 1) = Time '將時間show至策略的a1欄位
    Dim HHMM As Integer
    HHMM = Hour(Time) * 100 + Minute(Time)
    If (HHMM < 830 Or HHMM > 1346) Then Exit Sub '營業時間才執行
    If Minute(Time) <> LastMin Then '開始後做
        With Sheets("策略記錄")
            .Cells(4, 2) = .Cells(4, 2) + 1 '將變動行號加一行
            Pos = .Cells(4, 2)
            .Cells(Pos, 1) = Time
            .Cells(Pos, 2) = .Cells(2, 2)
            .Cells(Pos, 3) = .Cells(2, 3)
            .Cells(Pos, 4) = .Cells(2, 4)
            .Cells(Pos, 5) = .Cells(2, 5)
            .Cells(Pos, 6) = .Cells(2, 6)
            .Cells(Pos, 7) = .Cells(2, 7)
            .Cells(Pos, 8) = .Cells(2, 8)
            .Cells(Pos, 9) = .Cells(2, 9)
            .Cells(Pos, 10) = .Cells(2, 10)
            .Cells(Pos, 11) = .Cells(2, 11)
            .Cells(Pos, 12) = .Cells(2, 12)
            .Cells(Pos, 13) = .Cells(2, 13)
            .Cells(Pos, 14) = .Cells(2, 14)
            .Cells(Pos, 15) = .Cells(2, 15)
            .Cells(Pos, 16) = .Cells(2, 16)
            .Cells(Pos, 17) = .Cells(2, 17)
            
            



         
        End With
   
        LastMin = Minute(Time)
    End If
End Sub


像您貼的檔案,我就真的不知道還要修改哪邊,才能自動寫入了,煩請您教導一下(因為我完全不懂VBA編碼........請別見笑)
另外想向您請教一下,您有6月以前的台指奇多空力道的資料及成交價ㄇ??

感謝您

TOP

回復 8# c_c_lai
您好~
附檔為我目前用最簡單的時間去紀錄相關資料,幾個問題請教
如果要讓它自動寫入,而不透過前一頁太平洋好神通的DDE抓取
該如何修改程式碼??另外在請教  如果我要記錄每分鐘成交價的最高及最低點
又該如何抓取ㄋ??煩請您幫忙解惑

感謝您!!

DDE.rar (57.81 KB)

TOP

回復 11# c_c_lai


奇怪了,大大您所提供的程式碼,我下去RUN,居然不會動ㄟ,連我改了系統的時間,還是不會動,不知道是那兒有問題??

TOP

回復 15# GBKEE

板大 您好~
似乎看不是很懂您的程式碼?不知您的意思是指 ThisWorkbook 的內碼改成您的程式碼??
另外再插入一個模組(工作表1.紀錄)把您的文貼上去這樣就可以執行ㄇ??

感謝您的回覆與分享

TOP

請教一下~
目前抓的可以記錄每分鐘的高低點了,但是有一個問題就是時間,總是無法在整數時提供數據,我發現有時在1X/2X/5X 才會紀錄數據,這樣不就數據失真了ㄇ??想請教各位,用EXCEL VBA去寫,到頭來還是無法準確抓到每分鐘的最高最低開盤收盤 成交價ㄇ??

TOP

        靜思自在 : 對父母要知恩,感恩、報恩。
返回列表 上一主題