談完趨勢,來談談離趨勢太遠時該怎麼辦?如果我們接受股價是有其趨勢,那麼偏離趨勢太遠,就應該要回到趨勢上來,除非是整個趨勢都要改變了,由這樣的概念所出發的技術指標有兩種,一種是乖離型指標,另一種是震盪型指標。這兩種都有隱含者物極必反的思維。
一,乖離率
乖離率的概念簡單說,就是目前的價格離平均值有多遠,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值如鐘擺般來回擺動,有著物極必返的概念,是震盪指標的代表
以上是物極必反的概念下所衍生的技術指標,我們到現在討論了開高低收相對位置,成交量,趨勢理論及物極必返理論所衍生出來的一些技術指標,大家可以發現,一個技術指標的發明,總是歷經了如下圖的四個階段
我有很多的交易策略,都是透過這樣的方式,找到合用的技術指標,然後在搭配一些選股條件所組合而成,之後會再跟大家繼續介紹一些技術指標的產生過程,幫助大家找出自己滿意的自訂指標。