初接觸 MetaStock 的投資者,多數都會有個疑問,就是怎麼 MetaStock 裡的 MACD 不能自訂日數組合的?MetaStock 只容許我們修改訊號線的日數,但用來計算 MACD 線的兩條 EMA,不但不能更改,甚至沒有顯示所採用的是什麼日數:
這也太神秘了吧,MACD 而已,又不是黑盒系統,怎會什麼也沒有顯示的?我嘗試到 "MetaStock Help" 查看,找到如下解釋:
In order to maintain the mathematical integrity of the MACD as prescribed by Gerald Appel, MetaStock does not allow the time periods in the MACD to be changed.
2010年12月22日 星期三
2010年12月8日 星期三
程式編寫入門5 - 常用技術指標
除了移動平均線,投資者最常用的技術指標,相信非 RSI、STC 及 MACD 莫屬。現在簡單介紹一下它們在 MetaStock 程式中的表達方式:
為幫助理解,我們嘗試自行建立隨機指數 (STC),在 Indicator Builder 輸入以下的指標名稱及程式:
Name:STC
Formula:
Stoch(14,3)
為幫助理解,我們嘗試自行建立隨機指數 (STC),在 Indicator Builder 輸入以下的指標名稱及程式:
Name:STC
Formula:
Stoch(14,3)
2010年11月28日 星期日
程式編寫入門4 - Cross()
當我們編寫交易系統時,最常用到的也許就是穿越訊號,例如 10天線升穿 50天線,或 9天 RSI 升穿 30。在 MetaStock 中,這時就要用到 Cross() function:
Cross(DATA ARRAY 1, DATA ARRAY 2)
假設我們現在要建立一個移動平均線系統,買賣規則如下:
買入訊號
5天線升穿 20天線
沽出(平倉)訊號
5天線跌破 20天線
2010年11月18日 星期四
保力加通道與 RSI 的結合 - %b(RSI)
自從技術分析大師 Welles Wilder 的著作《New Concepts in Technical Trading Systems》面世後,相對強弱指數 (RSI) 就成為投資者最喜歡的技術指標之一。RSI 的基本應用非常簡單,幾乎隨便找一本技術分析書都可以找到:
1. RSI 超越 70為超買,市場有調整壓力。
2. RSI 低於 30為超賣,市場隨時展開反彈。
只要看過這兩個「法則」,就不難想到為什麼 RSI 會如此受歡迎了。多數投資者都喜歡低買高沽,怎樣才算高?很多人習慣與過去的價位比較,若恆指上星期還在 21000點附近,現在升至 22000點,就覺得很「高」了,再加上看到 RSI 升至超買區,往往就會忍不住想做淡。
1. RSI 超越 70為超買,市場有調整壓力。
2. RSI 低於 30為超賣,市場隨時展開反彈。
只要看過這兩個「法則」,就不難想到為什麼 RSI 會如此受歡迎了。多數投資者都喜歡低買高沽,怎樣才算高?很多人習慣與過去的價位比較,若恆指上星期還在 21000點附近,現在升至 22000點,就覺得很「高」了,再加上看到 RSI 升至超買區,往往就會忍不住想做淡。
2010年11月5日 星期五
程式編寫入門3 - Input()
大部份的技術指標都有一些參數供我們自行調整,以適應不同的市場或周期,例如 RSI 就可以採用 9天或 14天等不同的計算日數。那麼,當我們利用 MetaStock 的 Indicator Builder 建立技術指標時,要如何做才能讓指標擁有參數設定的功能呢?以保力加通道的 %b 為例,我曾介紹用下面的 formula 來建立 (請參考「程式編寫入門2」):
(C-BBandBot(C,20,S,2))/(BBandTop(C,20,S,2)-BBandBot(C,20,S,2))
大家可能留意到,這個 formula 所計算的 %b 是固定以 20天 SMA 及 2倍標準差作為參數組合的。如果想在指標建立好後,能夠讓我們自行調整參數,就要用到 Input() 函式:
(C-BBandBot(C,20,S,2))/(BBandTop(C,20,S,2)-BBandBot(C,20,S,2))
大家可能留意到,這個 formula 所計算的 %b 是固定以 20天 SMA 及 2倍標準差作為參數組合的。如果想在指標建立好後,能夠讓我們自行調整參數,就要用到 Input() 函式:
Input("PROMPT TEXT", MINIMUM VALUE, MAXIMUM VALUE, DEFAULT VALUE)
2010年10月31日 星期日
陰陽燭:錘頭與射擊之星
陰陽燭 (Candlesticks) 可說是最古老的技術分析工具,起源於日本,自從 Steve Nison 在 1991年出版了《陰線陽線》一書,隨即引起世界性的陰陽燭學習熱潮。到了今天,陰陽燭已成為技術分析軟件的必備工具之一,在投資界幾乎無人不識。
我想陰陽燭之所以如此普及,應該歸功於其易記又令人著迷的形態名稱,諸如早晨之星、身懷六甲、三個白武士,聽著就覺得很有威力,連信心也好像倍增了。但是,到底這個在日本已盛行 150年以上的分析工具,在今時今日的金融市場上有多大效用呢?這次我嘗試用 MetaStock,對兩個基本的陰陽燭形態 ─ 錘頭與射擊之星 ─ 作簡單的 back-testing。
我想陰陽燭之所以如此普及,應該歸功於其易記又令人著迷的形態名稱,諸如早晨之星、身懷六甲、三個白武士,聽著就覺得很有威力,連信心也好像倍增了。但是,到底這個在日本已盛行 150年以上的分析工具,在今時今日的金融市場上有多大效用呢?這次我嘗試用 MetaStock,對兩個基本的陰陽燭形態 ─ 錘頭與射擊之星 ─ 作簡單的 back-testing。
2010年10月23日 星期六
程式編寫入門2 - BBand
之前曾經介紹過由保力加通道衍生的技術指標 %b,它能顯示當前價格在通道的位置,並反映現行趨勢的強弱 (有關 %b 可參考文章 technical-analysts.blogspot.com/2010/10/b.html )。但是,若你仍在使用財經網站所提供的免費技術分析工具,就會發現根本找不到 %b 這個指標,這也沒辦法,一分錢一分貨嘛。
有些人不太願意花錢去購買貴一點的軟件,情願使用一些不夠全面但免費的網上圖表。但我認為,自己手上所用的技術分析軟件,就像戰場上的武器一樣,你可以使用免費的點38左輪手槍,但當你上到戰場時,發現其他人都手持 AK-47 自動步槍或 MP5 衝鋒槍,你會不會後悔沒有花點錢裝備自己呢?如果花點錢就能大幅提高自己的生存機率,相信大多數人也願意吧。
在 MetaStock 裡,我們可以透過 Indicator Builder 來建立 %b。首先介紹一下保力加通道的兩個基本函式:
有些人不太願意花錢去購買貴一點的軟件,情願使用一些不夠全面但免費的網上圖表。但我認為,自己手上所用的技術分析軟件,就像戰場上的武器一樣,你可以使用免費的點38左輪手槍,但當你上到戰場時,發現其他人都手持 AK-47 自動步槍或 MP5 衝鋒槍,你會不會後悔沒有花點錢裝備自己呢?如果花點錢就能大幅提高自己的生存機率,相信大多數人也願意吧。
在 MetaStock 裡,我們可以透過 Indicator Builder 來建立 %b。首先介紹一下保力加通道的兩個基本函式:
BBandTop (DATA ARRAY, PERIODS, METHOD, DEVIATIONS)
BBandBot (DATA ARRAY, PERIODS, METHOD, DEVIATIONS)
BBandTop() 是保力加通道頂的函式,而 BBandBot() 則代表保力加通道底。舉例,保力加通道常用的參數為 20天簡單移動平均線 (SMA) 及 2倍標準差 (Standard Deviation),化做 MetaStock 程式如下:
BBandTop(C,20,S,2);
BBandBot(C,20,S,2)
2010年10月16日 星期六
程式編寫入門1 - Mov()
上次示範了如何用 MetaStock 編寫一個簡單的交易系統,當時所用的是 Mov() 函式,它在 MetaStock 中所代表的就是移動平均線。不過,正式介紹 Mov() 之前,大家首先要知道一些 data arrays 在 MetaStock 語法中的縮寫:
上述的縮寫字在程式編寫過程中經常也會用到,因此大家需要記住。現在我們可以看一看 Mov() 函式的結構:
上述的縮寫字在程式編寫過程中經常也會用到,因此大家需要記住。現在我們可以看一看 Mov() 函式的結構:
Mov(DATA ARRAY, PERIODS, METHOD)
2010年10月14日 星期四
保力加通道指標 - %b
相信很多投資者也聽過保力加通道,我以前亦有在網站介紹過它的計算和基本用法,這裡就不再重覆了,有興趣的朋友可參考 ectrader.org/bands.htm。其實,除了保力加通道外,其發明者 John Bollinger 還設計了兩個技術指標:%b 和 BandWidth,這裡我想簡單介紹一下 %b。
%b 能清楚告訴我們價格和保力加通道的關係,其公式如下:
%b 能清楚告訴我們價格和保力加通道的關係,其公式如下:
(收市價 ─ 保力加通道底) / (保力加通道頂 ─ 保力加通道低)
2010年10月10日 星期日
移動平均線的種類
移動平均線 (Moving Average, MA) 屬於順勢指標,它能幫助投資者判斷趨勢,而且預測能力頗強。最常用的有以下三種類型:簡單 (Simple)、加權 (Weighted) 與指數 (Exponential)。大多數人都採用簡單移動平均線 (SMA),因為它的計算最容易。以5天期為例,將今日收巿價和之前四個交易日的收巿價相加,再除以 5 ,得出的便是今日的 5天 SMA。
那麼,我們應如何選擇移動平均的長度呢?首先,我們要了解,移動平均的長度愈短,對價格的反應就會愈敏感,因此轉勢訊號亦會較快出現。但凡事有利也有弊,短期平均線的反覆訊號亦較多 (即平均線發出買入訊號後,很快又發出離場訊號,令之前的買入訊號蝕錢) 。請看下圖:
恆指日線圖
我們看到,在今年3月恆指出現短暫調整時,5天線立即跟隨向下,但較長期的20天線仍維持上升趨勢;到4月時,恆指真的轉勢了,5天線因為較敏感,所以比20天線更早發出反轉訊號。因此,投資者在選擇移動平均的長度時,要考慮的是自己所希望掌握的趨勢有多長。如果希望掌握長期趨勢,可以採用100天甚至200天線;至於大多數投資者,一般採用10天至50天之間的平均線。
那麼,我們應如何選擇移動平均的長度呢?首先,我們要了解,移動平均的長度愈短,對價格的反應就會愈敏感,因此轉勢訊號亦會較快出現。但凡事有利也有弊,短期平均線的反覆訊號亦較多 (即平均線發出買入訊號後,很快又發出離場訊號,令之前的買入訊號蝕錢) 。請看下圖:
恆指日線圖
我們看到,在今年3月恆指出現短暫調整時,5天線立即跟隨向下,但較長期的20天線仍維持上升趨勢;到4月時,恆指真的轉勢了,5天線因為較敏感,所以比20天線更早發出反轉訊號。因此,投資者在選擇移動平均的長度時,要考慮的是自己所希望掌握的趨勢有多長。如果希望掌握長期趨勢,可以採用100天甚至200天線;至於大多數投資者,一般採用10天至50天之間的平均線。
2010年10月5日 星期二
踏出第一步
要建立技術分析交易系統,往往需要將買賣規則轉化為電腦看得懂的程式語言,以便進行歷史測試 (back-testing),看看自己設計的系統往績到底如何 。雖然歷史測試也可以人手進行,但卻要耗費大量時間,因此,除非你覺得自己的交易規則很難化做程式語言,否則可能的話還是盡量用電腦幫忙的好。
要把交易系統化做程式語言,需要用到技術分析軟件幫忙,較出名的有 MetaStock、TradeStation 及 Wealth-Lab,而我所用的是 MetaStock 11。現在讓我們來牛刀小試,以MetaStock 建立一個簡單的系統。
今次我們要建立一個移動平均線系統,買賣規則如下:
(1) 2天線升穿19天線買入。
(2) 2天線跌穿19天線沽出。
要把交易系統化做程式語言,需要用到技術分析軟件幫忙,較出名的有 MetaStock、TradeStation 及 Wealth-Lab,而我所用的是 MetaStock 11。現在讓我們來牛刀小試,以MetaStock 建立一個簡單的系統。
今次我們要建立一個移動平均線系統,買賣規則如下:
(1) 2天線升穿19天線買入。
(2) 2天線跌穿19天線沽出。
交易系統的好處
技術分析經常給人主觀的感覺,原因是各種圖表形態如頭肩底、三角形等很難有精確的定義,分析者往往是依靠自己的經驗去作主觀判斷。而波浪理論則更「離譜」,貌似只要掌握了基本的數浪規則,就可以天空海闊任你發揮,往往不同的人會得出不同的數浪結果,誰對誰錯要事後才知了。
但其實技術分析也可以很客觀的,有些人會利用一些技術指標和買賣規則去建立機械化的交易系統,系統完成後,投資者只需要根據系統所發出的買賣訊號去進行交易即可。這樣做主要有兩個好處:
首先,投資者可以擺脫情緒的影響。相信很多人也試過,即使已看過圖表走勢,正式做買賣決定時,仍然會心大心細,進場與否只是一念之差。今天心情好就進場了,下星期可能心情不同了,明明面對相同的圖表走勢卻畏縮不前。
其次,系統可以幫助你維持交易時的紀律。不能否認,很多人投資的動機是因為「好玩」,賺錢當然很重要,但投資市場所帶來的刺激與快感會令他們上癮,結果明明就沒有良好的買賣機會,他們卻仍然忍不住要找各種理由去進場「走一轉」。若投資者建立了自己的交易系統,一切有買賣訊號作依據,便不會再胡亂進場。
雖然建立機械化交易系統有以上好處,但我想強調,「藝術型」的投資者也可以獲得理想回報的,他們根據自己的經驗,對圖表形態和技術指標作出歸納總結,然後才下投資決定。雖然某程度摻雜了主觀成份,但這類投資者通常對技術分析有獨到的見解,而且能夠自我遵守紀律,有本事的人主觀一點又何妨呢?條條大路通羅馬,並沒有敦優敦劣之分。
但其實技術分析也可以很客觀的,有些人會利用一些技術指標和買賣規則去建立機械化的交易系統,系統完成後,投資者只需要根據系統所發出的買賣訊號去進行交易即可。這樣做主要有兩個好處:
首先,投資者可以擺脫情緒的影響。相信很多人也試過,即使已看過圖表走勢,正式做買賣決定時,仍然會心大心細,進場與否只是一念之差。今天心情好就進場了,下星期可能心情不同了,明明面對相同的圖表走勢卻畏縮不前。
其次,系統可以幫助你維持交易時的紀律。不能否認,很多人投資的動機是因為「好玩」,賺錢當然很重要,但投資市場所帶來的刺激與快感會令他們上癮,結果明明就沒有良好的買賣機會,他們卻仍然忍不住要找各種理由去進場「走一轉」。若投資者建立了自己的交易系統,一切有買賣訊號作依據,便不會再胡亂進場。
雖然建立機械化交易系統有以上好處,但我想強調,「藝術型」的投資者也可以獲得理想回報的,他們根據自己的經驗,對圖表形態和技術指標作出歸納總結,然後才下投資決定。雖然某程度摻雜了主觀成份,但這類投資者通常對技術分析有獨到的見解,而且能夠自我遵守紀律,有本事的人主觀一點又何妨呢?條條大路通羅馬,並沒有敦優敦劣之分。
2010年10月3日 星期日
技術分析辨牛熊
投資者要將資金投入股市前,第一個要問的問題必定是:現在到底是牛市還是熊市?傳統上大家都喜歡用250天線作為牛熊分界線,但我想在這裡分享自己的一個方法。
牛轉熊條件:
1. 周線圖上,價格跌穿 Kijun Sen,而 Kijun Sen 跟著掉頭向下。
2. 9周 RSI 跌至30以下,確認熊市。
熊轉牛條件:
1. 周線圖上,價格升穿 Kijun Sen,而 Kijun Sen 跟著掉頭向上。
2. 9周 RSI 升至70以上,確認牛市。
相信大部份人也認識 RSI,但什麼是 Kijun Sen(基準線) 呢?它是一目均衡圖中的指標,計算方法是將過去26日內的最高價和最低價相加,再除以2。Kijun Sen 與平均線有些相似,但卻將交易日內的波幅也考慮在內,以下為恆指周線圖的 Kijun Sen:
現在我們來看看,以 Kijun Sen 及 RSI 測恆指的實例:
周線圖 (98-02年)
周線圖 (04-07年)
周線圖 (07-10年)
大多數時候 Kijun Sen 的方向都會與現行趨勢相同,在實際運用時,我們可用來作為支持位/阻力位的參考。至於 RSI,很多人只會看它的超買超賣來估頂撈底,但其實 RSI 還有以下特性:
1. 牛市中,9周 RSI 會多次進入70以上的超買區,卻絕少進入超賣區。
牛轉熊條件:
1. 周線圖上,價格跌穿 Kijun Sen,而 Kijun Sen 跟著掉頭向下。
2. 9周 RSI 跌至30以下,確認熊市。
熊轉牛條件:
1. 周線圖上,價格升穿 Kijun Sen,而 Kijun Sen 跟著掉頭向上。
2. 9周 RSI 升至70以上,確認牛市。
相信大部份人也認識 RSI,但什麼是 Kijun Sen(基準線) 呢?它是一目均衡圖中的指標,計算方法是將過去26日內的最高價和最低價相加,再除以2。Kijun Sen 與平均線有些相似,但卻將交易日內的波幅也考慮在內,以下為恆指周線圖的 Kijun Sen:
現在我們來看看,以 Kijun Sen 及 RSI 測恆指的實例:
周線圖 (98-02年)
周線圖 (04-07年)
周線圖 (07-10年)
大多數時候 Kijun Sen 的方向都會與現行趨勢相同,在實際運用時,我們可用來作為支持位/阻力位的參考。至於 RSI,很多人只會看它的超買超賣來估頂撈底,但其實 RSI 還有以下特性:
1. 牛市中,9周 RSI 會多次進入70以上的超買區,卻絕少進入超賣區。
2. 熊市中,9周 RSI 會多次進入30以下的超賣區,但絕少進入超買區。
了解這個特性,對於大家分辨牛熊就可以帶來很大啟示,當我們看到 RSI 在牛市以來第一次踏進超賣區時,我們就知道,這次很可能不是調整,而是熊來了!同樣,看到 RSI 自熊市以來第一次步入超買區,就要打醒精神,預備迎接牛市了。
訂閱:
文章 (Atom)