返回列表 上一主題 發帖

如何將台指期的每一分鐘資料都紀錄在sheet 1裡..請教版上高手前輩~~

本帖最後由 c_c_lai 於 2012-12-15 08:20 編輯
有時會發生一種情形, 就是DDE都有顯示連結成功. 但是真的到盤中時, 卻沒跳動. 解決方式確實是重開 ...
bobo177 發表於 2012-12-14 22:39

還是老話一句:
1.  如果券商的軟體掛了重新開啟, EXCEL 亦要一併先予關閉後再開 (重新連結DDE)。
     程序是:1. 券商的軟體、以及已開啟的 EXCEL 兩者均要先行關閉;
                     2. 先開啟券商軟體、之後再開啟  EXCEL。
2.  如果券商的軟體開啟正常, EXCEL 都有顯示DDE連結成功,而正常開啟後,
     如果有去瀏覽程式碼不小心異動了程式、或者是之後又另外開啟另一支有 VBA
    執行的 EXCEL (此過程先前已開啟的 EXCEL  依然還在執行中),極有可能它會影響
    到之前已開啟的 EXCEL 而造成不意中斷。此時先前已開啟的 EXCEL 亦要一併先予
    關閉後再重開 (重新連結DDE), 當然之後第二支另外開啟的 EXCEL 要先關閉。
3. 如都不是,那就要評估你的 EXCEL 程式碼了。

TOP

回復 40# cfuxiong
38# : 只改到欄數,沒改到位址!!!  ,已更正可再參考一下!

  1.             ' .Cells(Pos, 2).Resize(, 8) = .[b10:g10].Value  'b10:g10 只有6欄 ***這行不要了****
  2.            ' .Cells(Pos, 2).Resize(, 6) = .[b10:g10].Value   '只要修改到欄數為 6 , 沒改到位址
  3.              .Cells(Pos, 2).Resize(, 6) = .[b2:g2].Value   ' *** 這才完全正確 ***
複製代碼

TOP

回復  cfuxiong
還有如果券商的軟體掛了重新開啟, EXCEL 亦要一併先予關閉後再開 (重新連結DDE)。
c_c_lai 發表於 2012-10-3 20:28



    有時會發生一種情形, 就是DDE都有顯示連結成功. 但是真的到盤中時, 卻沒跳動. 解決方式確實是重開券商軟體, 連同EXCEL一起更好.
只是很奇怪的是, 為什麼會有這種情形呢?  

TOP

回復 38# GBKEE
對不起~~~忘了附件~~

即時量態a.zip (24.16 KB)

50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 38# GBKEE
GBKEE大你好;能否煩請查核[巨集]是否編輯正確,(8:45~13:45)資料是有撈進來但卻不能記錄~~
50 字節以內
不支持自定義 Discuz! 代碼

TOP

本帖最後由 GBKEE 於 2012-12-15 07:21 編輯

回復 37# cfuxiong
程式碼中 每行程式碼 前面的 ' 是作為程式碼的註解(解釋用) 程式不會執行的
  1. If Time < #9:00:00 AM# Or Time > #1:30:00 PM# Then Exit Sub  '營業時間才執行
  2.     If Second(Time) Mod 60 = 0 Then '間隔60秒         
  3.     'If Second(Time) Mod 5 = 0 Then '間隔5秒 10秒 15秒 ....  這行是註解解釋 舉列 5 為每5秒  類推....     
  4.         With Sheets("策略記錄")
  5.             .Cells(4, 2) = .Cells(4, 2) + 1 '將變動行號加一行
  6.             Pos = .Cells(4, 2)
  7.             .Cells(Pos, 1) = Time
  8.           '  .Cells(Pos, 2).Resize(, 8) = .[b10:g10].Value   '** 如執行此行 會有2個 "#NA"
  9.              '  ***** Resize(, 8)這裡是8欄  ,[b10:g10]  這裡 b:g  只有6欄
  10.             .Cells(Pos, 2).Resize(, 6) = .[b2:g2].Value   ' 執行此行就可以  ** 要修改為 6及位址 **
  11.             'Sheets("策略記錄").[b2:i2] 分別是以下的DEE
  12.             '[多空力道][反向勢力][主力控盤][摩台指][韓國綜合][日經指數]  '只有6欄
  13.         End With
  14.     End If
複製代碼

TOP

回復 36# GBKEE
GBKEE大你好;請教2個問題...
Cells(4, 2) = 9 ' 紀錄從10列開始  [對嗎?]

If Second(Time) Mod 60 = 0 Then '間隔60秒
'If Second(Time) Mod 5 = 0 Then '間隔5秒 10秒 15秒 ....
[是改一行還是二行都要改?]

附件;請指導是否OK...謝謝!!

即時量態a.zip (24.16 KB)

50 字節以內
不支持自定義 Discuz! 代碼

TOP

本帖最後由 GBKEE 於 2012-12-15 07:19 編輯

回復 32# cfuxiong
This Workbook已改成;'Sheets("策略記錄").[b10:g10] 分別是以下的DEE
如圖 工作表也要改:輸入公式(圖中是示範的公式,看那些DEE在哪裡)




附檔的程式碼你有修改:你須再修改
  1. With Sheets("策略記錄")
  2.             .Cells(4, 2) = .Cells(4, 2) + 1 '將變動行號加一行
  3.             Pos = .Cells(4, 2)
  4.             .Cells(Pos, 1) = Time
  5.          '   .Cells(Pos, 2).Resize(, 8) = .[b10:g10].Value  'b10:g10 只有6欄  且位址也不對
  6.             .Cells(Pos, 2).Resize(, 6) = .[b2:g2].Value   '要修改為 6
  7.             'Sheets("策略記錄").[b2:i2] 分別是以下的DEE
  8.             '[多空力道][反向勢力][主力控盤][摩台指][韓國綜合][日經指數]  '只有6欄
  9.         End With
複製代碼
Mod 60 = 0 Then,間隔60秒    試試就知

TOP

回復 34# cfuxiong

=23:00:00
正常13:45:00即停止執行vba

TOP

回復 33# f3202
改為     If Time < #9:00:00 AM# Or Time > #11:30:00 PM# Then Exit Sub
為何是[#11:30:00 PM#]?
50 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題