2015年1月12日 星期一

●DPO區間震蕩線

EasyTrader ArtNo 236
     DPO指標的原文是 Detrended Price Oscillator,直譯為「非趨勢價格擺盪」指標,所謂的Detrend 就是「去除掉趨勢」之意,顧名思義,也就是說這個指標可以將一個股價變動的時間數列值,袪除掉其長線的趨勢方向,而只留下短線價格的波動。這個指標設計的目的似乎與大多數的指標相反,一般的指標都是想要留下趨勢的變動,而袪除掉其短期波動的雜訊。然而,這個指標要用什麼樣的方法,去除掉長期的趨勢呢?
     其實它用的方法一點也不新奇,就只是「短線乖離」的觀念而已。1970~1980年代,沃爾特·巴塞特(Walt Bressert)將他對於衍生性期貨商品,迴圈規則的研究心得,發表於期貨商品雜誌。雖然,這份研究報告,對目前的技術分析研究者而言,似乎太過於簡單。但是,他已經把移動平均線,從傳統的觀念上跳脫出來。這個觀點,逐漸被研究周期迴圈的學者採用。
一段周期的移動平均線,其周期的二分之一處,是價格重心的聚集點。以20天的周期為例,第10天是整段周期的重心平衡點。

計算方法
為了計算 DPO的,您需要指定一個時間段 n ,超過這一時段的價格趨勢將被刪除,只保留短期震蕩。首先創建一個 n 期簡單移動平均

SMA(n) = n日簡單移動平均線
DPO = 收盤價- 前(N/2+1)日簡單移動平均

指標程式碼
input:Length(20),UP(60),DN(40) ;
Vars:AvgLen(0),MidLen(10),DPO(0) ;
AvgLen = Average(Close,Length) ;
MidLen = Intportion(Length/2)+1 ;
DPO = Close - AvgLen[MidLen] ;

{ 利用過去 89根K棒的 DPO 最高值與最小值的百分比來定義超買超賣線
設計上類似自適應性振盪指標的概念 }

Value1 = Highest(DPO,89)[1] ;
Value2 = Lowest(DPO,89)[1] ;

Plot1(DPO,"DPO") ;
Plot2(0,"zero") ;
Plot3(Value1*(1-UP/100),"UP") ;
Plot4(Value2*(1+DN/100),"DN") ;


應用想法
1、在0軸上方,設定一條超買線,DPO波動至超買線時,代表股價處於短期高點。
2、在0軸下方,設定一條超賣線,DPO 波動至超賣線時,代表股價處於短期低點。
3、DPO位於0軸上方,代表多頭趨勢。或DPO由負值向上穿越0軸時,視為買進訊號。
4、DPO位於0軸下方,代表空頭趨勢。或DPO由正值向下穿越0軸時,視為賣出訊號。


台指期 60分K 留倉 交易期間 2004/11/1 ~ 2014/10/31 交易成本 1200


台指期 30分K 留倉 交易期間 2004/11/1 ~ 2014/10/31 交易成本 1200


DPO的特徵
DPO雖是一個以消除趨勢干擾為目的的技術指標,但是由於其無法排除急劇的價格波動,所以說DPO所反映的並不是行情趨勢,而是價格頂、底部的水準位置。
DPO是使用收盤價而計算得出價差,故DPO指標並沒有上下限。也就是說, DPO可以準確地反映出上升或下降趨勢的持續狀態所引發的條件性反作用,相反而言趨勢本身變化不大時,DPO也會發出失誤的信號。

0 留言:

張貼留言

如果有私人問題想請教,請透過網站右方『與站長聯絡』之表單,謝謝!

----------------------------------------------------------------------------------------------------
網站聲明(Disclaimer)
本教學網站內所提供之程式碼(包括函數、指標、訊號)屬開放程式碼,用意在於讓使用者學習程式語法之撰寫,使用者可以任意修改語法內容並調整參數。本網站所有之內容(包括文章、影片、歷史紀錄、程式碼、教材)限用於個人學習使用,請勿轉寄、濫用,嚴禁私自串接帳戶交易。
-------------------------------------------------------------------------------------------------