免費下載
訂閱模組
搜尋

關於背離的寫法


選擇單元...
有讀者問到,XS有沒有辦法判斷指標是否背離。今天這一篇文章內就來跟大家探討背離的寫法。

首先,XS內建函數中有一個叫作線性回歸斜率(linearregslope),如果您在腳本編輯器中按F1,會跳到函數的說明頁,您輸入linearregslope按enter,會看到以下的說明:

20160310-01

什麼是線性迴歸呢?

20160310-02

就像上圖一樣,我們找出一條線, 這條線距離所有要計算的價位最近,就是所謂的線性迴歸,透過線性迴歸,我們可以找出價位群體的方向,這條線的斜率就是linearregslope。

當數據呈現上昇分佈時,線性迴歸的斜率是正的,下降分佈時,線性迴歸的斜率是負的。

小編運用這個原理,寫出以下的背離函數:

input:price(numericsimple),index1(numericsimple),length(numericsimple);
if length<5
then raiseruntimeerror("計算期別請超過五期");

value1=linearregslope(price,length);
value2=linearregslope(index1,length);

if value1>0 and value2<0
then deviate=-1
else
  if value1<0 and value2>0
  then deviate=1
  else
    deviate=0;

透過這個函數,我們就可以比較兩個數列,看看他們是否出現背離的情況,這個函數的寫法是當第一個值下跌而第二個值上昇時,函數的回傳值是 1 ,相反的則是-1 ,若兩個值同方向則是傳回0。

假設我們想找出收盤價下跌,但跟10日RSI上昇的股票,我們就可以運用這個函數,寫出下面這樣的腳本:

value1=rsi(close,10);
if deviate(close,value1,10)=1
then ret=1;

有了這個函數,我們就可以隨時把兩個時間序列拿出來檢定是否有背離的現象了。

今天就為大家介紹到此,有任何建議的話歡迎隨時跟我們講喔。下次見。