EasyTrader ArtNo 246
廣量衝力指標BTI,全名The Breadth Thrust Index,縮寫“BTI”,是一種市場動量指標,由馬丁•茨威格博士(Martin Zweig)所創。本指標是一種市場動量指標,屬於超買超賣類型。它最主要的作用,在於偵測市場是否即將展開大多頭行情?很多分析師相信,股市存在著“相對力量”,與某些物理現象吻合。例如:棒球場上的競賽,經驗豐富的球迷,依鋁棒擊打棒球的清脆響聲,就可以判斷這一球會飛得多遠。同樣的,要判斷市場是否將產生大行情,那麼,起漲點的強勢與否可以比擬成球棒打擊的聲響。連續上漲的大陽線,代表強勁的打擊力道,後市發展成大行情的機會相當高。
茨威格博士發現,美國股市自1945年以來,總共出現14次這種強勁的“衝力”現象。平均每一次衝力出現時,市場至少上升24.6%以上,漲幅相當可觀。因此,茨威格博士相信,大多數的多頭市場開始之前,都是由這種“衝力”現象所引起。總而言之,多大的力量,可以讓球飛得多遠,兩者之間成正比。有氣無力的初升力道,後市很難變成大行情。這一點,是BTI指標的理論基礎。
BTI 廣量衝力指標的公式計算方法
BTI = MA(Up / Up + Down, N)
Up = 上升股票數量
Down = 下跌股票數量
MA(x, n) = n 天的平均值
建議使用 N = 10 計算 BTI 的平均值
{指標程式碼 - Data2 為 up/(up+down)}
input:UB(0.61),DB(0.40),AvgLen(10) ;
Vars:BTI(0) ;
BTI= Close of Data2 ;
Plot1(BTI,"BTI") ;
Plot2(XAverage(Close of data2,AvgLen),"AvgBTI") ;
Plot2(UB,"UB") ;
Plot3(DB,"DB") ;
股票上漲下跌家數的資料可以直接從券商看盤軟體輸出
廣量衝力指標的指標劍法
經驗中我們常看到,行情大幅上漲之後,投資人往往會受不了誘惑,進場搶搭順風車。但是,滿懷希望跳進場之後,行情卻變成牛步拉鋸。市場雖然仍維持上升趨勢不變,但是,接下來的行情,卻是一場長時間的漲跌拉鋸,投資人必須有超強的耐力,必須耐磨耐震,才能在這種消耗戰中獲利。 初升段的大漲升,是一種“衝力”的表現。然而,很少人能在“衝力期”獲利。衝力期漲幅常常占整個波段漲幅相當大的比例,不僅利潤可觀,而且時間非常短,是一種“瞬間利潤”。有了概念後,接下來就是轉為策略程式碼來試試看,這樣的元素是否也能幫我們找到獲利的契機。
BTI 廣量衝力指標的公式計算方法
BTI = MA(Up / Up + Down, N)
Up = 上升股票數量
Down = 下跌股票數量
MA(x, n) = n 天的平均值
建議使用 N = 10 計算 BTI 的平均值
{指標程式碼 - Data2 為 up/(up+down)}
input:UB(0.61),DB(0.40),AvgLen(10) ;
Vars:BTI(0) ;
BTI= Close of Data2 ;
Plot1(BTI,"BTI") ;
Plot2(XAverage(Close of data2,AvgLen),"AvgBTI") ;
Plot2(UB,"UB") ;
Plot3(DB,"DB") ;
股票上漲下跌家數的資料可以直接從券商看盤軟體輸出
廣量衝力指標的指標劍法
- 1、61.5%是BTI的“天線”位置。
- 2、40%是BTI的“地線”位置。
- 3、BTI>61.5%時,市場超買,回檔機會大。
- 4、BTI<40%時,市場超賣,反彈機會大。
- 5、BTI從低於40%之下,10天之內,直線上升至61.5%之上,是一種衝力的表現,暗示未來市場發展成大行情的會大。
經驗中我們常看到,行情大幅上漲之後,投資人往往會受不了誘惑,進場搶搭順風車。但是,滿懷希望跳進場之後,行情卻變成牛步拉鋸。市場雖然仍維持上升趨勢不變,但是,接下來的行情,卻是一場長時間的漲跌拉鋸,投資人必須有超強的耐力,必須耐磨耐震,才能在這種消耗戰中獲利。 初升段的大漲升,是一種“衝力”的表現。然而,很少人能在“衝力期”獲利。衝力期漲幅常常占整個波段漲幅相當大的比例,不僅利潤可觀,而且時間非常短,是一種“瞬間利潤”。有了概念後,接下來就是轉為策略程式碼來試試看,這樣的元素是否也能幫我們找到獲利的契機。
資料參考來源 - MBA智庫
系統參數與變數input:EntryType(1),ExitType(1);
input:NBarL(30),NBarS(18),TradeProfit(0.045),TradeStopLoss(0.01),ATRs_L(12.7),ATRs_S(4.6);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0),HLRange(100);
input:OscRangeA(0.4),LenA(4),OscRangeB(0.6),LenB(12);
Vars: BTI(0),AvgBTI(0);
MP = MarketPosition ;
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;
PF = AvgPrice*TradeProfit ;
PL = AvgPrice*TradeStopLoss ;
{在不同交易日轉換的第一根K棒計算 BTI值與其平均值 }
if Date <> Date[1] then Begin
BTI = Close of Data2 ;
AvgBTI = XAverage(Close,LenA) of Data2 ;
end;
{ 利用BTI 值作多空進出判斷 }
if EntryType = 1 then Begin
if MP <> 1 and BTI > {Cross over} OscRangeA then Buy next bar at Highest(High,LenA) stop ;
if MP <> -1 and BTI < {Cross under} OscRangeB then Sell next bar at Lowest(Low,LenB) stop ;
end;
{ 利用BTI 平均值作多空進出判斷 }
if EntryType = 2 then Begin
if MP <> 1 and AvgBTI > {Cross over} OscRangeA then Buy next bar at Highest(High,LenA) stop ;
if MP <> -1 and AvgBTI < {Cross under} OscRangeB then Sell next bar at Lowest(Low,LenB) stop ;
end;
{常用出場規則}
if ExitType = 1 then SetStopLoss(PL * BigPointValue) ;
if ExitType = 2 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
end;
if ExitType = 3 then Begin
if MP > 0 and BarsSinceEntry = NBarL then ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then ExitShort next bar at Market ;
end;
if ExitType = 4 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
if MP > 0 and BarsSinceEntry = NBarL then {Sell } ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then {Buy} ExitShort next bar at Market ;
end;
if IsBalanceDay then setExitonClose ;
台指期 日K 留倉 交易期間 2004/12/31 ~ 2014/12/31 交易成本 1200
台指期 30 min K 留倉 交易期間 2004/12/31 ~ 2014/12/31 交易成本 1200
沒有留言:
張貼留言