2010年10月23日 星期六

程式編寫入門2 - BBand

之前曾經介紹過由保力加通道衍生的技術指標 %b,它能顯示當前價格在通道的位置,並反映現行趨勢的強弱 (有關 %b 可參考文章 technical-analysts.blogspot.com/2010/10/b.html )。但是,若你仍在使用財經網站所提供的免費技術分析工具,就會發現根本找不到 %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)

為了幫助大家更快掌握,讓我們來實習一下,建立一個比較特別的保力加通道:

通道頂 - 以最高價計算的 50天 EMA 加 2.5倍標準差
通道底 - 以最低價計算的 50天 EMA 減 2.5倍標準差

首先打開 MetaStock 的 Indicator Builder,然後按 "New..." 建立新指標,輸入以下的指標名稱及程式:

Name: BBand (Exponential)
Formula:
BBandTop(H,50,E,2.5);
BBandBot(L,50,E,2.5)

下圖就是我們新建立的保力加通道:


現在大家已經熟悉 BBandTop() 及 BBandBot() 這兩個函式,接下來就要利用它們建立 %b。先來看看 %b 的計算方法:

(收市價 ─ 保力加通道底) / (保力加通道頂 ─ 保力加通道底)

也許大家已知道該怎麼做了,沒錯,在 Indicator Builder 裡直接翻譯為 MetaStock 程式即可:

Name: %b
Formula:
(C-BBandBot(C,20,S,2))/(BBandTop(C,20,S,2)-BBandBot(C,20,S,2))

下圖為完成後的 %b 指標:








沒有留言: