sniperide 內建函數說明 - jsmarket.jihsun.com.tw

57
SniperIDE 內建函數說明 Accumulation Distribution – 累積 / 派發線 股價 ( 指數 ) 的上漲通常造成交易量的擴大;股價 ( 指數 ) 的下跌通常造成交 易量的萎縮。在此理論基礎上,累積 / 派發線是一個考慮到價格和成交量的動 能指標 ( momentum indicator )。成交量指標的概念是成交量變化先於價格 變化。很多時候,在股價開始上升前成交量都會在之前大增。絕大部分資金流向 指標設計的目的是想在股價變動前及早發現流入或流出的成交量增加。 格式:Accumulation Distribution 計算公式: 總交易量加或交易日的成交量。 1. 當收盤價越接近當日的最高價,則總交易量加上特定比率的成交量。 2. 當收盤價越接近當日的最低價,則總交易量除特定比率的成交量。 3. 若收盤價等於最高價或最低價,則總交易量不必變動。 If (High - Low) <> 0 Then // 假如全距不為 0 Value1 = ((Close - Low) - (High - Close)) / (High - Low) * Vol ume // 下影上影占全距的比率乘成交量設定為 Value1 Else

Upload: others

Post on 01-Jan-2022

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

SniperIDE 內建函數說明

Accumulation Distribution – 累積 / 派發線

股價 ( 指數 ) 的上漲通常造成交易量的擴大;股價 ( 指數 ) 的下跌通常造成交

易量的萎縮。在此理論基礎上,累積 / 派發線是一個考慮到價格和成交量的動

能指標 ( momentum indicator )。成交量指標的概念是成交量變化先於價格

變化。很多時候,在股價開始上升前成交量都會在之前大增。絕大部分資金流向

指標設計的目的是想在股價變動前及早發現流入或流出的成交量增加。

格式:Accumulation Distribution

計算公式:

總交易量加或減交易日的成交量。

1. 當收盤價越接近當日的最高價,則總交易量加上特定比率的成交量。

2. 當收盤價越接近當日的最低價,則總交易量減除特定比率的成交量。

3. 若收盤價等於最高價或最低價,則總交易量不必變動。

If (High - Low) <> 0 Then

// 假如全距不為 0

Value1 = ((Close - Low) - (High - Close)) / (High - Low) * Vol

ume

// 下影減上影占全距的比率乘成交量設定為 Value1

Else

Page 2: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

// 全距為 0

Value1 = 0

// Value1 設定為 0

End If

// 結束條件判斷式

AccumulationDistribution = AccumulationDistribution[1] + Value1

// 累積 / 派發線等於前一日的累積派發線加上 Value1 + 下影減上影占全距的

比率乘成交量

使用方式 :

當 Divergence ( 發散 ) 狀況發生時。

Accum Swing Index – 累積擺盪指標

假如長期趨勢上漲,累積擺盪指標是正值。相反地,假如長期趨勢下跌,累積擺

Page 3: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

盪指標是負值。假如長期趨勢不明確,則累積擺盪指標會忽正忽負,這項指標主

要應用在指數類的趨勢研判,但股票亦可適用。

格式:AccumSwingIndex(Length)

Length:期間參數。

使用方式 :

做為 K Bar 圖表中趨勢線突破或跌破的確認工具。

ADX – 動向指標

因為 ADX、+DI 與 –DI 構成 DMI 指標,但 + / -DI 會出現很多鋸齒之現象

(棘輪效應:常看到頻繁之起落現象),ADX 可讓指標研判單純化,且能判別

市場之走向是否有新的趨勢,以及研判趨勢的強度。

格式:ADX(Length)

Length:期間參數

Page 4: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

計算公式:

Directional Movement Index 之移動平均值

+DM = 當日高價-昨日高價>0

若(當日高價-昨日高價>昨日低價-當日低價)的話

則為(當日高價-昨日高價),否則為0。

-DM = 昨日低價-當日低價>0

若(當日高價-昨日高價<昨日低價-當日低價)的話,

則為(昨日低價-當日低價),否則為0。

TR(True Range) = MAX((高價-低價),(昨日收盤價-當日高價)之

絕對值,(昨日收盤價-當日低價)之絕對值 )

+DMn = (+DM)之n日移動平均

-DMn = (-DM)之n日移動平均

TRn = (TR)之n日移動平均

+DI = (+DMn) / (TRn)

-DI = (-DMn) / (TRn)

DX = [[(+DI)-(-DI)]之絕對值 / [(+DI) + (-DI)]] × 100

ADX = DX之n日移動平均

使用方式 :

當 ADX 遠大於 +DI & -DI 且由高點反轉時,即預告長期趨勢即將結束的信

號。

Page 5: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Average – 簡單平均

計算平均之函數。

格式:Average(Price, Length)

Price:價格參數,如收盤價、最高價 ….. 等

Length:期間參數

計算公式:

Average=Sum/n

Sum:期間內價格參數之加總 n:期間參數

Average Modified Method – 均線改良法

使移動平均線對價格變動的反應更加敏感的方法,此修改後的均線使用方法與一

般簡單移動平均線相同。

Page 6: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

格式:AverageModifiedMethod(Price, Length)

Price:價格參數 ( close、open 等 )

Length:期間參數

使用方式 :

使用 Granville rules 即可

Average True Range – 平均真實區間

ATR 是 J. Welles Wilder 為了測定價格之真實變動所研發,常與其他指標一起

搭配使用。ATR是以前一日之收盤價為基礎,再與當日之最高、最低價位置相互

比較,當日之股價以某種方向為趨勢,產生多大幅度之變動,將會以數值、指標

