趨勢強度指標 (Trend Intensity Index, TII) 雖然不像 RSI 或 MACD 那樣家喻戶曉,但在專業量化交易員圈子中,它被視為測量市場「信念(Conviction)」最精準的工具之一。
其發明者 M.H. Pee 的設計理念非常獨特,他認為傳統指標只看「價格變動的速度」,卻忽略了 「價格相對於長期均衡價值的累積位移」 。
以下為您詳細說明 TII 的設計理念、計算公式、實戰應用,並提供專為 XQ 系統優化的 XScript 腳本。
一、 TII 的設計理念:量化群眾的「信念」
在行為金融學中,有一個「從眾效應(Herding)」。當一個趨勢形成時,散戶通常是最後知後覺的,而法人機構則是有計劃地推升價格。
TII 的設計核心在於:如果市場真的處於強勢的多頭,群眾不僅會把價格推高,而且會「願意長時間、大幅度地在均線(長期價值共識)之上買進」。
- 傳統 RSI 的缺點:如果股價連續 14 天微幅上漲 0.1%,RSI 會衝到接近 100,顯示極度超買,但實際上推升力道很弱。
- TII 的優點:它不看單日的漲跌幅,而是計算過去一段時間 內,價格位於長期均線 「上方」的累積面積,與「下方」累積面積的比例。這測量的是一種趨勢的「動能持續性」與「群眾追價信念」。
二、 TII 的詳細計算方式
TII 的計算分為四個步驟,本質上是一個「乖離率的累積佔比」運算:
步驟 1:建立長期價值基準線 (Baseline)
計算長天期的移動平均線 (MA)。
步驟 2:計算每日價格與均線的「乖離 (Deviation)」
計算每日收盤價相對於 MA 的絕對位移。
D = Close – MA
步驟 3:分類並累加「正乖離」與「負乖離」
在過去 N 天 內:
- 如果 D > 0 (收盤價在均線之上),將該數值計入 「多頭力量總和 (SumPosDev)」 。
- 如果 D < 0 (收盤價在均線之下),將該數值的絕對值計入 「空頭力量總和 (SumNegDev)」 。
步驟 4:計算 TII 百分比
將多頭力量佔總力量(多頭 + 空頭)的百分比算出。數值範圍在 0 到100% 之間。
- TII = 50%:多空力量完全平衡。
- TII > 50%:多頭佔優勢,價格主要在均線之上運行。
- TII < 50%:空頭佔優勢,價格主要在均線之下運行。
三、 實戰應用指南
TII 適合用來作為 「趨勢確認(Filter)」與「信念背離(Divergence)」 的研判工具。
1. 趨勢確認與過濾假突破 (Trend Confirmation)
這是 TII 最強大的功能。當股價突破前高時,散戶常衝進去追高,結果遇到假突破。
- 應用邏輯:只有當 TII 突破 80% 門檻時,才確認這是一個具備強大群眾信念的多頭趨勢。
- 戰略價值:這能幫用戶過濾掉超過 60% 的無效突破與盤整雜訊。
2. 信念耗竭與頂部背離 (Conviction Exhaustion)
當股價還在創新高,但願意在均線之上追價的「累積力量」開始減少時,就是大逆轉的前兆。
- 應用邏輯:股價創出新高,但 TII 雖然還在 50% 以上,卻無法回到 80% 門檻(或 TII 的高點一波比一波低)。
- 行為學意義:這在行為心理學上稱為 「信念動搖」。雖然價格表面風光,但買盤的真實底氣已經虛化,隨時可能發生崩盤。這是一個極佳的波段停利訊號 。
3. 中軸交叉訊號 (零軸交叉變體)
當 TII 從下方向上穿越 50%,代表長期的籌碼生態正式由空翻多。這是一個較遲鈍但穩健的長線買點。
四、 XScript (XQ 語法) 指標腳本實作
這段腳本忠實還原了 M.H. Pee 的 TII 算法,並使用了 Average 來處理長期均線與乖離的累加。
// 指標名稱:Trend Intensity Index (TII 趨勢強度指標) // 理論基礎:M.H. Pee // ----------------------------------------------------------- Input: Long_Period(22, "長期均線週期(基準線)"), Smooth_Period(10, "乖離累加週期(平滑線)"); Variable: ValueMA(0), Dev(0), TodayPosDev(0), TodayNegDev(0), // 新增:單純記錄當根 K 線的正/負乖離 SumPosDev(0), SumNegDev(0), TII(0); // 1. 確保有足夠的 K 線數據 if CurrentBar < Long_Period then return; // 2. 計算市場長期價值基準線 (SMA) ValueMA = Average(Close, Long_Period); // 3. 計算每日價格與均線的「乖離 (Deviation)」 Dev = Close - ValueMA; // 4. 將當根 K 線的乖離,嚴格分流到正負變數中 // 不在此處進行加總,只做數值分離 if Dev > 0 then begin TodayPosDev = Dev; TodayNegDev = 0; end else if Dev < 0 then begin TodayPosDev = 0; TodayNegDev = AbsValue(Dev); end else begin TodayPosDev = 0; TodayNegDev = 0; end; // 5. 在條件式之外,無條件對過去 N 天的數列進行滾動加總 // 這樣 Summation 函數每天都會確實讀取到陣列的新值 SumPosDev = Summation(TodayPosDev, Smooth_Period); SumNegDev = Summation(TodayNegDev, Smooth_Period); // 6. 計算 TII 最終數值 if (SumPosDev + SumNegDev) <> 0 then TII = (SumPosDev / (SumPosDev + SumNegDev)) * 100 else TII = 50; // 7. 繪圖輸出 Plot1(TII, "TII 強度指數"); Plot2(50, "多空分水嶺(中軸)"); Plot3(80, " 信念強勁"); Plot4(20, "信念崩塌");
底下是趨勢強度指標與K線的對照圖

