Board logo

標題: [已解決]方程式求解 [打印本頁]

作者: jiuhtsair    時間: 2011-10-16 19:26     標題: [已解決]方程式求解

本帖最後由 jiuhtsair 於 2011-10-19 20:37 編輯

各位大大好:[attach]8247[/attach]
         小弟想利用窮舉法來求解3日平均線在何時可以穿破21日平均線。
        今日收盤價為7358,明日的3ma=sum(B6:B71)/3,明日21ma=sum(B51:B71)/21。
       其中,B71為明日收盤價。
       想利用EXCEL VBA計算明日收盤下跌多少時,3ma的值會小於或等於21ma?
    感謝!

作者: diabo    時間: 2011-10-16 20:10

本帖最後由 diabo 於 2011-10-16 20:12 編輯

回復 1# jiuhtsair

一般均線上升或下跌是採用扣抵觀念推估,你的需求用【目標搜尋】就可以解決...B71 的初始值7000是隨便給的....

    [attach]8248[/attach]
作者: jiuhtsair    時間: 2011-10-16 23:23

本帖最後由 jiuhtsair 於 2011-10-16 23:26 編輯

感謝diabo大大!不知道可否利用VBA程式的方式,這樣可以節省許多記憶體空間...因為..這是小弟想建構的部份程式!再次感謝!
作者: hugh0620    時間: 2011-10-19 15:30

本帖最後由 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?

       僅對於下跌多少的方式來撰寫~ 希望對你有幫助
  1. Sub 股價推估()
  2. A = Sheet1.Range("B65536").End(xlUp).Row '先取得最後一筆的列數,往回推

  3. B1 = Application.Sum(Sheet1.Range(Cells(A + 1, 2), Cells(A - 19, 2))) '計算21天總股價
  4. B2 = Application.Sum(Sheet1.Range(Cells(A + 1, 2), Cells(A - 1, 2)))  '計算3天總股價

  5. A1 = B1 / 21  ''A1=21天均線
  6. Sheet1.Range("D65536").End(xlUp).Offset(1, 0) = A1

  7. A2 = B2 / 3   ''A2=3天均線
  8. Sheet1.Range("C65536").End(xlUp).Offset(1, 0) = A2

  9. I = Int(B2 / 2)  '採用前面兩日的平均價為基準,推測下跌多少會貫穿21日均線

  10. Do
  11.     A1 = (B1 + I) / 21
  12.     A2 = (B2 + I) / 3
  13.        Sheet1.Cells(A + 1, 2) = I
  14.     Sheet1.Range("D65536").End(xlUp).Offset = A1
  15.     Sheet1.Range("C65536").End(xlUp).Offset = A2
  16.     I = I - 0.1                    ' <---修正股價的精準度

  17. Loop Until A1 > A2        'A2(3天均線)小於A1(21天均線)就停止


  18. End Sub
複製代碼

作者: jiuhtsair    時間: 2011-10-19 20:17

回復 4# hugh0620

感謝大大的教導!也向大大說抱歉,自己在KEY資料時打錯了,細心的大大看了出來!

感謝再感謝!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)