關於背離的寫法
選擇單元...
XS語法進階應用
單元目錄
單元目錄
進階功能介紹
1-1 SetTotalBar資料讀取範圍與腳本執行的關係
1-2 SetBackBar指定頻率設定資料筆數
1-3 探討變數序列的觀念:幾天前黃金交叉商品為例
1-4 如何運用Print指令來抓程式的臭蟲
1-5 談OutputField跟GetFieldDate這兩個函數
1-6 計算區間漲跌幅的自訂函數
1-7 盤中即時資料欄位的應用
1-8 Tick欄位的應用
1-9 台股逐筆撮合的連續成交Tick序列
1-10 選股中心創掛牌新高與大單欄位的應用
1-11 集保相關欄位調整
1-12 如何使用函數取得商品的實際庫存數量
1-13 XS在可轉債的應用
1-14 XS函數「isfirstcall」說明
1-15 XScript 編輯器已支援 *.xs 副檔名的檔案
有讀者問到,XS有沒有辦法判斷指標是否背離。今天這一篇文章內就來跟大家探討背離的寫法。首先,XS內建函數中有一個叫作線性回歸斜率(linearregslope),如果您在腳本編輯器中按F1,會跳到函數的說明頁,您輸入linearregslope按enter,會看到以下的說明:什麼是線性迴歸呢?就像上圖一樣,我們找出一條線, 這條線距離所有要計算的價位最近,就是所謂的線性迴歸,透過線性迴歸,我們可以找出價位群體的方向,這條線的斜率就是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;有了這個函數,我們就可以隨時把兩個時間序列拿出來檢定是否有背離的現象了。今天就為大家介紹到此,有任何建議的話歡迎隨時跟我們講喔。下次見。