化來表示。一般在市場底部通常伴隨著高 ATR 值,因為此時市場產生全面性的

恐慌賣出,相反地,在市場相對高的位置通常伴隨著低 ATR 值。

格式:AverageTrueRange( Length )

Page 7: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Length:期間參數

參照:

A:今日之高低價差

B:昨日收盤價與今日最高價之差異之絕對值

C:昨日收盤價與今日最低價之差異之絕對值

以上 A、B、C 值中最大之值即為 True Range。

ATR 是 True Range 之 n 日之移動平均值。( n 之預設值為 14)

使用方式 :

上漲或下跌的突破伴隨著 ATR 的增加,通常可做為趨勢的確認。

Balance Of Power – 力量平衡度指標

BalanceOfPower 是用來測量多頭與空頭將價格推向極高或極低的能力。

Page 8: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

格式:BalanceOfPower(Length)

Length:期間參數

計算公式:

1‧BalanceOfPower=(收盤價-開盤價)/(最高價-最低價)。

2‧用移動平均來做平滑。

3‧在 SniperPro 當中是使用 T3Average 來做平滑。

使用方式 :

0 軸的向上交叉或向下交叉

Bar Number

傳回 K Bar 特定代碼的函數。

格式:BarNumber(num)

Page 9: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

num:欲尋找之 K Bar

BarNum 函數可以與 CurrentBar 搭配。CurrentBar 僅適用在目前 K Bar,

而BarNum則包含之前所有之 K Bar,所以未指定條件之 BarNum,即是目前

K Bar。

注意 : 要 求得 5 個以前 K B ar 之 代 碼值 可 使 用 BarNumber(5) , 但 是

CurrentBar(5) 就無法使用,僅能使用 CurrentBar - 5。

CCI – 順勢指標

(最高價+最低價+收盤價)/3 可稱為典型價格,CCI 指標值的意義是最後

一根 K Bar 差離值 ( 典型價格與典型價格均值之差 ),佔全部期間內總差離值

的比例。

格式 : CCI(Length)

Length:期間參數

典型價格:

TPt = ( Hight + Lowt + Closet ) /3

典型價格的簡單平均值:

MA t =( TPt + TPt-1 + ... + TP t-n+1 ) / n

MA t 與 TPt 差離值絕對值的n日加總:

MD t =(|TPt-MAt|+|TPt-1-MAt-1|+…+|TPt-n+1-MAt-n+1|)/

Page 10: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

CCI :

CCI t = ( TP t-MA t ) / ( 0.015 * MD t )

使用方式 :

1. CCI < -100 時,價創新低但 CCI 反彈,則可能出現短底。

2. CCI > 100 時,價創新高但 CCI 下跌,則可能出現短頭。

3. CCI 向上穿越 100 即為多頭之啟動,直到 CCI 回頭向下穿越 -100 時結

束 ( 參考箭頭指示,圖中均線即為典型價格均線 )。

4. CCI 向下穿越 -100 即為空頭之啟動,直到 CCI 回頭向上穿越 100 時結

束 ( 參考箭頭指示,圖中均線即為典型價格均線 )。

Page 11: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

cDate

在圖表中顯示日期之函數。基本之表現方式YYYY/MM/DD。

格式:cDate( nDate )

nDate:如果輸入1000101以上,表示2000年以後,

輸入1000101以下,則表示1999年以下。

Close Of D

在分鐘 K Bar 圖表中,取得日 K Bar 圖表收盤價之函數。

格式:CloseOfD( DaysAgo, CloseArray )

DaysAgo:設定幾根 K Bar 前之收盤價。

CloseArray:指定日 K Bar 圖表中以前收盤價存放的陣列變數。

Page 12: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

注意:如果是日 K Bar 圖表以上 ( DataCompression 二以上 ),與日 K Bar

圖表值相同。

Close Of Day

與CloseOfD一樣之函數。

在分鐘 K Bar 圖表中,取得日 K Bar 圖表收盤價之函數。

格式:CloseOfDay ( DaysAgo )

DaysAgo:設定幾根 K Bar 前之收盤價。

Chande Momentum Oscillator (CMO) – 動量波動指標

CMO 是 Tushar Chande 所研發,主要是計算多頭累計上漲幅度減空頭累計下

跌幅度占全體漲跌幅度之比例。CMO雖然與RSI差不多,但還是有些不一樣。因

Page 13: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

為 CMO 值變化很大,所以一定要做指數平滑之使用。

格式:CMO( Length )

Length:期間參數

計算公式:

If Close > Close[1] then

//假如收盤大於昨日收盤則

CMO_1 = Close - Close[1]

//今日漲幅設定為 CMO_1

CMO_2 = 0

// CMO_2 設定為 0

Else

//否則收盤小於昨日收盤

CMO_1 = 0

//CMO_1 設定為 0

CMO_2 = Close[1] – Close

//下跌幅度設定為 CMO_2

End If

//結束條件判斷式

Value1 = Sum( CMO_1, Length )

//一定期間的上漲幅度累計值設定為 Value1

Page 14: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Value2 = Sum( CMO_2, Length )

//一定期間的下跌幅度累計值設定為 Value2

CMO = ( Value1 - Value2 ) / ( Value1 + Value2 ) * 50 + 50

//累計多頭幅度減累計空頭幅度佔整體漲跌幅度之比率加上 50 ( 0 < CMO <

100 )

使用方式 :

1. 如同大部分擺盪型指標使用方式,相對高 & 相對低代表反轉機率增加。

2. 背離 ( Divergnce ) 的使用亦為趨勢反轉的信號。

Confluence – 流量指標

函數值範圍從 -9 到 9 之間。函數值若在 -9 到 -1 間為弱勢,且從 -0.9 到

