- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
本帖最後由 hugh0620 於 2011-10-19 15:52 編輯
回復 3# jiuhtsair
樓主~ 你的舉例有些問題
小弟想利用窮舉法來求解3日平均線在何時可以穿破21日平均線。
今日收盤價為7358,明日的3ma=sum(B6:B71)/3,明日21ma=sum(B51:B71)/21。
3日均線的算法有問題,應該是3ma=sum(B69:B71)/3
其中,B71為明日收盤價。
想利用EXCEL VBA計算明日收盤下跌多少時,3ma的值會小於或等於21ma?
僅對於下跌多少的方式來撰寫~ 希望對你有幫助- Sub 股價推估()
- A = Sheet1.Range("B65536").End(xlUp).Row '先取得最後一筆的列數,往回推
- B1 = Application.Sum(Sheet1.Range(Cells(A + 1, 2), Cells(A - 19, 2))) '計算21天總股價
- B2 = Application.Sum(Sheet1.Range(Cells(A + 1, 2), Cells(A - 1, 2))) '計算3天總股價
- A1 = B1 / 21 ''A1=21天均線
- Sheet1.Range("D65536").End(xlUp).Offset(1, 0) = A1
- A2 = B2 / 3 ''A2=3天均線
- Sheet1.Range("C65536").End(xlUp).Offset(1, 0) = A2
- I = Int(B2 / 2) '採用前面兩日的平均價為基準,推測下跌多少會貫穿21日均線
- Do
- A1 = (B1 + I) / 21
- A2 = (B2 + I) / 3
- Sheet1.Cells(A + 1, 2) = I
- Sheet1.Range("D65536").End(xlUp).Offset = A1
- Sheet1.Range("C65536").End(xlUp).Offset = A2
- I = I - 0.1 ' <---修正股價的精準度
- Loop Until A1 > A2 'A2(3天均線)小於A1(21天均線)就停止
- End Sub
複製代碼 |
|