- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
2#
發表於 2012-8-21 06:32
| 只看該作者
回復 1# lieh_chun
你要的是不是這支程式內容所描述的?- Sub ExeSelf()
- timerEnabled = True
- Sheets("策略記錄").Cells(2, 1) = Now()
-
- On Error Resume Next
- If (TimeValue(Now) > TimeValue("13:46:01")) Then Exit Sub
-
- If (TimeValue(Now) >= TimeValue("08:45:00")) Then ' 開盤、收盤時段設定
- If IsError(Sheets("策略記錄").Range("B2").Value) Then ' 假設 B2 欄位為多空力道
- Cv(1) = 0
- Cv(2) = 0
- Cv(3) = 0
- Else
- Cv(1) = Sheets("策略記錄").Range("B2").Value ' 多空力道成交價
- Cv(2) = Sheets("策略記錄").Range("C2").Value ' 反向勢力成交價
- Cv(3) = Sheets("策略記錄").Range("D2").Value ' 主力控盤成交價
- End If
-
- If (turnKey = 0 Or Ov(1) = 0) Then ' 當 turnKey 值為0,表示其為初始值設定。
- ' 為考量系統剛連上DDE,有時在第一根數值產生時Ov = Cv值可能為 0 的狀態)。
- Ov(1) = Cv(1) ' 多空力道開盤價初始值設定
- Hv(1) = Cv(1) ' 多空力道最高價初始值設定
- Lv(1) = Cv(1) ' 多空力道最低價初始值設定
-
- Ov(2) = Cv(2) ' 反向勢力開盤價初始值設定
- Hv(2) = Cv(2) ' 反向勢力最高價初始值設定
- Lv(2) = Cv(2) ' 反向勢力最低價初始值設定
-
- Ov(3) = Cv(3) ' 主力控盤開盤價初始值設定
- Hv(3) = Cv(3) ' 主力控盤最高價初始值設定
- Lv(3) = Cv(3) ' 主力控盤最低價初始值設定
- End If
-
- turnKey = turnKey + 1
- Sheets("策略記錄").Cells(10, 2) = turnKey & " 秒"
-
- If (Cv(1) > Hv(1)) Then Hv(1) = Cv(1) ' 判斷多空力道最高價
- If (Cv(2) > Hv(2)) Then Hv(2) = Cv(2) ' 判斷反向勢力最高價
- If (Cv(3) > Hv(3)) Then Hv(3) = Cv(3) ' 判斷主力控盤最高價
-
- If (Cv(1) < Lv(1)) Then Lv(1) = Cv(1) ' 判斷多空力道最低價
- If (Cv(2) < Lv(2)) Then Lv(2) = Cv(2) ' 判斷反向勢力最低價
- If (Cv(3) < Lv(3)) Then Lv(3) = Cv(3) ' 判斷主力控盤最低價
-
- End If
-
- If (turnKey < nums) Then
- Application.OnTime (Now + TimeValue("00:00:01")), "ThisWorkbook.ExeSelf"
- Else
- If (Cv(1) <> 0) Then Call Timer
- ' Call Timer
- Call timerStart
- End If
- End Sub
複製代碼 |
|