2014年1月2日 星期四

K線的多空意義及相關指標的計算


K線是多空爭戰的痕跡





truehigh,我們可以翻為真實高點,它的定義如下:
if Close[1] > High then TrueHigh = Close[1]
else TrueHigh = High;
意思是如果今天的高點比昨天的收盤高,那真實高點就是今天的high,但如果今天的最高價還比昨天的收盤價低,那今天的真實高點就是昨天的收盤價。
接下來介紹的是truelow,也就是真實低點,其定義如下:
if Close[1] < Low then TrueLow = Close[1]
else TrueLow = Low;
意思是如果今天的低點比昨天的收盤低,那麼今天的真實低點就是今天的最低價,反之,如果今天的最低點比前一天的收盤價還高,那麼今天的真實低點就是昨天的收盤價。
接下來我們要介紹的是truerange,我們稱之為真實波動區間,其定義就是當天的真實高點減當天的真實低點。
TrueRange = TrueHigh - TrueLow;


個股股價雖然多少會受大盤的影響,但長期的真實波動區間,則幾乎不大受大盤所影響,因為這個數字是每天真正價格的移動區間,這個區間在參與者沒有太大變化時,基本上不會有太大的變化,特別是那種乏人問津的股票,波動區間幾乎被壓縮到極致。
但當開始有新的勢力介入,特別是當有市場人士介入時,波動的區間就會變大,所以如果長期觀察這個數值,可以儘早知道個股可能市場性愈來愈濃,特別是個股在上漲後進入整理型態時,truerange通常也會跟著下跌,要一直等到整理結束時,truerange才會再度回升。






(High-open)+(close-low)
=當日向上拉動的力量
(open-low)+(high-close)
=當日向下殺盤的力量







+DM= maxlist(High - High[1], 0);

-DM= maxlist(Low[1] - Low, 0);







真實波動區間(truerange,簡稱TR)的計算方式,這代表的意義應該就是在這個時間內,多空爭戰的總戰場,那打完仗之後,到底是多方贏? 還是空方贏? 是大贏? 還是小贏呢?





技術分析大師用+DM-DM來作為計算的標準
其算法如下:(+DM=pdm, -DM=ndm)
pdm= maxlist(High - High[1], 0);
ndm = maxlist(Low[1] - Low, 0);
          if pdm < ndm then
                   pdm = 0
          else
            begin
                   if pdm > ndm then
                             ndm = 0
                   else
                     begin
                             pdm = 0;
                             ndm = 0;
                     end;              
            end;
先算出今天多頭有多攻佔過多少土地: high-high[1] 今天高點比昨天高點多出來的部份就是多頭今天的成績單,如果今天的高點沒有突破昨天的高點,那今天多頭的成績單就是考零分
相反的,low-low[1]就是空頭今天的成績單
如果今天多空都沒有佔領新的領土過,那兩邊的成績都是零
(如果要看圖解,可以從這個網址點DMI進去看: http://www.moneydj.com/z/analyst/analyst_home.htm)
接下來,開始計算+DI-DIADX
先取移動平均,公式上亦有人在前一日的平滑上是乘上(length-1)/length,這邊XS的內建公式中,前一天的值是直接乘以1,其實兩者相差不大
padm = padm[1] + (pdm - padm[1]) / length;
nadm = nadm[1] + (ndm - nadm[1]) / length;
atr = atr[1] + (tr - atr[1]) / length;
         
          +DI= 100 * padm / atr; 
          -DI = 100 * nadm / atr;
          這樣的計算方式是在計算多方及空方有沒有愈來愈加速的攻城略地
          if dValue0 + dValue1 <> 0 then
          dx = AbsValue(100 * (+DI – (-DI) / (+DI +(-DI));
          ADX = radx[1] + (dx - radx[1]) / length;
    ADX則是不管是多方或空方獲勝,就是單純的陳述有沒有一方的勢力在持續的攻城略地。

 +DI-DI的計算過程中我們可以發現,其實長期觀察一檔股票多方及空方在戰場上的成績,是一個很好的觀察角度,而TR的引入,其目的就是用來表達整個戰場的大小。

當我們把這些數據拿來一起看,然後我們發現戰場愈來愈大,表示新勢力進場,同時是多方勢力不停攻城略地時,我們就可以比較有把握這是一個可信度高的進場信號,因為如果只是+DI回升,但TR數據沒有明顯向上時,代表的,可能只是舊勢力受大盤影響的隨勢拉扯而已,並不足以形成有效的買進訊號







IF close[1]>low
AD=close-close[1]
Else
AD=close-low





Accumulation Distribution Index
收集派發指標

多方戰果:
Close-minlist(close[1],low)
空方戰果:
Maxlist(high,close[1])-close





AccumulationDistribution Oscillator
收集派發擺盪指標

ADO( BP + SP ) ( 2 * ( 最高價 最低價 ) ) * 100
這指標是計算今天向上的力量佔當日整根K棒長度的比例,如果是長紅棒那就是100,如果是長黑棒那就是0














AR= Σ(H_i – O_i) / Σ(O_i – L_i)
其中H_i表示第i日當日的最高價, O_i為第i日的開盤價,
L_i
為第i日的最低價. i=1 to n, 一般n26天的樣本。
High-open是多頭今天攻佔過的地盤,open-low是今天空頭攻佔過的地盤


噪音指標

我們常說一個趨勢型指標,在盤整時,容易出現錯誤的訊號,要如何研判現在盤勢是不是陷入整理,有個指標可以跟大家介紹,這個指標叫噪音指標,它的算法是以一段時間的漲幅作分母,以這段時間每天的最高減最低合計值當分子,兩者相除,再把算出來的值作移動平均。

它的腳本如下:
input:n1(5);
input:n2(5);

setinputname(1,"計算區間");
setinputname(2,"短天期移動平均");
value1=absvalue(close-close[n1-1]);
value2=summation(range,n1);
if value1=0
then return
else
value3=value2/value1;
value4=average(value3,n2);

plot1(value4,"短天期噪音指標");

從這個運算的公式,我們可以發現,當股價沿著趨勢走的時候,這個噪音指標的值不會大,但如果陷入盤整時,分母會變小,這數值就會變大。

所以我們可以拿這指標跟趨勢型的指標搭配一起看,一般來說,趨勢反轉前,就像一部高速行駛的汽車要轉彎,一定會發出很大的噪音,如果趨勢指標出現反轉的訊號,而噪音指標也出現上昇的情況,那麼反轉的機率就更高了。

這個指標可以在辨識趨勢是否成形時,拿來作為一個確認的工具,也可以拿來判斷是否進入盤整。

2013年12月25日 星期三

ZDZB築底指標



input:period(125),length1(5),length2(20);
variable:zd(0),zdma1(0),zdma2(0);

zd=countif(close>=close[1],period)/countif(close<close[1],period);
zdma1=average(zd,length1);
zdma2=average(zd,length2);

plot1(zdma1,"短天期築底指標");
plot2(zdma2,"長天期築底指標");






KST確認指標



variable:kst(0);
value1=average(rateofchange(close,12),10);
value2=average(rateofchange(close,20),10);
value3=average(rateofchange(close,30),8);
value4=average(rateofchange(close,40),15);
kst=value1+value2*2+value3*3+value4*4;
plot1(kst,"KST確認指標");




KO能量潮指標






VSTD成交量標準差