Author Archives: 發財橘子

ADI累積分配指標

ADI指標的原文是Accumulation Distribution Index,按原文直譯的名稱是「累積分配指標」,其實它真正的意思是「漲跌力道聚散指標」,Accumulation指的是上漲力道在累積,而Distribution指的是上漲力道在消散之意,所以是「聚散指標」

ADI計算公式如下:

如果 今日收盤價「大於」昨日收盤價,則

  今日ADI= 昨日ADI + [ 今日收盤價 - Min ( 今日最低價,昨日收盤價 )  ]

否則

     今日ADI= 昨日ADI - [ Max ( 今日最高價,昨日收盤價 ) - 今日收盤價 ]

公式中的Min(A,B)表示取兩者中較小的數字; Max(A,B)表示取兩者中較大的數字

公式中的「 今日收盤價 - Min ( 今日最低價,昨日收盤價 ) 」,代表股價的上升力道,公式之所以這樣設計的原因,是因為今日股價如果上漲的話,那麼要從那裡算起漲點?如果今天一開盤就跳空上漲,收盤又收更高,那麼昨天的收盤跟今天的最低價之間有個上漲的「跳空缺口」,這部份應該要算作今日的上漲力道,所以起漲點應以昨天的收盤價來算;反之,如果今天的盤中低點甚至比昨天的收盤更低,那麼就以今天的最低點當起漲點.所以整個公式的意思是:當今日股價是上漲的話,那麼就將這一上升的力道累加進ADI指標值內.

同樣的,公式中的「 Max ( 今日最高價,昨日收盤價 ) - 今日收盤價 」,指的是下跌的力道,在計算起跌點時,一樣要將下跌的「跳空缺口」也包括在內,因而起跌點是今日最高點與昨日收盤價兩者中較大的那個數字.所以整個公式的意思是:當今日的股價是下跌的話,那麼就將這一下跌的力道從累計的ADI中扣除.

ADI指標是一個累計值,所以是趨勢性的指標,它沒有一個固定的波動範圍,所以指標值的絕對數值沒有意義,重要的是指標線的方向.當指標線往上時,表示上漲力道在「凝聚」,上漲機會較大;反之,如果指標線往下的話,表示上漲力道在「消散」,股價下跌的機率較大.

腳本

variable: adi(0);

if Close > Close[1] then
 adi = adi[1] + (Close - minlist(low, close[1])) 
else
 begin
 if Close < Close[1] then
 adi = adi[1] - (maxlist(high, close[1]) - close)
 else
 adi = adi[1];
 end;

Plot1(adi, "A/DI");

參考圖形

ADI

成交量擺動指標

Volume Oscillator(OSCV)成交量擺動指標顯示兩條成交量移動平均線之間的價格差異,差異可以點值或百分比在圖表中顯示。VC

腳本

Input: length1(5); setinputname(1, "短天期");
Input: length2(20); setinputname(2, "長天期");

Value1 = Average(Volume, length1);
Value2 = Average(Volume, length2);

if value1 = 0 then value3 = 0 else Value3 = (Value1 - Value2) * 100 / Value1;

Plot1(Value3, "OSCV");

參考的圖形

OSCV

您可以使用兩種不同的移動平均量,以確定成交總量的趨勢是增加或減少。當 OSCV 上升穿越零軸以上,它標誌著短期移動平均量已遠遠高於長期移動平均量。 有許多方法來解釋成交量的變化趨勢。一個普遍的信念是,價格上漲加上成交量增加,或價格下跌加上成交量下跌,代表利好。 相反,如果成交量增加時,價格下跌,交易量減少時價格上漲時,市場跡象顯示了潛在的弱勢。

股價上漲加上成交量的增加意味著更多的參與者進入市場,趨勢應可以持續。相反,股價下跌時成交量增加,表示參與者離場,下降趨勢不易逆轉。

KO能量潮指標

累積克林格成交量擺動指標Cumulative Klinger Oscillator是一個與累積能量線OBV相似的指標, 它是利用根據日間股票平均價格的變動而對成交量累積而成,而在累積能量線OBV中用的是日間股票的收盤價的變動來作為成交量累積的標準。 相對來說,累積克林格成交量擺動指標比KO指標更適合用於判斷股票價格趨勢的方向。

腳本

variable: kovolume(0);

value1=(close+high+low)/3;
if CurrentBar = 1 then
 kovolume = 0
else begin 
 if value1 > value1[1] then
 kovolume = kovolume[1] + volume
 else begin
 if value1 < value1[1] then
 kovolume = kovolume[1] - volume
 else
 kovolume = kovolume[1];
 end; 