0.9 通常以黃色來表示,而從 1 到 9 間為強勢。若碰觸到兩極端值 9 & -9,

Page 15: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

則分別是賣出 & 買進的交易機會。

格式:Confluence(Price, Harmonic)

Price:輸入價格

Harmonic:調節變化值之調整值。

使用方式 :

極點價格的使用。

cTime

在圖表中顯示時間之函數。基本之表現方式 HHMMSS。

格式:cTime (Time)

Time:欲顯示之時間。

Page 16: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

cTxt

在圖表中顯示文字內容之函數。

Daily MA – 日內均線

在分鐘 K Bar 圖表內顯示日 K Bar 之移動平均線之函數。

格式:DailyMA( PriceNumber, MALength)

PriceNumber:

1:最高價,2:最低價,3:收盤價

MALength:期間參數。

使用方式 :

可依 Granville Rules 判斷,但須注意過度頻繁出現的信號。

Page 17: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Derivative MA

格式:DerivativeMA( Price , Length )

Price:價格參數

Length:期間參數。

公式 :

Value1 = MAFC(Price, Length)

//將均值設定為 Value1

DERIV= ( Value1 * 2) - Value1[1]

//均值乘 2 減昨日均值設定為 DERIV

SUMD = Length * DERIV

//期間值乘 DERIV 設定為 SUMD

LENG2 = Length – 1

//Length 減 1 設定為 LENG2

N1 = ( MAFC(Price, LENG2)) * LENG2

//期間參數 LENG2 的均值乘以 LENG2

DR = SUMD - N1

DerivativeMA = DR

//SUMD 減 N1 設定為 DR ( 也就是 DerivativeMA,假如 Length 設定為

//10 ,這個式子簡單來說就是 10 日均值 * 10 日減去 9 日均值 * 9 日就是

//DerivativeMA )

Page 18: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Ease Of Movement – 簡易動能指標

簡易動能指標是由 Richard W Arms 所研發,類似當量圖使用的概念 ( 在

4000 系統交易左下角 “ 價格圖表 “ 中可以找到 “ EquiVolume “ ),該指

標特別強調成交量與價格變動的相互關係,對於趨勢力的量研判很有幫助。

格式:EaseOfMovement

公式 :

MidPrice = (High + Low) / 2

//中價設定為 MidPrice

pRange = High - Low

Page 19: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

//全距設定為 pRange

Muliplier = Iff( High < 1000, 1000000, 1000)

//若最高價小於 1000,乘數設定為 1000000,若大於 1000,則設定為 1000

If pRange = 0 Then

//假如全距為 0 則

EaseOfMovement = 0

//簡易動能指標為 0

Else

//假如全距不為 0

EaseOfMovement = (MidPrice - MidPrice[1]) / ( Volume / pRa

nge) * Muliplier

//簡易動能指標為 ( 中價變動幅度 ) / ( 成交量 / 全距 ) * 乘數

End If

//結束條件判斷式

使用方式 :

1. EOM 移動平均線由下向上穿越 0 軸是為多頭信號,反之則為空頭信號。

2. EOM 拐點出現信號。

3. EOM 向上穿越 EOM 移動平均線 ( Long ) 與 EOM 向下穿越 EOM 移

動平均線 ( Short )。

Page 20: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

EMA – 指數移動平均線

將過去某特定時間內的價格取其平均值,比重以平均線的長度設定,愈近期的收

盤價,對市況影響愈重要。

格式:EMA( Price, Length )

Price:價格參數

Length:期間參數

計算方式:

今日指數移動平均值=今日收盤價*EP+前一日之指數移動平均*(1-EP)

EP=指數係數(Exponential Percentage)=2/(Length+1)

使用方式 :

使用 Granville Rules 即可。

Page 21: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

FastD

Stochastic 是 George Lane 所研發,現在之股價水準比起過去特定期間之股

價水準若是偏高已經一段時間,下跌之可能性機率就會增加,若現在之股價水準

比起過去特定期間之股價水準若是偏低已經一段時間,上漲之可能性機率就會增

加,利用股價落在某特定期間全距的相對位置來預測個別股票或指數價格變動方

向,當價格越趨近極點價格時,價格朝反方向移動的趨動力就越大,基本上是屬

於擺盪型指標。

格式:FastD( High, Low, Close, HighLowTerm)

High:最高價

Low:最低價

Close:收盤價

Page 22: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

HighLowTerm:期間參數(預設為14)

FastK 計算公式:

Value1 = LowestValue( LowValue, Length )

//期間最低價設定為 Value1

Value2 = HighestValue( HighValue, Length ) - Value1

//期間最高價減期間最低價設定為 Value2

Value3 = CloseValue

//收盤價設定為 Value3

If Value2 > 0 Then

//假如期間最高價減期間最低價大於 0

FastK = (Value3 - Value1) / Value2 * 100

//收盤減期間最低價除期間最高價減期間最低價乘 100 為 FastK

Else

//假如期間最高價減期間最低價不大於 0

FastK = 0

//FastK 為 0

End If

//結束條件判斷式

FastD 計算公式:

FastD = FastD[1] + (Factor * (FastK(HighValue, LowValue, CloseValue,

Page 23: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Length) - FastD[1]))

//昨日 FastD 加上 0.5 乘 FastK 減昨日FastD ( Factor 預設值為 0.5 )

FastK

同上 FastD。

Stochastic Slow ( KD ) 使用方式 :

1. K & D 的穿越。

2. 發散與收斂 ( 背離 ) 信號的使用。

Find Bar Number

傳回指定日期和時間之 K Bar 代碼的函數。

Page 24: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

格式:FindBarNumber( TgtDate, TgtTime)

