跳到主要內容

[財務]ATR指標

ATR指標的原文是Average True Range,原文的意思是「平均真實區域」指標,所謂的真實區域,其實指的是真實的股價「波動」區域.這個指標也是威爾德(Wilder)所發明的.

在計算ATR指標時,要先算出TR (True Range)這個數列,TR有一個明確的定義它指的是在以下三個數字中最大的那個數字:1今日最高價減最低價 2. 今日最高價減昨日收盤價的絕對值;3. 今日最低價減昨日收盤價的絕對值.

 TR(在此指的是今天股價真正的波動範圍)之所以這樣設計的原因在於:1.如果今天股價跟昨天相比沒有劇烈漲跌,那麼今天的波動範圍就是今日最高價減去今日最低價;2.如果今天大盤是跳空上漲,而且這個空沒有被回補,那麼如果還是以今高減今低當作今天價格的波動幅度,那顯然就遺漏了跳空上漲的部份,所以要將那部份加回來,所以今天TR就是今日最高價減去昨日收盤價;3.如果今天大盤是跳空下漲,而且這個空沒有被回補,那麼如果還是以今高減今低當作今天價格的波動幅度,那顯然就遺漏了跳空下跌的部份,所以要將那部份加回來,所以今天TR就是今日最低價減去昨日收盤價的「絕對值」.注意,我們對真正的波幅都是取「正值」.

所以我們可以將TR寫成下式:

  
1.  TR  MAX(  (HtL ( Ht- Ct-1)  ( Lt-Ct-1)  )

接著取 TR N日簡單平均值TRma 

 再將TRma N日的KD式平滑即可.

2.  TRma  = Sum of ( TR  )  /  N1  ( N1=14 )

3.  ETRma   =  ETRma t-1  + ( TRma   – ETRma t-1  ) / N2 
  (N2=3 )

附表1為一個詳細的計算範例.附圖1是台股指數14日平均的ATR指標,從圖中可知,當股價處穩定的緩升期,或是橫盤整理期時,ATR的數值會比較小,而當股價呈現較大幅度的下跌時,ATR值則明穩的變大許多.再從ATR的公式來看,如果股價在正常波動範圍內的時候,ATR的數值不會太大,只有當行情在短期內出現較多次的「跳空」時,ATR值才會瞬間變大.所以附圖1告訴我們:只有當股巿下跌時ATR值才會變大,這表示巿場在股價上漲時,很少是以「跳空」的方式上漲的,反而在下跌時卻有比較多的機會以「跳空」方式下跌.

附圖2所示的首利股票的ATR值反而是跟股價同步變動,股價高時ATR也高,股價低時 ATR也低,這表示該股在上漲時容易跳空上漲,下跌時反而跳空的情形較少.



TR真實波動範圍是在計算DMI指標時,必須要先計算的過程,所以可以參考DMI指標.





參考 ATR指標

留言

這個網誌中的熱門文章

[WEB]連線 HTTPS 網站發生驗證失敗導致基礎連接已關閉

某支透過 WebClient 物件去呼叫第三方API的程式,突然有天無法使用 經過測試出現下列的錯誤 基礎連接已關閉: 傳送時發生未預期的錯誤。 InnerException : 驗證失敗,因為遠端群體已經關閉傳輸資料流。 原來是第三方的服務已經不支援 TLS 1.0 我方的程式是用.net Framework 4.0開發了 得強制讓webclient改用 TLS 1.1 或 TLS 1.2 感謝黑大提供解決方法 在程式中加入 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12  的設定就解決了這個問題 WebClient wc = new WebClient(); ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; 參考資料:暗黑執行緒

[SQL] SQL依照你的排序條件 找出目前資料的前一筆與下一筆。 Find Pre and Next DataRows of current Datarow by your order condition

有時候需要用SQL找出前一筆跟後一筆資料 用SQL的TOP是沒有辦法做到 這個時候就可以這個語法 select * from ( SELECT TOP 1 * FROM [Article] where Poid {CurrentPoid} order by CreateDate ASC) t2 找出目前PK id前一個與後一個的資料(依照想要排序順序) 那如果指示想要一個資料行呈現的話 可以改用下面的SQL語法 讓這兩筆資料join在同一筆 select Pre.*,Nex.* from (SELECT TOP 1 * ,1 tID FROM [dbo].[Article] where Poid {CurrentPoid} order by CreateDate ASC) Nex on Pre.tID=Nex.tID

Win10電腦 強制開啟IE瀏覽器 by VB script

 用Notapad寫下以下的內容 With CreateObject("InternetExplorer.Application") .visible = True .Navigate [Url]           .Left = 0           .Top = 0           .Height = 1024           .Width = 1280 End With 然後存檔成 .vbs 檔案 之後點選檔案就會自動啟動IE 目前測試過在WIN10 版本能正常執行