end;
 
Plot1(kovolume, "KO能量潮指標");

參考圖形

KO

克林波動指標 Chaikin Volatility

Chaikin Volatility 這個指標是在描述價格的波動程度。

公式 :

1.先計算n日的 Range = High – Low 的指數型移動平均

REMAt = REMAt-1 + 2/(n+1) * ( Rt – REMAt-1)

2.計算n日移動平均的變動率:

Chainkin’s Volatility = (REMAt – REMAt-n) / REMAt-n

描述價格的波動程度的狀況有二種,一種是認為當股價向上時的波動程度將隨之上升,此種描述是認為價格上升時經常伴隨著成交量放大, 這表示此過程將吸引更多的市場參與者加入,而更多人的參與交易隱含著波動程度放大。另一種狀況則是認為觀察短期的價格走勢, 則波動的訊雜幹擾會較長期來得大。

對應的腳本

// Chaikin Volatility 指標
//
input: Length(10), LengthROC(12);
variable: _chaikin(0);

SetInputName(1, "天數一");
SetInputName(2, "天數二");

Value1 = XAverage(High - Low, Length);

if CurrentBar >= LengthROC And Value1[LengthROC] <> 0 then
 _chaikin = 100 * (Value1 - Value1[LengthROC]) / Value1[LengthROC]
else
 _chaikin = 0;
 
Plot1(_chaikin, "Chaikin");

參考的圖形

CV

Money flow Index (MFI)指標

在技術分析領域,Money Flow Index(MFI,資金流量指標) 常被稱為「價量結合的 RSI」。

RSI 僅考慮價格漲跌不同,MFI 將成交量 (Volume) 納入計算邏輯。其核心假設是:如果股價上漲且成交量放大,代表資金流入強勁;若價格上漲但成交量萎縮,則動能可能虛假。

MFI 的應用有如下幾個原則:

  1. 超買與超賣 (Extreme Overheating):

    • 當 MFI > 80:代表資金過度擁擠,需留意獲利了結壓力。若達到 90 以上,則是極度過熱。

    • 當 MFI < 20:代表恐慌性拋售,資金流失見底。

  2. 背離訊號 (The Divergence) —— 最強大的領先特徵:

    • 看跌背離: 股價創下新高,但 MFI 卻走低。這代表股價上漲缺乏資金後援,趨勢即將反轉。

    • 看漲背離: 股價創新低,但 MFI 底部墊高。代表聰明錢正在低檔默默吸貨(Accumulation)。

  3. 趨勢確認:

    • MFI 突破 50 分界線:代表資金流入占優勢,多頭趨勢確立。

 

MFI的計算方法如下

MFI

對應的腳本

Input: Length(6);
variable: tp(0), tv(0), utv(0), dtv(0), pmf(0), nmf(0), mfivalue(0);

SetInputName(1, "天數");

tp = TypicalPrice;
tv = tp * Volume;

if tp > tp[1] then
 begin
 utv = tv;
 dtv = 0;
 end
else
 begin
 utv = 0;
 dtv = tv;
 end;

pmf = Average(utv, MinList(CurrentBar, length));
nmf = Average(dtv, MinList(CurrentBar, length));


if CurrentBar < Length or (pmf + nmf) = 0 then
 mfivalue = 50
else 
 mfivalue = 100 * pmf /(pmf + nmf);

Plot1(mfivalue, "MFI");

拿這個指標來對照大盤

 

 

市場便利指標(BW MFI)

Market Facilitation Index (BW MFI) 市場便利指標是由 Dr. Bill Williams所發明的

這個指標必須搭配成交量來一起看 :

+交易量/+MFI 綠燈(Green)

-交易量/-MFI 衰退(Fade)

-交易量/+MFI 偽裝(Fake)

+交易量/-MFI 蟄伏(Squat)

市場便利指標運用時會與成交量一起使用 : 市場便利指標增加,交易量增加 (Green)。

這一點表明 :

  1. 進入市場的交易人員的數量增加。(交易量增加)
  2. 新的交易人員會隨著柱圖的發展趨勢入市。(例如,移動的開始和速度的加快)

市場便利指標的回落和交易量的下降 (Fade),表明市場的交易人對該市場不在感到有任何的興趣。

市場便利指標的增加,但交易量下降 (Fake)。最有可能的就是,市場並不受到來自客戶交易量的支援,價格隨著“底樓”交易人員的遊資而變化(經濟人和交易人)

市場便利指標的下跌,但是交易量的增加 (Squat)。存在牛力和熊力之間的鬥爭。主要特徵為大量的買進和大量的賣出。 但是價格沒有重大的變化,因為兩股勢力比較相當。競爭的其中一方(買家或賣家)將會最終贏得這次鬥爭的勝利。 通常,柱形的停滯讓你知道是否這個柱形決定了市場趨勢的連續性,或這個柱形終止了市場趨勢。Bill Williams 稱之為“Squat”。

腳本的寫法

{
指標說明
Market Facilitation Index
}

if volume <> 0 then
 value1=(high-low)/volume;
if value1>value1[1] and volume>volume[1] then begin
 plot1(volume,"綠燈");
 noplot(2);
 noplot(3);
 noplot(4);
end;
if value1>value1[1] and volume<=volume[1] then begin
 plot2(volume,"偽裝");
 noplot(1);
 noplot(3);
 noplot(4);
end;
if value1<=value1[1] and volume>volume[1] then begin
 plot3(volume,"蟄伏");
 noplot(1);
 noplot(2);
 noplot(4);
end;
if value1<=value1[1] and volume<=volume[1] then begin
 plot4(volume,"衰退");
 noplot(1);
 noplot(2);
 noplot(3);
end;

參考的圖形

BW MFI

Ease of Movement(EMV)指標

EMV指標的原文是Ease Of Movement,按原文的意思是「輕鬆移動」指標,這個指標是由阿木思ARMS所發明, 他取這個名字應該是指隨著指標值突破關鍵點後,股價會「輕鬆」的上漲或下跌吧。

這個指標的計算方法如下

1.把當日最高最低價的平均值減去前一日的最高最低價平均值

2.把這個值乘上當日最高價減去當日最低價

3.然後再除以成交量

4.最後再把上述的值乘上10000,然後取平均值

腳本

Input: Length(14);
variable: _emv(0), factor(10000), avg(0);

SetInputName(1, "天數");

if Volume = 0 then
 _emv = 0
else
 _emv = factor * (((High + Low) / 2 - (High[1] + Low[1]) / 2) * (High - Low)) / Volume;

Plot1(_emv, "EMV");


If CurrentBar >= Length Then
 avg = Average(_emv, Length)
else
 avg = _emv; 

Plot2(avg, "EMVA");

參考圖形

EMV

CMO錢德動量擺盪指標

這個指標的計算步驟如下

1.加總一段時間的上漲值

2.加總一段時間的下跌值

3.把加總的上漲值減去加總的下跌值除以兩者的總和

腳本

Input:length(10); setinputname(1, "天期");

variable: SU(0),SD(0); 

if close >= close[1] then 
 SU = CLOSE - CLOSE[1] 
else 
 SU = 0; 

if close < close[1] then 
 SD = CLOSE[1] - CLOSE 
else 
 SD = 0; 

value1 = summation(SU,length); 
value2 = summation(SD,length); 
value3 = (value1-value2)/(value1+value2)*100; 
plot1(value3, "CMO");

參考圖形

CMO

IMI日內動量指標

日內動量指標的概念如下

1.當紅K棒時,把收盤價比開盤價高的部份視為多頭動能

2.當黑K棒時,把開盤價比收盤價高的部份視為空頭動能

3.計算過去一段時間的多頭動能及空頭動能

4.日內動量指標的算法是以多頭動能除以多頭動能+空頭動能

對應的腳本如下

input:length(10); setinputname(1, "天期");
 
variable:up(0),dn(0),upi(0),dni(0),imi(0); 

if close > open then 
 up = close-open 
else 
 up = 0; 

if close < open then 
 dn = open-close 
else 
 dn = 0; 

upi = summation(up,length); 
dni = summation(dn,length); 
if upi+dni = 0 then imi = 0 else imi = upi/(upi+dni)*100; 

plot1(imi, "IMI");

參考的圖形

IMI指標

 

加速指標

加速指標的作法有幾個步驟

1.計算一段期間裡,上漲天數的平均上漲幅度

2.計算一段時間裡,下跌天數的平均下跌幅度

3.拿平均上漲幅度減去平均下跌幅度

4.取上述值的九日平均線

腳本

variable:aspeed(0),dspeed(0),a1(0),d1(0),p1(0),ap1(0);
if close>close[1]
then
aspeed=(close-close[1])/close*100
else
aspeed=0;
if close<close[1]
then
dspeed=(close[1]-close)/close*100
else
dspeed=0;

a1=average(aspeed,5);
d1=average(dspeed,5);


p1=a1-d1;
ap1=average(p1,9);

plot1(p1,"加速度");
plot2(ap1,"移動平均");

參考的圖形

加速指標