TgtDate:指定日期.

TgtTime:指定時間.

GenDEMA

DEMA 是 Double Exponential Moving Average 之縮寫,GenDema 當初

研發的目的是為了解決傳統移動平均線信號延遲出現的問題。

格式:GenDEMA(Price, Length, vFactor)

Price:價格參數

Length:期間參數

VFactor:輸入指數移動平均權重值

計算公式:

Value1 = EMA(Price, Length) * (1 + vFactor)

//將指數移動平均乘上 ( 1 + 權重值 ) 設定為 Value1

Value2 = EMA( EMA(Price, Length), Length) * vFactor

//將指數移動平均再做 1 次指數移動平均後乘以權重值設定為 Value2

GenDema = Value1 - Value2

//Value1 與 Value2 的差異即為 GenDema

Page 25: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Hhv Bars

HhvBars 的用法為在所指定之期間內尋找最高價格,以目前 K Bar 作起點,求

算期間高點與目前 K Bar 間包含多少根 K Bar,傳回值為期間高點距離目前 K

Bar 的 K Bar 數。

格式:HhvBars(Price, Length)

Price:價格參數。

Length : 期間參數。

Highest

一定期間內之最高值。

格式: Highest(Price,Length)

Price:價格參數

Length:期間參數

Highest Value

在指定期間內,傳回最高價格的函數。

格式:HighestValue( Price, Length)

Price:價格參數

Length:期間參數

Page 26: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

High Of D

在分鐘 K Bar 圖表中,取得日 K Bar 圖表最高價之函數。

格式:HighOfD( DaysAgo, CloseArray )

DaysAgo:設定幾根 K Bar 前之最高價。

CloseArray:指定日 K Bar 圖表中以前最高價存放的陣列變數。

注意:如果是日 K Bar 圖表以上 ( DataCompression 二以上 ),與日 K Bar

圖表值相同。

Historical Volatility – 歷史波動率

傳回歷史波動率之函數,高 HV 值的股票較適合風險承受度較高的投資者,反

之亦然。

格式:HistoricalVolatility(Price, Length)

Price:輸入收盤價,最高價等價格資料

Length:期間參數

LastBarOnChart

若目前 K Bar 在圖表中是最後一根 K Bar 則傳回 True,反之傳回 False,該

函數無法單獨使用,在編碼過程中須與其他條件搭配執行。

Page 27: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Linear Reg Line

所謂線性回歸 ( Linear Regression ) 就是使用歷史數據,用來預測未來之價值

所使用之統計學方法。用此方法可以畫出兩個價格間之趨勢線。線性迴歸趨勢線

是兩點價格間的 “ 最適 “ 趨勢線,所謂最適是指兩價格間的所有價格典與趨

勢線的距離加總達到最小。若價格點異常遠離線性迴歸趨勢線,則價格返回線性

迴歸趨勢線的驅動力就會增加。

Linear Reg Slope

所謂線性回歸 ( Linear Regression ) 就是使用歷史數據,用來預測未來之價值

所使用之統計學方法。用此方法可以畫出兩個價格間之趨勢線。線性迴歸趨勢線

是兩點價格間的 “ 最適 “ 趨勢線,所謂最適是指兩價格間的所有價格典與趨

勢線的距離加總達到最小。若價格點異常遠離線性迴歸趨勢線,則價格返回線性

迴歸趨勢線的驅動力就會增加。LinearRegSlope 表示 Linear Regression Lin

e 之傾斜程度,顯示市場過熱與否之函數。

格式:LinearRegSlope( Price, Length)

Price:輸入價格資料(收盤價、開盤價等)

Length:期間參數

Linear Reg Slope FC

所謂線性回歸 ( Linear Regression ) 就是使用歷史數據,用來預測未來之價值

Page 28: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

所使用之統計學方法。用此方法可以畫出兩個價格間之趨勢線。線性迴歸趨勢線

是兩點價格間的 “ 最適 “ 趨勢線,所謂最適是指兩價格間的所有價格典與趨

勢線的距離加總達到最小。若價格點異常遠離線性迴歸趨勢線,則價格返回線性

迴歸趨勢線的驅動力就會增加。LinearRegSlope 表示 Linear Regression Lin

e 之傾斜程度,顯示市場過熱與否之函數。

格式:LinearRegSlopeFC( Price, Length)

Price:輸入價格資料(收盤價、開盤價等價格參數)

Length:期間參數

注意:FC 為 Fast Calculate 之簡寫,與 LinearRegSlope 僅有運算方式的不

同而已 ( 較有效率 )。

Llv Bars

LlvBars 的用法為在所指定之期間內尋找最低價格,以目前 K Bar 作起點,求

算期間最低點與目前 K Bar 間包含多少根 K Bar,傳回值為期間最低點距離目

前 K Bar 的 K Bar 數。

格式:LlvBars(Price, Length)

Price:輸入最高價、收盤價等價格參數

Length : 期間參數

Page 29: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Lowest

傳回特定期間之最低值。

格式:Lowest(Price, Length)

Price:輸入價格(收盤價、開盤價等價格參數)

Length:期間參數

Lowest Value

在指定期間內,傳回最低之價格的函數。

格式:LowestValue( Price, Length)

Price:價格參數

Length:期間參數

Low Of D

在分鐘 K Bar 圖表中,取得日 K Bar 圖表最低價之函數。

格式:LowOfD( DaysAgo, CloseArray )

DaysAgo:設定幾根 K Bar 前之最低價

CloseArray:指定日 K Bar 圖表中以前最低價存放的陣列變數。

注意:如果是日 K Bar 圖表以上 ( DataCompression 二以上 ),與日 K Bar

圖表值相同。

