返回列表 上一主題 發帖

[發問] 請教要記錄1分K的開高低收,要如何更改?

[發問] 請教要記錄1分K的開高低收,要如何更改?

本帖最後由 啊尼 於 2014-5-25 02:44 編輯

這是小弟更改的,但有紀錄的數值除了開盤點是可能對的,其他都有問題
If Second(Time) = 0 And Minute(Time) Mod 1 = 0 Then

'填 開高低收為即時行情
                If Range("C8") <> "" Or Range("C8").Value < Range("C5").Value Then
                      Range("C8").Value = Range("C5").Value
                    End If
      '填最高價
               If Range("D8").Value = "" Or Range("C8").Value > Range("D8").Value Then
                      Range("D8").Value = Range("C5").Value
                   End If
      '填最低價
               If Range("E8").Value = "" Or Range("C8").Value < Range("D8").Value Then
                      Range("E8").Value = Range("C5").Value
                    End If
   '填收盤價,就是即時行情
                 Range("F8").Value = Range("C5").Value
   End If

用的是E01的DDE,目前以道瓊測試!!


TEST 1分K.rar (69.51 KB)

非常感謝准提部林大大
可以正常使用了
謝謝~

TOP

回復 12# gery

試試看:
If Time > TimeValue(EndTime) And Time < TimeValue(StartTime) Then '收盤時間以後不執行
 Sht1.[O8] = "已過收盤"
 uMode = 0
 Exit Sub
End If

TOP

回復 11# 准提部林


想再請教大大  我是看國際期貨 所以想改他開收盤時間  假設我想開盤是下午6點 收盤是凌晨2點 不知道該怎麼改呢?謝謝:D

Sub 共用參照()
Set MyBook = ThisWorkbook
Set Sht1 = MyBook.Sheets("X2")
StartTime = "18:00:00"  '開盤時間(提早十秒開始,才可記錄開盤量價)"08:44:50"
EndTime = "02:00:00"    '收盤時間(延後十秒停止記錄)此為測試用時間,請自行更改正式時間 "13:45:10"
End Sub

Sub 自動記錄()
If uMode = 0 Then Exit Sub
If Time > TimeValue(EndTime) Then '收盤時間以後不執行
    Sht1.[O8] = "執行中"
    uMode = 0
    Exit Sub
End If

TOP

回復 9# gery


EXCEL.股票.DDE傳輸資料.固定時間自動記錄
http://blog.xuite.net/smile1000mile/blog/95125899

有些範例檔下載連結已失效, 可多試幾個(注意:下載檔檔名是否相同)

TOP

回復 9# gery


    http://www.FunP.Net/388336

TOP

回復 7# f3202

f32022大 不好意思 ~我只是小學生想要更了解這個一分鐘自動記錄是怎麼達到的,還不能下載附件檔!!不知道能不能截個圖讓我研究研究呢?拜託拜託!!

TOP

感謝大大的回應
目前以道瓊測試  開高低收 抓的算蠻準的
但是好像時間會差一分  看不出來程式在哪多了一分

TOP

  1. Public uMode&, StartTime, EndTime
  2. Public MyBook As Workbook, Sht1 As Worksheet, Sht2 As Worksheet, xRow&
  3. Dim o As Single
  4. Dim h As Single
  5. Dim l As Single
  6. Dim c As Single
  7. Sub 共用參照()
  8. Set MyBook = ThisWorkbook
  9. Set Sht1 = MyBook.Sheets("Sheet1")
  10. StartTime = "02:34:00"  '開盤時間(提早十秒開始,才可記錄開盤量價)"08:44:50"
  11. EndTime = "23:59:50"    '收盤時間(延後十秒停止記錄)此為測試用時間,請自行更改正式時間 "13:45:10"
  12. End Sub
  13. Sub 自動記錄()
  14. If uMode = 0 Then Exit Sub
  15. If Time > TimeValue(EndTime) Then '收盤時間以後不執行
  16.     Sht1.[J8] = "已過收盤"
  17.     uMode = 0
  18.     Exit Sub
  19. End If
  20. Sht1.Range("B8") = Time '當前時間(時間碼表)
  21. If Second(Time) = 0 And Minute(Time) Mod 1 = 0 Then '每1分鐘記錄,5分鐘則改為 Mod 5
  22. xRow = Sht1.Range("A65536").End(xlUp).Row + 1
  23.   If xRow < 9 Then xRow = 9
  24.    Sht1.Range("A" & xRow & ":I" & xRow).Value = Sht1.Range("A8:I8").Value
  25.     o = 0: h = 0: l = 0: c = 0
  26.      If ActiveSheet.Name = Sht1.Name And xRow > 20 Then
  27.      ActiveWindow.ScrollRow = xRow - 10 '讓最新資料保持在可見視窗中
  28. End If
  29.    Beep
  30. GoTo xxx
  31. Else
  32. c = Sheets("sheet1").Cells(5, 3)
  33.    If c > h Then h = c
  34.    If c < l Then l = c
  35.    If o = 0 Then o = Sheets("sheet1").Cells(5, 3) Else o = o
  36.    If l = 0 Then l = Sheets("sheet1").Cells(5, 3) Else l = l
  37. Range("C8").Value = o
  38. Range("d8").Value = h '填最高價
  39. Range("e8").Value = l '填最低價
  40. Range("f8").Value = c '填收盤價
  41. xxx:
  42.    ThisWorkbook.Save   '存檔
  43. End If
  44. Application.OnTime Now + TimeValue("00:00:01"), "自動記錄"
  45. End Sub
複製代碼
試看看

TOP

高低點還是抓得不準

TOP

        靜思自在 : 君子為目標,小人為目的。
返回列表 上一主題