圖說技術指標的設計方式與背後的思維(四)

By | 2020-03-17

談完趨勢,來談談離趨勢太遠時該怎麼辦?如果我們接受股價是有其趨勢,那麼偏離趨勢太遠,就應該要回到趨勢上來,除非是整個趨勢都要改變了,由這樣的概念所出發的技術指標有兩種,一種是乖離型指標,另一種是震盪型指標。這兩種都有隱含者物極必反的思維。

一,乖離率

乖離率的概念簡單說,就是目前的價格離平均值有多遠,XS裡有一個bias的函數就是用來計算乖離率,它的腳本如下

SetBarMode(1);

// Bias function (for 乖離率相關指標)
//
input: length(numericsimple);

value1 = Average(close, length);
Bias = (close - value1) * 100 / value1;

從程式碼來看,bias就是價格減去平均值當分子再除以平均值,乖離值在零的上下游走,離太遠就是偏離平均值太遠

二,KD值

除了偏離均線算是乖離,另外一種概念叫震盪,它的概念是人們有時太過樂觀,有時又太過悲觀,所以造成股價會上下波動,形成一種像鐘擺一樣的來回震盪走勢,這個概念裡最有名的指標是KD指標,它的計算方式是去找出特定區間內,收盤價與最低價的距離佔區間最高價與最低價間距離的比例,它的計算公式如下,在XS中是把它寫成一個叫Stochastic的函數,函數的腳本如下

input:
length(numericsimple), rsvt(numericsimple), kt(numericsimple),
rsv(numericref), k(numericref), d(numericref);

variable:
maxHigh(0), minLow(0);

maxHigh = Highest(high, length);
//找出波段最高點
minLow = Lowest(low, length);
//找出波段最低點
if maxHigh <> minLow then
rsv = 100 * (close - minLow) / (maxHigh - minLow)
else
rsv = 50;
//定議RSV是收盤價減去波段最低點除以最高點到最低點間的距離
if currentbar = 1 then
begin
k = 50;
d = 50;
end
else
begin
k = (k[1] * (rsvt - 1) + rsv) / rsvt;
//K值是平滑RSV值
d = (d[1] * (kt - 1) + k) / kt;
//D值是K值的平滑值 
end;

stochastic = 1;

一般rsvt常用的是3,也就是平滑的權重是1/3,區間是9,所以如果要寫出9K在低檔與9D黃金交叉的腳本,就可以運用這個stochastic的函數撰寫如下

input: Length(9), RSVt(3), Kt(3);
variable: rsv(0), k(0), _d(0);

SetTotalBar(maxlist(Length,6) * 3);

SetInputName(1, "天數");
SetInputName(2, "RSVt權數");
SetInputName(3, "Kt權數");

Stochastic(Length, RSVt, Kt, rsv, k, _d);

Ret = k crosses above _d;

K值及D值如鐘擺般來回擺動,有著物極必返的概念,是震盪指標的代表

 

以上是物極必反的概念下所衍生的技術指標,我們到現在討論了開高低收相對位置,成交量,趨勢理論及物極必返理論所衍生出來的一些技術指標,大家可以發現,一個技術指標的發明,總是歷經了如下圖的四個階段

我有很多的交易策略,都是透過這樣的方式,找到合用的技術指標,然後在搭配一些選股條件所組合而成,之後會再跟大家繼續介紹一些技術指標的產生過程,幫助大家找出自己滿意的自訂指標。