Page 30: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

MA

移動平均。

格式:MA(Price, Length)

Price:價格參數(收盤價、最低價、交易量等)

Length:期間參數

使用方式 :

使用 Granville rules 判斷即可。

MACD

MACD 是價 格指 標 的重 要工 具。 其利 用 快慢 二條 移動 平均 線 的變 化作 為

盤勢 的研 判指 標, 具 有確 認中 長期 波段 走 勢並 找尋 短線 買賣 點 的功 能。

MACD 的原 理在 於 以長 天期(慢的 )移 動 平均 線來 作為 大趨 勢 方向 研判 基

準, 而以 短天 期(快 的)移 動平 均線 作為 趨勢 變化 的判 定, 所 以當 快的 移

Page 31: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

動平 均線 與慢 的移 動 平均 線二 者交 會時 , 代表 趨勢 已發 生反 轉 ,MACD

是確 立波 段趨 勢的 重 要指 標。 當行 情出 現 上漲 情況 時, 短天 期 的移 動平

均會 先反 應向 上, 造 成短 天期 均線 與長 天 期均 線的 差異 DIF 開始 擴

大。 而這 時代 表較 長 趨勢 的 MACD 仍沿 舊趨 勢移 動。 於是 造 成 DIF 與

MACD 交叉 ,買 賣 訊號 發生 。由 於均 線 是使 用指 數型 移動 平 均 ( EMA )

方式 計算 ,因 此具 有 時間 近者 給較 重權 值 ,如 此更 具掌 握短 期 訊號 性

質。 而由 計算 過程 可 知 MACD 是經 過二 次平 滑移 動平 均過 程 所求 得的

值, 這樣 的程 序可 以 消除 掉許 多移 動平 均 經常 會出 現的 假訊 號 缺點 。

格式:MACD( Price, FastMA, SlowMA )

Price:價格參數

FastMA:短期移動平均線期間參數

SlowMA:長期移動平均線期間參數

計算公式 :

MACD=短期指數移動平均-長期指數移動平均

Signal:MACD n 日指數移動平均

參照:

MACDOscillator=MACD-Signal Line

使用方式 :

柱狀圖 ( MACDdiff – MACD ) 向上、下穿越 0 軸。

Page 32: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

MAFC

移動平均。

格式:MAFC(Price, Length)

Price:價格參數(收盤價、最低價、交易量等)

Length:期間參數

注意:FC 為 Fast Calculate 之簡寫,與 MA 僅有運算方式的不同而已 ( 較有

效率 )。

Page 33: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Minus DI

DMI 指標主要構成要素 Minus DI ( Minus Directional Index ) & Plus DI

( Plus Directional Index ),Minus DI 是 MinusDM 累計值與 TrueRang

e 累計值的比率 。

格式:MinusDI(Length)

Length:期間參數

計算公式:

MinusDM : 假如 ( 昨日低價-當日低價 >0 和 當日高價-昨日高價<

昨日低價-當日低價)為真,則 MinusDM = 昨日低價 - 當日低價,否則

為 0。

TrueRange=MAX((高價-低價),(昨日收盤價-當日高價)之絕對

值,(昨日收盤價-當日低價)之絕對值)

MinusDMn = MinusDM 之 n 日加總

TrueRANGEn = TrueRange 之 n 日加總

MinusDI = MinusDMn / TrueRANGEn

Minus DM

計算 MinusDI 之前所使用之函數。

格式:MinusDM

計算公式:

Page 34: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

MinusDM : 假如 ( 昨日低價-當日低價 >0 和 當日高價-昨日高價<

昨日低價-當日低價)為真,則 MinusDM = 昨日低價 - 當日低價,否則

為 0。

使用方式 :

1. - DI 向上、下穿越 + DI

2. – DI 與 ADX 同方向上升且 – DI 在 ADX 上方。

3. 當 ADX 下跌至 20 以下時,+ - DI 交叉訊號有可能會失真。

Parabolic Sar -拋物止轉系統

拋物線停損轉向指標 ( Parabolic SAR ) 中的字母 SAR 代表停損並轉向

( Stop And Reverse )。拋物線是指拋物線形狀的點線數列,根據基礎價格曲線

計算並重疊。這些線代表退出指標,可以顯示在何處設定移動停損。開發者為

Page 35: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

J. Welles Wilder. Jr.,為了改善趨勢追蹤型指標常有落後價格的特性,在趨勢持

續之情況,按照持續之時間,考慮加速因子在趨勢剛開始會快速增加,並與趨勢

同向持續一起漸漸增速,最後指標會與價格碰觸並預告價格轉向並且重新加速,

該指標在圖表上會預先揭示轉向點。

格式:ParabolicSaR( AF, MaxAF)

AF:加速因子(小數點表示到第2個位置為止,預設值為0.02)

MaxAF:加速因子之最大值(小數點表示到第2個位置為止,預設0.2)

使用方式 :

SAR 與價格碰觸時,及是趨勢反轉的信號出現。

Page 36: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Plus DI

DMI 指標主要構成要素 Minus DI ( Minus Directional Index ) & Plus DI

( Plus Directional Index ),Plus DI 是 PlusDM 累計值與 TrueRange 累

計值的比率 。

格式:PlusDI( Length )

Length:期間參數

計算公式:

PlusDM : 假如 ( 當日高價 - 昨日高價 > 0 及 ( 當日高價 - 昨日

高價 > 昨日低價 - 當日低價 ) 為真,則 PlusDM = 當日高價 - 昨日

高價,否則為 0 。

TrueRange=MAX((高價-低價),(昨日收盤價-當日高價)之絕對

值,(昨日收盤價-當日低價)之絕對值)

PlusDMn = PlusDM 之 n 日加總

TrueRANGEn = TrueRange 之 n 日加總

PlusDI = PlusDMn / TrueRANGEn

PlusDM

計算 PlusDI 之前所使用之函數。

格式:PlusDM

計算公式:

PlusDM : 假如 ( 當日高價 - 昨日高價 > 0 及 ( 當日高價 - 昨日

Page 37: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

高價 > 昨日低價 - 當日低價 ) 為真,則 PlusDM = 當日高價 - 昨日

高價,否則為 0 。

使用方式 :

1. + DI 向上、下穿越 - DI

2. + DI 與 ADX 同方向上升且 + DI 在 ADX 上方。

3. 當 ADX 下跌至 20 以下時,+ - DI 交叉訊號有可能會失真。

Rainbow F

為了繪出 Rainbow chart 的計算函數。Rainbow 指標為一群移動平均線所組

成,第 1 條為一般移動平均線,第 2 條為第 1 條線再做平均,以此類推且期

間參數固定,此階層式移動平均線組成 Rainbow,一般共取 10 階。

Page 38: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Rate Of Change – 變動率

RateOfChange 是一種簡單的動量擺盪指標,計算方式為目前 K Bar 價格和數

根前 K Bar 價格間差異所計算之指標。

格式:RateOfChange(Price,Length)

Price:價格參數(收盤價,(H+C)/2等)

Length:期間參數

計算公式 :

If Price[Length] <> 0 Then

// ( 若 Length = n ) 假如 n 根前價格不等於 0

Value1 = Price - Price[Length]

//則將目前價格減 n 根前價格設定為 Value1

If UpperStr(Method) = "PERCENT" Then

//假如傳回 “ Method “ 這個引數的大寫內容等於 “ PERCENT “

Value1 = Value1 / Price[Length] * 100

//將目前價格與 n 根前價格差異與 n 根前價格之比率乘以 100

End If

//結束條件判斷式

Else

// ( 若 Length = n ) 假如 n 根前價格等於 0

Value1 = 0

Page 39: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

//令 Value1 為 0

End If

//結束條件判斷式

RateOfChange = Value1

//RateOfChange 即為 Value1

使用方式 :

1. 使用較長期間參數做趨勢方向研判,大於 0 為多頭趨勢,小於 0 為空頭趨

勢。

2. 由於 ROC 為擺盪型指標,相對高低檔代表反轉驅動力量增加。

Page 40: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Relative Volatility – 相對波動指數

RelativeVolatility 是類似於 RSI 的擺盪型 ( 0 ~ 100 ) 指標,不同於 RSI

的是由測量價格的變動變更為測量價格標準差的變動,對於測量市場趨勢的力量

有不錯之參考性,常做為均線交叉信號的確認工具。

格式:RelativeVolatility(Length)

Length:期間參數

注意:計算過程並非測量絕對之價格變化,所以除了測定價格變動之標準差以

外,基本上公式與 RSI 雷同。

使用方式 :

1. RVI 向上或向下穿越 0 軸。

2. RVI > 70 & RVI < 30 為相對高低檔。

Page 41: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

RSI – 相對強度指數

RSI 指標 的原 理是 假設 收盤 價是 買賣 雙 方力 道的 最終 表現 與 結果 ,把 上

漲視 為買 方力 道, 下 跌視 為賣 方力 道。 並 計算 買方 力道 與賣 方 力道 的比

值, 亦即 買賣 雙方 相 對強 度的 概念 。而 RSI 則 是把 相對 強度 的數 值定 義

在 0 ~ 100 之間 , 如此 更能 方便 參考 使 用。 而多 天期 的 RSI ( 即 期間

參數 設定 較大 ) 其 訊號 將更 具參 考性 , RSI 是 一種 相當 可靠 的動 能指

標。

格式:RSI( Price, Length )

Price:價格參數

Length:期間參數

計算公式 :

RSI=100 – (100 / (1+RS))

其中 RS 為 相對 強度 ( Relative Strength,RS ) = AUn / ADn

AUn 表示 n 日 內收 盤價 上漲 點數 的 n 日平 均數=Σ(上漲 點 數_i) / n

ADn 表示 n 日內 收 盤價 下跌 點數 的 n 日平 均數=Σ(下跌 點 數_i) / n

所以RSI亦 可改 寫成 RSI=100*AUn / (AUn+ADn)

使用 方式 :

1. 70 ( 超買 ) & 30 ( 超賣 )

2. Divergence & Convergence ( 背離 ) 的 運用 。

3. RSI 型態 ( 雙頭 / 肩 型 / 楔 型 ….. 等 )

Page 42: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

SMA

簡單移動平均 ( Simple Moving Average ) 。

格式:SMA(Price, Length)

Price:價格參數(收盤價、開盤價等)

Length:期間參數

使用方式 :

依 Granville rules 判斷即可。

Page 43: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Std Dev

統計學運算函數 : 一定期間之樣本標準差

格式:StdDev( Price, Length )

Price:資料參數(收盤價、開盤價等)

Length:期間參數

使用方式 :

一般使用均線加減 3 個標準差,觀察 Convergence 現象 ( 收斂 / 盤整 ) 後

伴隨 Divergence 現象 ( 發散 / 長期趨勢形成 ) 的機率大增。

Sum

數學運算函數 : 加總。

格式:Sum(Price, Length)

Page 44: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Price:資料參數(收盤價、開盤價等)

Length:期間參數

Sum FC

與 Sum 函數相同。

格式:SumFC( Price, Length)

Price:資料參數(收盤價、開盤價等)

Length:期間參數

Swing High

不論是在 K Bar 圖表或是指標中 Swing High 是高點的意思,Swing High

包含兩個趨勢方向,一個向上的方向與一個向下的方向,也就是說至少 2 根 (

或更多 ) K Bar 越來越高或是越來越低,一個向上的趨勢方向連結一個向下的

趨勢方向就會產生 Swing High ( 擺盪高點 )。

格式:SwingHigh(Occur, Value, LeftStrength,RightStrength, Period)

Period:計算 Swing high 之期間參數,如設定為 20,表示在最近的

20 根 K Bar 內

Occur:排列順位(1=最近,2=第二個最近 ….. 以此類推)

Value:Swing High 價格參數

LeftStrength=swing high bar 左側之 K Bar 數

Page 45: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

Rightstrength=swing high bar 右側之 K Bar 數

Swing High Bar

不論是在 K Bar 圖表或是指標中 Swing High Bar 是高點產生的 K Bar 或指

標位置的意思,Swing High Bar 包含兩個趨勢方向,一個向上的方向與一個向

下的方向,也就是說至少 2 根 ( 或更多 ) K Bar 越來越高或是越來越低,一

個向上的趨勢方向連結一個向下的趨勢方向就會產生 Swing High Bar ( 擺盪

高點 )。Swing High Bar 傳回當 Swing High Bar 產生時,距離目前位置的

K Bar 數。

格式:SwingHighBar(Occur, Value, LeftStrength,RightStrength, Period)

Period:計算 Swing high Bar 之期間參數,如設定為 20,表示在最

近的 20 根 K Bar 內

Occur:排列順位(1=最近,2=第二個最近 ….. 以此類推)

Value:Swing High 價格參數

LeftStrength=swing high bar 左側之 K Bar 數

Rightstrength=swing high bar 右側之 K Bar 數

舉例說明 : SwingHighBar (1, H, 3, 2, 30)

尋找 SwingHighBar 從最近的 30 根 K Bars 開始,距離目前最近的

SwingHighBar,SwingHighBar 左側 K Bar 數至少 3 個,右側 K Bar 數

至少 2 個,若 Swing high bar 從現在開始發生在前面第 5 個 K Bar 時就

Page 46: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

傳回 5,在指定之期間內沒有滿足於 Swing high bar 條件時就傳回-1。

Swing High Point

若滿足 SwingHighBar 就傳回 True,否則傳回 False。

格式:SwingHighPoint(Price, Length)

Price:價格參數

Length:期間參數

Swing Index

Swing Index 使用兩個 K Bar之間的開盤價、最高價、最低價以及收盤價之值

來計算價格擺盪的方向與力量。

Swing Index 計算價格擺盪的方向與力量主要是運用下列 5 項

1. 收盤價和昨日收盤價之間之差異 ( C2 – C1 )。

2. 收盤價和開盤價之間之差異 ( C2 – O2 )。

Page 47: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

3. 最高價和昨日收盤價之間之差異 ( H2 – C1 )。

4. 今天最低價和昨日收盤價之間之差異 ( L2 – C1 )。

5. 昨日收盤價-昨日開盤價 ( C1 – O1)。

SwingIndex 的值介於 100 到-100 之間。

格式:SwingIndex ( LimitPercent )

LimitPercent : 漲跌停比率

計算公式:

K = 下面 A 和 B 中之最大值。

A=H2-C1

B=L2-C1

L=漲停價比率還有跌停價比率

R=選擇下面 3 項中之其中 1 項

若H2-C1最大的話

R=(H2-C1)-0.5(L2-C1)+0.25(C3-O1)

若L2-C1最大的話

R=(L2-C1)-0.5(H2-C1)+0.25(C3-O1)

若H2-L2最大的話

R=(H2-L2)+0.25(C3-O1)

Page 48: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

使用方式 :

Swing Index 與 0 軸的上下交叉,但是頻繁出現的信號必須留意。

Swing Low

不論是在 K Bar 圖表或是指標中 Swing Low 是低點的意思,Swing Low 包

含兩個趨勢方向,一個向下的方向與一個向上的方向,也就是說至少 2 根 ( 或

更多 ) 根 K Bar 越來越低或是越來越高,一個向下的趨勢方向連結一個向上的

趨勢方向就會產生 Swing Low ( 擺盪低點 )。

格式:SwingLow(Occur, Value, LeftStrength,RightStrength, Period)

Period:計算 Swing Low 之期間參數,如設定為 20,表示在最近的

Page 49: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

20 根 K Bar 內

Occur:排列順位(1=最近,2=第二個最近 ….. 以此類推)

Value:Swing Low 價格參數

LeftStrength=swing low bar 左側之 K Bar 數

Rightstrength=swing low bar 右側之 K Bar 數

Swing Low Bar

不論是在 K Bar 圖表或是指標中 Swing Low Bar 是低點產生的 K Bar 或指

標位置的意思,Swing Low Bar 包含兩個趨勢方向,一個向下的方向與一個向

上的方向,也就是說至少 2 根 ( 或更多 ) 根 K Bar 越來越低或是越來越高,

一個向下的趨勢方向連結一個向上的趨勢方向就會產生 Swing Low Bar ( 擺盪

低點 )。Swing Low Bar 傳回當 Swing Low Bar 產生時,距離目前位置的

K Bar 數。

格式:SwingLowBar(Occur, Value, LeftStrength,RightStrength, Period)

Period:計算 Swing Low Bar 之期間參數,如設定為 20,表示在最

近的 20 根 K Bar 內

Occur:排列順位(1=最近,2=第二個最近 ….. 以此類推)

Value:Swing Low 價格參數

LeftStrength=swing low bar 左側之 K Bar 數

Rightstrength=swing low bar 右側之 K Bar 數

Page 50: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

舉例說明 : SwingLowBar (1, L, 3, 2, 30)

尋找 SwingLowBar 從最近的 30 根 K Bars 開始,距離目前最近的

SwingLowBar,SwingLowBar 左側 K Bar 數至少 3 個,右側 K Bar 數至

少 2 個,若 Swing low bar 從現在開始發生在前面第 5 個 K Bar 時就傳回

5,在指定之期間內沒有滿足於 Swing low bar 條件時就傳回-1。

Swing Low Point

若滿足 SwingLowBar 就傳回 True,否則傳回 False。

格式:SwingLowPoint(Price, Length)

Price:價格參數

Length:期間參數

SwingHigh、SwingHighBar、SwingHighPoint、SwingLow、SwingLowBa

r、SwingLowPoint 等相關函數的使用可參照 SwingPoint View。

Page 51: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

SWMA

SWMA 是 Sine - Weighted Moving Average 之縮寫,使用 sine 函數值

做加權調整之移動平均。

格式:SWMA(Price,Length)

Price:價格參數

Length:期間參數

使用方式 :

均線上方一般來說價格走勢正向,均線下方一般來說價格走勢負向,但若遇價格

趨向橫盤整理時,應該要加上其他技術分析工具輔助判斷。

T3 Average

B 變數 “ hot ” 是抑制係數,系統建議值設定為 0.7,T3 Average 的研發

Page 52: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

是為了降低傳統移動平均線錯誤信號發生的頻率,使用的方法與一般傳統移動平

均線雷同。

格式:T3Average(Price, Length, hot)

Price:價格參數

Length:期間參數

hot:調整 B 之變數 ( 0.5 ~ 0.7 )

使用方式 :

依 Granville rules 判斷,但與相同期間參數 ( 30 ) 相比 T3Average 高低點

較一般移動平均更早出現轉折。

Trend Analysis Index

基本上 Trend Analysis Index 運用類似標準差的概念計算一定期間內的移動平

Page 53: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

均值的差異,使用方法類似 ADX,穩定的趨勢下 Trend Analysis Index

會增加,無趨勢狀況下,Trend Analysis Index 會遞減。

格式:TrendAnalysisIndex(MALength, HighLowLength)

MALength:移動平均之期間參數

HighLowLength:為了尋找輸入期間中最高價和最低價

使用方式 :

使用方式與 ADX 相似,當有明顯趨勢時,TAI 會遞增,當趨勢並不明顯時,TA

I 會遞減。

True Range

True Range 為 Werrys 和 Ildo 所研發,一般波動率為 K Bar 的全距,但忽

略了跳空 ( Gaps ) 與漲跌停限制 ( Limit moves ),True Range 加入了這

2 種因素讓 Volitility 更具參考價值,把 True Range 使用在移動平均函數加

Page 54: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

以平滑的話就變成 Average True Range。

A:今日高價和今日低價之差異

B:昨日收盤價和今日高價差異之絕對值

C:昨日收盤價和今日之低價差異之絕對值

在上面之A、B、C值中最大之值為True Range。

格式:TrueRange

Typical Price

最高價、最低價、收盤價相加再除3所成之值。

Volatility

波動率函數。

格式:Volatility(Length)

Length:期間參數

使用方式 :

1. Volatility 可用來量測金融商品的風險程度。

2. 當 Volitility 偏低時,代表明顯趨勢形成的機率會增加。

Page 55: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

X Average

指數加權移動平均,可以減少股價與移動平均線間之時間延遲 ( time lag ) 問

題,其他技術指標若有使用移動平均函數,如 MACD,可以使用 X Average

來取代簡單算數平均函數來使用。

Zig Zag

Z 字轉向指標 ( ZigZag ) 是一種表示價格趨勢的指標。它的原理是去過濾較為

不重要的價格波動,爾後再分析價格的移動趨勢,以免見樹不見林。所以可藉由

它來建立一組忽略較小價格變化的價格指標。該指標的特性為很單純的從大幅度

的價格變化來判斷價格的趨勢,而不會受到較小波動的干擾。ZigZag 不具價格

Page 56: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

預測能力,但是與 Fibonacci retracements ( 黃金分割率 ) 搭配使用可做為價

格趨勢的確認工具。

計算方法

ZigZag = n 期價格移動平均 ( 系統預設為 5 天,可於設定指標設定計算天數 )

若 n 期最高價的移動平均 > n 期收盤價移動平均 * ( 1 + 0.035 ) 則上述價格

取用最高價的移動平均,反之若 n 期最低價的移動平均 < n 期收盤價移動平均

* ( 1 - 0.035 ) 則上述價格取用最低價的移動平均,其餘則選用收盤價的移動平

均運用原則,當 ZigZag 持續增加時表示現在價格為上漲的趨勢。當 ZigZag

持續減少時表示現在價格為下跌的趨勢。

格 式 : ZigZag( Price, RetraceMethod, R etrace, LineColor, LineWidth,

DrawLine )

Price:價格參數

RetraceMethod:反轉方法之選擇

Retrace:輸入反轉值

LineColor:線之顏色值(常數,選擇)

LineWidth:線之寬度(常數,選擇)

DrawLine:是否畫線(True/False)

使用方式 :

1. 利用 ZigZag 的高低點形成趨勢線。

2. 價格若向上突破或向下跌破趨勢線。

Page 57: SniperIDE 內建函數說明 - jsmarket.jihsun.com.tw

3. 當價格回落至 Bollinger Band 下緣或上緣時,就是多頭或空頭入市的時

機。

4. 因為 ZigZag 有過濾較小與不重要波動的功用,因此與繪圖功具一起搭配使

用可以得到良好功效。