(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)
PROMPT TEXT 用來提示我們需要輸入的是什麼,MINIMUM VALUE 和 MAXIMUM VALUE 限制了能夠輸入的數值範圍,而 DEFAULT VALUE 則是預設值。是否覺得有些複雜呢?其實只要實際用一次,就會很容易明白,以下示範如何利用 Input() 建立 %b:
1. 打開 Indicator Builder,按 "New..." 建立一個新指標。
2. 輸入以下的指標名稱及程式碼:
Name: %b
Formula:
x:=Input("Periods",10,50,20);
(C-BBandBot(C,x,S,2))/(BBandTop(C,x,S,2)-BBandBot(C,x,S,2))
x:=Input("Periods",10,50,20);
(C-BBandBot(C,x,S,2))/(BBandTop(C,x,S,2)-BBandBot(C,x,S,2))
「x:=Input("Periods",10,50,20);」就是要程式建立一個 x 變數,並容許我們自行輸入 10 至 50 任何一個數字來作為 x 的值,預設為 20。而我們所輸入的 x 值將會作為保力加通道的 SMA 日數,代入第二行的公式計算 %b。
3. 每當使用 %b 時,就會出現視窗叫我們輸入 "Periods" 的數值,即是保力加通道的 SMA 日數。
上述的 %b 雖然容許我們調整 SMA 日數,但另一個參數標準差仍固定為 2倍。如果希望標準差也能隨意調整的話,只需在程式碼中再增加一個 y 變數即可:
x:=Input("Periods",10,50,20);
y:=Input("Deviations",1,3,2);
(C-BBandBot(C,x,S,y))/(BBandTop(C,x,S,y)-BBandBot(C,x,S,y))
y:=Input("Deviations",1,3,2);
(C-BBandBot(C,x,S,y))/(BBandTop(C,x,S,y)-BBandBot(C,x,S,y))
沒有留言:
張貼留言