Author Archives: 發財橘子

Points and Line (P&L) Chart

Points and Line (P&L) Chart 是 2025 年底在量化交易界與高階圖表軟體中興起的一種「雜訊過濾」圖表。它本質上是點數圖 (Point and Figure)折線圖 (Line Chart) 的混合體,旨在解決傳統 K 線圖在盤整期噪音過多,以及傳統點數圖「時間軸扭曲」的痛點。

這對於需要處理大量金融數據、並希望 「清爽趨勢感」的使用者來說,是一個極具潛力的視覺化工具。

1. 核心邏輯:價格變化決定繪圖,而非時間

傳統 K 線無論價格有無變動,每分鐘/每天都會畫出一根;而 P&L Chart 遵循以下原則:

  1. 設定閾值 (Box Size / Reversal): 只有當價格變動超過預設的幅度(例如 1% 或特定的 ATR 倍數)時,圖表才會畫出下一個點。
  2. 連接點與線: 當滿足變動條件時,在新的價格位階畫一個點,並與前一個點連線。
  3. 橫軸同步: 不同於傳統點數圖(會把時間擠壓),P&L Chart 保持了線性時間軸。如果價格在一段時間內沒有顯著變動,圖表會呈現一條水平線,直到突破發生。

2. P&L Chart 的三大優點

  • 自動過濾噪音: 在波動率極低的橫盤區間,P&L Chart 會呈現一條筆直的水平線。這能幫助投資人忍受震盪,直到真正的「趨勢點」出現。
  • 支撐壓力位極度清晰: 由於水平線代表價格在該區間停留且未突破,這些「平台區」自動成為了視覺上最直觀的強大支撐與壓力帶。
  • 保持時間參考: 它解決了點數圖最大的問題——無法判斷這段價格波動花了多久。在 P&L Chart 上,水平線越長,代表盤整時間越久,突破後的爆發力通常也越強。

3. 與傳統圖表對比

特性 K 線圖 (Candlestick) 點數圖 (P&F) P&L Chart
時間軸 穩定 (線性) 扭曲 (非線性) 穩定 (線性)
雜訊處理 無 (顯示所有跳動) 極佳 (完全過濾) 優異 (局部平滑)
視覺焦點 價格開高低收 價格反轉模式 趨勢發動與平台區
適合對象 當沖、短線交易 老派量化分析師 中長線波段、產業趨勢分析

4. XScript 實作思考

在 XQ 系統中,要完全改變「繪圖引擎」去畫 P&L Chart 較難,但我們可以透過「指標」的形式,利用 Plot 函數模擬出這種效果:

// 模擬 P&L Chart 的邏輯 (簡化版)
// -----------------------------------------------------------
Input: BoxSizePct(1, "變動閾值%");
Variable: LastPoint(0), TargetChange(0);

if CurrentBar = 1 then LastPoint = Close;

// 計算變動幅度
TargetChange = LastPoint * (BoxSizePct / 100);

// 只有當收盤價偏離上一個點超過門檻時,才更新點位
if AbsValue(Close - LastPoint) >= TargetChange then begin
LastPoint = Close;
end;

// 繪製點與連線
Plot1(LastPoint, "P&L Line");


  P&L Chart是一個掌握長期趨勢的工具,除了用來研判個股的長期趨勢之外,也可以 應用在以下使用場景中:

1.「產業多因子儀表板」: 針對您關注的細產業指標,使用 P&L Chart來對照。

這能讓用戶一眼看出產業是處於「長期平台築底」還是「突破發動期」,避免被短期的漲跌假動作誘騙。

2.ETF 趨勢掃描: 許多 ETF(如高股息系列)波動較小,K 線圖看起來很雜亂。改用 P&L Chart 可以讓用戶更專注於長線趨勢。

以下是一個參考的圖表

Super trend

超級趨勢指標 (SuperTrend) 是近年來在程式交易與波段操作中極受歡迎的趨勢追隨(Trend Following)工具。它的設計初衷是為了在波動的市場中,提供一個明確的「多空分界線」與「移動止損點」。

與傳統均線相比,SuperTrend 最大的特色在於它結合了價格波動率(ATR),這讓它在趨勢啟動時能緊貼價格,而在震盪時能保持一定的安全距離。

1. 核心計算邏輯

SuperTrend 的構造基於兩個主要參數:

  1. ATR 週期 (Period): 通常設定為 10,用來衡量近期市場的平均波動。
  2. 倍數 (Multiplier): 通常設定為 3,用來決定指標與價格間的距離(容錯空間)。

計算公式:

首先計算基礎的上軌與下軌:

  • 基礎上軌 (Basic Upperbound)

 

  • 基礎下軌 (Basic Lowerbound)  

「階梯式」修正(關鍵之處):

為了避免指標隨便反轉,SuperTrend 加入了邏輯判斷:

  • 下軌(支撐線): 只有當新的計算值比前一根 K 線的下軌「更高」時,才會上移;否則維持平盤。它絕不向下移動,除非趨勢翻空。
  • 上軌(壓力線): 只有當新的計算值比前一根 K 線的上軌「更低」時,才會下移;否則維持平盤。它絕不向上移動,除非趨勢翻多。

2. SuperTrend 的三大特性

A. 自動過濾雜訊

由於 SuperTrend 使用了 ATR,當市場波動放大時,指標線會自動推遠,避免因為隨機的「小跳動」而誤觸出場訊號。這比固定百分比的停損更符合市場現狀。

B. 明確的多空轉折

  • 翻多訊號: 當收盤價「突破」上軌,指標由紅轉綠,並跳到價格下方。
  • 翻空訊號: 當收盤價「跌破」下軌,指標由綠轉紅,並跳到價格上方。

C. 理想的移動止損 (Trailing Stop)

對於波段交易者來說,SuperTrend 那條「階梯線」就是最完美的移動止損位。只要趨勢沒破,就一直持有,能有效地解決「賺一點就跑」而錯失大波段的問題。

3. XScript 實作代碼

這是為您準備的 XScript 版本,您可以直接在 XQ 系統中建立指標:

 

// 指標名稱: SuperTrend
input: _atrLength(10, "ATR週期"), _multiplier(3, "倍數");

variable: _avgPrice(0), _atr(0), _up(0), _dn(0), _trend(1), _st(0);

// 1. 計算典型價格與 ATR
_avgPrice = (High + Low) / 2;
_atr = average(TrueRange,_atrlength);

// 2. 計算基礎上下軌
value1 = _avgPrice + (_multiplier * _atr); // Basic Upper
value2 = _avgPrice - (_multiplier * _atr); // Basic Lower

// 3. 處理「階梯式」邏輯
// 下軌 (支撐) 不向下掉
if value2 > _dn[1] or Close[1] < _dn[1] then 
_dn = value2 
else 
_dn = _dn[1];

// 上軌 (壓力) 不向上升
if value1 < _up[1] or Close[1] > _up[1] then 
_up = value1 
else 
_up = _up[1];

// 4. 判斷多空趨勢
if Close > _up[1] then
_trend = 1
else if Close < _dn[1] then
_trend = -1
else
_trend = _trend[1];

// 5. 決定 SuperTrend 的數值
if _trend = 1 then _st = _dn else _st = _up;

// 6. 繪圖
Plot1(_st, "SuperTrend" );

把這指標跟台積電做搭配的參考圖形如下

總結

SuperTrend 是目前**「性價比最高」的趨勢工具之一:它邏輯簡單、視覺直觀,且在 XScript 中極易實現。它唯一的缺點是在橫盤整理(Sideways Market)**時會出現頻繁的「假訊號(Whipsaw)」,因此建議搭配 ADX(趨勢強度指標) 或您之前提到的 CMF(資金流向) 來過濾掉沒有動能的震盪期。

Anchored VWAP

 Anchored VWAP (AVWAP) 是我過去十年來,技術分析領域從「純幾何數學(如均線)」轉向「市場心理與籌碼結構」的最重要橋樑。 它不僅是一個指標,更是一種互動式(Interactive)的圖表功能

 

1. 什麼是 Anchored VWAP?

傳統的 VWAP(成交量加權平均價) 是一個僅限於「當日(Intraday)」的指標,每天開盤就會歸零重算。這限制了它在波段交易或中長線分析的用途。

Anchored VWAP 則打破了時間限制。它允許使用者自由選擇一個特定的起始點(Anchor,錨點),從那個時間點開始計算至今的成交量加權平均價。

2. 計算公式與邏輯

它的計算邏輯與 VWAP 完全相同,差別僅在於 Start_Index(起始點)。

  • Price_i: 第 i 根 K 線的典型價格(通常是 (High + Low + Close) / 3)。
  • Volume_i: 第 i 根 K 線的成交量。
  • Start: 使用者指定的「錨點」K 線(例如:某個低點、財報日)。

為什麼這比移動平均線(MA)更優越?

  • MA(時間加權): 每一天的價格權重一樣。但對於市場來說,成交量 100 張的日子與成交量 10,000 張的日子,其重要性絕對不同。
  • AVWAP(資金加權): 它考慮了成交量。如果某一天爆大量,那一天的價格就會對這條線的走向產生巨大影響。

3. 核心精神:平均成本與市場心理

AVWAP 解決了一個核心問題:「從這一天進場的人,現在平均是賺錢還是賠錢?」

這也是為什麼 Brian Shannon 稱之為「情緒的絕對真理(The absolute truth of sentiment)」。

  • AVWAP 之上(Above the Line):
    • 從錨點日進場的平均持有者處於獲利狀態
    • 心理狀態: 持有者有信心,拉回時傾向加碼(Buy the dip)。
    • 技術意義: AVWAP 成為強力的支撐(Support)
  • AVWAP 之下(Below the Line):
    • 從錨點日進場的平均持有者處於虧損狀態
    • 心理狀態: 持有者感到焦慮,價格反彈回成本區時傾向解套賣出(Sell to break even)。
    • 技術意義: AVWAP 成為強力的壓力(Resistance)

4. 實戰應用:錨點該設在哪裡?

這是 AVWAP 最具「藝術性」也最具「互動性」的地方。作為 PM,若要在軟體中實作此功能,通常會允許使用者點擊 K 線來設定錨點。

以下是四個最有效的錨點設定位置:

A. 重要的高點與低點 (Significant Highs/Lows)

  • 邏輯: 當趨勢反轉時(例如波段最低點),市場主力開始進場。錨定最低點,可以追蹤這波多頭趨勢的「平均成本上升軌跡」。
  • 用法: 只要股價維持在「最低點 AVWAP」之上,趨勢就是多頭,這條線是絕佳的移動停利點。

B. 財報發布日 (Earnings Date) / 重大新聞日

  • 邏輯: 財報公佈通常伴隨巨大的跳空缺口(Gap)和爆量。這代表市場對該股票重新定價(Repricing)。
  • 用法: 錨定財報日的開盤 K 線。這條線代表了「認同新基本面」的資金成本。如果不跌破,代表市場持續看好該公司的基本面變化。

C. IPO 上市日 (IPO Launch)

  • 邏輯: 這是該股票歷史上所有參與者的原始成本起點。
  • 用法: 對於新上市股票,錨定 IPO 第一天,可以判斷這檔股票自上市以來是處於機構吸籌階段(由下往上穿過 AVWAP)還是倒貨階段。

D. 政策或總經事件 (e.g., Fed Meeting)

  • 邏輯: 例如聯準會宣布降息當日,市場邏輯改變。錨定該日,可以看出市場對該政策的持續反應。

用Xscript寫的函數腳本如下

// 函數名稱:  AnchoredVWAP

// 傳回值: 數值序列

// 參數:

// Price: 通常傳入 (High + Low + Close) / 3

// Vol: 傳入成交量 Volume

// TargetDate: 錨定日期,格式為 YYYYMMDD (例如 20231026)




input: Price(numeric), Vol(numeric), TargetDate(numeric);

variable: sumPV(0), sumV(0), avwapValue(0);




// 當目前的 K 線日期大於或等於我們設定的錨定日期時開始計算

if Date >= TargetDate then

begin

// 如果是剛到達錨定日的第一根 K 線 (或是從未開始計算轉為開始計算)

// 我們需要將之前的累加值重置

if Date[1] < TargetDate then

begin

sumPV = Price * Vol;

sumV = Vol;

end

else

begin

// 否則持續累加 價格*成交量 與 成交量

sumPV = sumPV + (Price * Vol);

sumV = sumV + Vol;

end;




// 避免除以 0 的錯誤

if sumV <> 0 then

avwapValue = sumPV / sumV

else

avwapValue = Price;

end

else

avwapValue = 0; // 尚未到達錨定日,回傳 0

AnchoredVWAP=avwapvalue;


 


把這個函數應用到繪圖的腳本可以這麼寫

input:targetdate(20260108);
value1=AnchoredVWAP(close,volume,targetdate);

if value1<>0  then  plot1(value1,"AnchoredVWAP")

else noplot(1);

以特斯拉為例,它在2025年7月2日宣佈Robotaxi在德州上路,從那天之後的AnchoredVWAP與其股價的對照圖如下

變成重要的支撐區,因著這個原因買入特斯拉的投資者,當股價跌到這附近時等於是跌到從那天起買進股票投資者的成本附近

 

總結

AVWAP 是一個將「價格」、「成交量」與「時間」完美結合的指標。它比均線更客觀,因為它反映了真實的資金成本。 

 

Cybernetic Oscillator

Cybernetic Oscillator 是由技術分析大師 John Ehlers 於 2004 年提出(並在 2024-2025 年進行了現代化優化)的一項指標。它的核心思想源自於「自動控制理論」中的控制論(Cybernetics),旨在透過數位訊號處理(DSP)技術,從混沌的價格數據中精確提取出市場的「週期成分」。

不同於 RSI 或隨機指標(Stochastic),Cybernetic Oscillator 試圖解決「市場趨勢」與「市場週期」相互干擾的問題。

1. 核心處理流程:訊號處理流水線

Cybernetic Oscillator 的運作像是一個精密的過濾器,其處理步驟如下:

  1. 二階高通濾波 (2nd-order High-Pass Filter):
    去除價格中的「直流漂移」(即慢速的趨勢成分),只保留波動訊號。
  2. 二階超級平滑濾波 (2nd-order Super Smoother):
    去除高頻率的雜訊(毛刺),保留平滑的波動曲線,且幾乎不產生延遲。

2. 數學邏輯分析

該指標的核心在於其遞歸係數的設計,利用 alpha係數來精確控制截止頻率(Cutoff Frequency):

  • 高通濾波係數 alpha:


透過調整週期 P(通常設為 20),可以決定要過濾掉多長的趨勢。

  • 超級平滑係數:
    利用指數與三角函數計算出 c1, c2, c3,使得濾波器在頻域內具有 12 dB/octave 的衰減率。這比傳統 RSI 的 6 dB/octave 強大得多,能更乾淨地分離出週期。

3. 與傳統指標的效能對比

特性 RSI / Stochastic Cybernetic Oscillator
延遲度 (Lag) 較高,受窗口期影響大 極低,歸功於 SuperSmoother 技術
訊號穩定度 容易在強趨勢中「鈍化」 極佳,透過高通濾波預先剔除趨勢干擾
振幅一致性 0-100,但波動不一 能量標準化,數值在 正負 1 之間波動
雜訊過濾 依賴簡單平均 雙極濾波器,可精確定義頻譜範圍

4. XScript (XQ 語法) 實作代碼

以下是根據 John Ehlers 2025 年最新優化版本撰寫的 XScript 腳本: 

// 名稱:Cybernetic Oscillator (Ehlers 2025)
// -----------------------------------------------------------
Input: HPLen(30, "高通週期"), LPLen(20, "平滑週期"), RMSLen(50, "標準化窗口");
Variable: a1(0), b1(0), c1(0), c2(0), c3(0), x1(0);
Variable: HP(0), LP(0), RMS(0), CyberOsc(0);

// 1. 初始化高通濾波係數
Once begin
a1 = Expvalue(-1.414 * 3.14159 / HPLen);
b1 = 2 * a1 * Cos(1.414 * 3.14159 / HPLen);
c1 = -a1 * a1;
x1 = (1 + b1 - c1) / 4;
end;

// 2. 高通濾波 (去除趨勢)
if CurrentBar > 2 then
HP = x1 * (Close - 2 * Close[1] + Close[2]) + b1 * HP[1] + c1 * HP[2]
else
HP = 0;

// 3. 超級平滑濾波 (去除噪音 - 係數複用)
// 這裡使用簡化的二階平滑邏輯
LP = Average(HP, LPLen);

// 4. RMS 歸一化
RMS = SquareRoot(Summation(Power(LP, 2), RMSLen) / RMSLen);

if RMS <> 0 then 
CyberOsc = LP / RMS
else 
CyberOsc = 0;

// 5. 繪圖
Plot1(CyberOsc, "Cybernetic Oscillator");
Plot2(0, "零軸");


5. 實戰解讀 

  • 零軸交叉 (Zero-Crossing): 當指標由下往上穿過 0,代表週期性動能轉正,是一個極佳的波段買點。
  •  Cybernetic Oscillator 值進行排序,數值最高的即為當前「週期動能」最強的標的,這對尋找強勢股的用戶極具吸引力。

Understanding the Two-Pole Oscillator Mechanism

這段影片詳細解釋了二階(Two-pole)濾波器在震盪指標中的運作邏輯,能幫助您理解為什麼 Cybernetic 系列指標在過濾雜訊的同時能保持極低的延遲。

 下面是這個腳本應用在Tesla日線上的對照圖

 

BBTrend

BBTrend (Bollinger Band Trend) 是由布林通道創始人 John Bollinger 於 2023-2024 年間正式推廣的新一代指標。

可以將其視為「布林通道的進階版」或是「ADX 指標的強效替代品」。傳統的布林通道主要反映波動率(Volatility),而 BBTrend 則進一步量化了趨勢的方向與強度。

  1. 核心邏輯:為什麼需要 BBTrend?

傳統布林通道在「擠壓(Squeeze)」發生時,只能告訴投資人「即將有大行情」,但無法預測「方向」。BBTrend 的出現解決了這個痛點。

它基於一個深刻的市場觀察:

 * 多頭趨勢: 短期下軌與長期下軌的距離會拉開(發散),而上軌則相對接近(收斂)。

 * 空頭趨勢: 短期上軌與長期上軌的距離會拉開(發散),而下軌則相對接近(收斂)。

  1. 數學公式分析

BBTrend 同時使用了兩套不同週期的布林通道 :

 * 計算下軌差: LowerDiff = |LowerBB_{短天期} – LowerBB_{長天期}|

 * 計算上軌差: UpperDiff = |UpperBB_{短天期} – UpperBB_{長天期}|

 * 計算指標值: 

 

 * 大於 0: 代表下軌發散程度大於上軌,市場處於多頭。

 * 小於 0: 代表上軌發散程度大於下軌,市場處於空頭。

 * 數值大小: 遠離 0 軸的距離代表趨勢的動能(Momentum)。

  1. XScript (XQ 語法) 實作代碼
// 指標名稱:BBTrend (John Bollinger)
// -----------------------------------------------------------
Input: ShortLen(10, "短期週期"), LongLen(20, "長期週期"), Dev(2, "標準差");
Variable: sUp(0), sLow(0), sMid(0), lUp(0), lLow(0), lMid(0);
Variable: LowerDiff(0), UpperDiff(0), BBT(0);

// 1. 計算短期布林通道 (10, 2)
sMid = Average(Close, ShortLen);
sUp = sMid + Dev * StandardDev(Close, ShortLen, 1);
sLow = sMid - Dev * StandardDev(Close, ShortLen, 1);

// 2. 計算長期布林通道 (20, 2)
lMid = Average(Close, LongLen);
lUp = lMid + Dev * StandardDev(Close, LongLen, 1);
lLow = lMid - Dev * StandardDev(Close, LongLen, 1);

// 3. BBTrend 核心運算
LowerDiff = AbsValue(sLow - lLow);
UpperDiff = AbsValue(sUp - lUp);

// 進行歸一化 (Normalization)
if sMid <> 0 then 
BBT = (LowerDiff - UpperDiff) / sMid * 100
else 
BBT = 0;

// 4. 繪製柱狀圖
Plot1(BBT, "BBTrend");
Plot2(0, "零軸");

 

以下是用這個BBTrend指標搭配BBand及BBandwith一起看的圖

 

納達拉亞-沃森包絡線 (Nadaraya-Watson Envelope)

納達拉亞-沃森包絡線 (Nadaraya-Watson Envelope) 是近年來在量化交易界(特別是 TradingView 社群)極其熱門的指標。它與傳統布林通道(Bollinger Bands)最大的不同在於,它不依賴簡單的算術平均,而是利用Kernel Regression技術來擬合價格曲線。

 

1. 核心技術原理:核回歸 (Kernel Regression)

傳統均線(SMA/EMA)是給予過去數據不同權重;而納達拉亞-沃森(NW)則是一種非參數(Non-parametric)的估計方法。

  • 數學邏輯: 它在每一個點上,都會觀察全域或局部窗口內的數據,並根據「時間距離」使用一個核函數(Kernel Function)(通常是高斯核 Gaussian Kernel 或有理二次核 Rational Quadratic Kernel)來分配權重。
  • 權重公式概念:

其中 h是頻寬 (Bandwidth),它決定了曲線的平滑程度。頻寬越大,曲線越平滑但反應越慢。

 

NW 包絡線由三條線組成:

  1. 中心回歸線: 透過 NW 核回歸計算出的平滑價格曲線。
  2. 上下軌道: 通常是中心線加上或減去「平均絕對偏差 (MAD)」或「平均真實範圍 (ATR)」的倍數。

這使得它在視覺上非常緊貼價格,且在識別極端超買/超賣區域時,比布林通道更具適應性,因為它能捕捉非線性的趨勢變化。

 

2.納達拉亞-沃森 vs. 布林通道

特性 布林通道 (Bollinger Bands) NW 包絡線 (NW Envelope)
數學基礎 標準差、簡單移動平均 核回歸 (非線性統計)
靈敏度 對波動率敏感,但有延遲 極其靈敏,能捕捉細微轉折
形狀 較為僵硬 非常流暢、有機的曲線
主要用途 波動率擠壓、趨勢突破 逆勢操作 (Mean Reversion)、波段頂部底部分析

3.XScript (XQ 語法) 實作參考

底下是AI寫的Sample code,我只修改了內建函數及變數的名稱,AI係使用迴圈來模擬高斯核的加權計算:

// 名稱:Nadaraya-Watson Envelope (簡化版)
// -----------------------------------------------------------
Input: h1(8, "Bandwidth 頻寬"), Mult(2, "Multiplier 倍數"), Window(50, "計算窗口");
Variable: i(0), weight(0), sumWeight(0), sumPrice(0), NW_Center(0), MAD(0);

// 1. 計算核回歸中心線
sumPrice = 0;
sumWeight = 0;

for i = 0 to Window begin
// 高斯核權重公式:exp(-(距離^2) / (2 * h^2))
weight = Expvalue(-1 * Power(i, 2) / (2 * Power(h1, 2)));
sumPrice = sumPrice + Close[i] * weight;
sumWeight = sumWeight + weight;
end;

if sumWeight <> 0 then NW_Center = sumPrice / sumWeight;

// 2. 計算平均絕對偏差 (MAD) 作為軌道寬度
MAD = Average(AbsValue(Close - NW_Center), Window);

// 3. 繪製結果
Plot1(NW_Center, "NW 中心線");
Plot2(NW_Center + Mult * MAD, "上軌");
Plot3(NW_Center - Mult * MAD, "下軌");

根據這個腳本計算出來的指標,它的呈現方式如下圖

Ultimate Smoother 指標

John Ehlers 發表的 Ultimate Smoother 是技術分析領域的一項重大突破,特別是在處理「平滑度(Smoothness)」與「延遲(Lag)」這對宿敵時。

傳統指標如移動平均線(MA)若要更平滑,勢必會產生嚴重的滯後;反之,若要反應靈敏,則會出現大量假訊號。Ultimate Smoother 利用**數位訊號處理(DSP)**中的濾波器理論,完美調和了這兩者。

 

1. 核心數學原理

Ultimate Smoother 的基礎在於一個雙極(Two-pole)低通濾波器,但與傳統 Butterworth 或 Chebyshev 濾波器不同,它引入了特定的係數調整,使其在時間域(Time Domain)內具有極佳的響應。

其演算法邏輯大致如下(以簡化形式表示):

  1. 計算預滑價格: 對價格進行初步處理(通常使用 $ (Price + Price[1]) / 2  )。
  2. 濾波係數計算: 根據設定的週期(Period),利用三角函數計算出濾波係數 a1 與 b1。
  3. 遞歸運算: 這是該指標最強大的地方,它結合了「當前價格」、「前一根指標值」以及「前兩根指標值」進行非線性加權:

2. Ultimate Smoother 的三大優勢

  • 真正的「零延遲」感: 在趨勢反轉時,它能比同週期的 EMA(指數移動平均線)快上 2-3 根 K 線反應,這在極短線交易中至關重要。
  • 消除鋸齒波動: 在價格橫盤整理時,Ultimate Smoother 的曲線極其平滑,能有效過濾掉細微的市場噪音,避免交易者被反覆「洗盤(Whipsaw)」。
  • 極低超調(Overshoot): 許多號稱零延遲的指標(如某些 DEMA 或 HMA)在價格劇烈變動後會產生嚴重的超調,導致曲線脫離現實,但 Ultimate Smoother 能保持極佳的價格貼合度。

3. 與傳統指標的直觀對比

特性 移動平均線 (SMA/EMA) 赫爾均線 (HMA) Ultimate Smoother
延遲度 極低
平滑度 高(但易變形) 極高且穩定
假訊號
數學基礎 算術平均 加權平方根 DSP 濾波器理論

4. 實戰應用場景

  1. 趨勢過濾器: 由於其極致的平滑性,當 Ultimate Smoother 斜率向上時,僅執行多單;斜率向下時,僅執行空單。
  2. 交叉訊號: 將短週期的 Ultimate Smoother 與長週期的搭配,產生的交叉點比傳統均線交叉更早且更準確。
  3. 動態停損位: 因為它緊貼價格且不輕易受雜訊干擾,適合作為追蹤止損(Trailing Stop)的參考線。

以下是這個指標的Xscript腳本

// 指標名稱:Ultimate Smoother (John Ehlers, 2024)
// 適用對象:趨勢判斷、雜訊過濾
// -----------------------------------------------------------

Input: Length(20, "計算週期");
Variable: a1(0), c1(0), c2(0), c3(0), US(0);

// 1. 初始化係數 (僅在第一根 K 線或長度改變時計算以優化運算效率)
// 使用雙極低通濾波器原理
Once begin
// 使用 1.414 (根號2) 作為臨界阻尼係數
a1 = ExpValue(-1.414 * 3.14159 / Length);
c2 = 2 * a1 * Cos(1.414 * 3.14159 / Length); // XScript Cos 使用弧度制
c3 = -a1 * a1;
c1 = (1 + c2 - c3) / 4;
end;

// 2. 核心遞歸演算法
// 該指標結合了目前價格、歷史價格以及指標的前兩期數值
if CurrentBar < 4 then
US = Close // 初始緩衝
else
US = (1 - c1) * Close
+ (2 * c1 - c2) * Close[1]
- (c1 + c3) * Close[2]
+ c2 * US[1]
+ c3 * US[2];

// 3. 繪圖輸出
Plot1(US, "Ultimate Smoother");


下圖是美光搭配這個腳本的圖

大家可以再進一步改成策略雷達腳本

 

Chaikin Money Flow (CMF,蔡金資金流量)指標

介紹過TSV 與 MFI 之後,類似概念設計出來的技術指標,還有Chaikin Money Flow (CMF,蔡金資金流量) ,把這三個指標一起應用,可以對個股目前的漲跌量能關係,有更清楚的理解。

CMF 由技術分析大師 Marc Chaikin 研發,它的核心哲學是:「收盤價相對於當天震盪區間的位置,結合成交量,最能揭示機構法人的真實意圖。」 它是判斷「吸貨(Accumulation)」與「派發(Distribution)」最精確的量化工具之一。

 

一、 CMF 的計算邏輯 (The Formula)

CMF 的計算分為三個步驟,其核心在於 「貨幣流量乘數 (Money Flow Multiplier)」

1. 貨幣流量乘數 (Money Flow Multiplier, MFM)

這是 CMF 的靈魂,它觀察收盤價落在當天高低點的哪個位置:

MFM ={(Close – Low) – (High – Close)}/{High – Low)

  • 如果收在最高點,乘數為 +1
  • 如果收在最低點,乘數為 -1
  • 如果收在正中間,乘數為 0

2. 貨幣流量金額 (Money Flow Volume, MFV)

將乘數乘以當天的成交量:

MFV = MFM * Volume 

3. CMF 指數

通常取 21 天(約一個月週期)的 MFV 總和除以成交量總和:

 

二、 CMF 的三大核心解讀

對於研究型散戶來說,CMF 提供了比 RSI 更具支撐性的「證據」:

1. 零軸穿越 (The Zero Line)

  • CMF > 0: 代表市場處於**累積(吸貨)**狀態。持續在 0 以上代表機構買盤穩定,這是多頭趨勢的健康標誌。
  • CMF < 0: 代表市場處於**派發(出貨)**狀態。代表資金正在撤離,即便股價沒跌,也要警惕「拉高出貨」。

2. 指標強度 (Magnitude)

  • 高於 +0.20: 極強的多頭動能,代表資金高度集中流入。
  • 低於 -0.20: 極強的空頭壓力。

3. 背離訊號 (Divergence) —— 最重要的領先警示

  • 多頭背離: 股價創新低,但 CMF 卻在零軸附近攀升或轉正。這通常代表大戶在低檔「接刀」,是中線底部的重要訊號。
  • 空頭背離: 股價創新高,但 CMF 卻在走低甚至轉負。這代表股價上漲是靠散戶情緒(Low Quality Volume),大戶已先行撤離。

以下是這個指標的腳本

// CMF 指標實作
input: Length(21, "計算週期");
variable: MFM(0), MFV(0), CMF_Value(0);

// 計算貨幣流量乘數
if High <> Low then 
MFM = ((Close - Low) - (High - Close)) / (High - Low)
else 
MFM = 0;

MFV = MFM * Volume;

// 計算 CMF
if Summation(Volume, Length) <> 0 then
CMF_Value = Summation(MFV, Length) / Summation(Volume, Length)
else
CMF_Value = 0;

Plot1(CMF_Value, "CMF");
Plot2(0, "零軸");

 

下面是幾張個股跟CMF指標的對照圖,供大家參考

 

TSV指標及其應用

TSV (Time Segmented Volume,時段分割成交量) 是由 Worden Brothers(知名交易軟體 TC2000 的開發者)所研發的一項專利技術指標。它被譽為「量化交易者的導航儀」,因為 TSV 是偵測「機構腳印」的核心工具,特別是在分析中小型科技股 時,它能揭示股價發動前的「隱性買盤」。

 

一、 TSV 的核心邏輯:成交量的「品質」

傳統的成交量指標(如 OBV)是簡單的累計,而 TSV 則是將成交量進行「分割」與「加權」。

TSV 的基本概念:

  • 它將每一時段(通常是日)的成交量與價格變動聯繫起來。
  • 如果今日收盤價高於昨日,這段時間的成交量被視為「正向流入」。
  • 如果今日收盤價低於昨日,則視為「負向流出」。
  • 關鍵差異: 它會根據價格變動的幅度(Price Change)來對成交量進行加權,這使得大漲時的量與微漲時的量在指標中的權重完全不同。

 

二、 計算公式與 XScript 邏輯

在 XScript 中,TSV 的核心運算邏輯可以簡化如下:

  1. 計算每日資金段 (Volume Segment):
    egment = (Close – Close[1]) \times Volume 
  2. 計算 TSV 原始值:
    將過去 n天(常用 18 天)的 Segment 進行加總。
     
  3. 平滑化 (Smoothing):
    為了過濾雜訊,通常會對 TSV 取 m 天(常用 8-10 天)的指數移動平均(EMA)作為「訊號線」。

 

三、 TSV 的四大實戰訊號

1. 零軸穿越 (Zero Line Cross)

  • 看多: 當 TSV 由下往上穿越 0 軸,代表資金流向轉為淨流入,趨勢轉強。
  • 看空: 當 TSV 由上往下穿越 0 軸,代表資金開始撤退。

2. 背離訊號 (Divergence) —— 最強大的領先特徵

  • 底部背離: 股價不斷創新低,但 TSV 卻在底部越墊越高(Higher Lows)。
    • 含義: 代表在大眾恐慌拋售時,機構大金主正在「默默吸貨」。這通常是股價大反轉的前兆。
  • 頂部背離: 股價創新高,但 TSV 卻走低。代表買盤力道已竭,準備反轉向下。

3. 訊號線穿越 (Signal Line Crossovers)

  • 類似 MACD 的用法。當 TSV 原始線向上穿過其移動平均(訊號線),是短線動能轉強的確認。

4. 峰值與谷值 (Peaks and Valleys)

  • 極端的 TSV 數值通常對應市場的超買或超賣。當 TSV 達到歷史高位並開始下彎,即使股價還在漲,也要警惕。

 

四、 TSV vs. 其他量能指標

在產品設計時,您可能會被問到:為什麼不用 OBV(能量潮)或 CMF(蔡金資金流量)?

指標 優點 缺點
OBV 簡單直觀,觀察長期趨勢。 數據太過平滑,對轉折點反應極慢。
CMF 考慮了收盤價在當日高低價的位置。 容易受單日極端波動影響產生假訊號。
TSV 具備領先性,能精確捕捉「時段內」的資金流向品質。 計算較複雜,對參數(週期)的敏感度較高。

 以下是用Xscript寫的對應指標腳本

// 指標名稱:TSV (Time Segmented Volume)
// 應用場景:技術分析副圖
// 邏輯參考:Worden Brothers

input: T_Period(18, "TSV週期");
input: S_Period(8, "平滑週期");

variable: V_Segment(0), TSV_Value(0), TSV_Signal(0);

// 核心運算:價格變動(加權) * 成交量
V_Segment = (Close - Close[1]) * Volume;

// 計算 TSV 總和
TSV_Value = Summation(V_Segment, T_Period);

// 平滑處理 (訊號線)
TSV_Signal = Average(TSV_Value, S_Period);

// 繪製圖表
Plot1(TSV_Value, "TSV");
Plot2(TSV_Signal, "TSV訊號線");

 

 

從科技股代工廠的資本支出,研判科技板塊在S曲線中的位置

2025年的投資焦點在科技股,2026年,這股風潮方興未艾,Whale Rock Capital是一家專注投資科技股的避險基金,它的投資哲學是尋找處於S曲線10-50%滲透率階段的企業,今天來跟大家討論S曲線的概念,並且請AI分析幾個主要的產業概念股,目前在S曲線的位置。

 

S曲線是投資科技股很常被提到的概念,在龍捲風暴這本書中,講的很詳細,它的數學公式如下:

Whale Rock Capital就是根據這個公式,認為滲透率到了50%之後,成長速度就會減緩,滲透率太低,又怕這個科技無法跨越鴻溝,所以它們專押滲透率在10-50%的科技產業。

 

根據經典的「羅傑斯創新擴散理論(Rogers’ Diffusion of Innovation)」,S曲線可依據累積滲透率劃分為五個關鍵群體。

階段 累積滲透率 群體名稱 投資關鍵點 (PM 視角)
第一階段 0% – 2.5% 創新者 (Innovators) 處於 R&D 期,風險極高,適合追蹤專利與融資而非營收。
第二階段 2.5% – 16% 早期採用者 (Early Adopters) 跨越 10% 門檻後,技術進入「產品化」,是爆發的前兆。
第三階段 16% – 50% 早期大眾 (Early Majority) 黃金獲利段。 需求曲線最陡峭,企業營收往往出現倍數增長。
第四階段 50% – 84% 晚期大眾 (Late Majority) 市場進入成熟期,競爭加劇,獲利能力開始面臨邊際遞減。
第五階段 84% – 100% 落後者 (Laggards) 飽和與衰退期,技術可能被下一條新的 S 曲線取代。

 

Whale Rock Capital專注投資早期採用者,確定會過渡到早期大眾的科技領域,這裡要說的是,一味追求破壞式創新,但不是所有破壞式創新都能被大眾所採納,3D列印及植物肉就是很好的例子

 

那怎麼判斷滲透率會從10%以下往50%走呢? 有一個很有趣的方法: 觀察供應鍊中亞洲代工廠及上游關鍵零組件設備商的資本支出。

因為亞洲的這些代工廠通常是不見兔子不撒鷹,任憑你美國公司講的多厲害,除非看到趨勢很明顯,不然不會真金白銀的擴充產能,因為一個廠蓋起來,機器設備買進來,沒有幾年好光景,是不會真的賺錢,陪公子哥兒試產可以,用現有生產線量產也可以,要我蓋新廠,除非我真的也看好。

 

所以,台灣的確是站在投資美國科技股,一個很重要的觀察位置,當然這裡說的是硬體,如果是Saas,那就得找其他方法了。

 

我先前有跟大家介紹XS開始支援Group這個函數,可以把細產業成份股裡的特定欄位拿來一起做計算,所以我們就可以畫出特定細產業的合計資本支出長期走勢圖,像下面這張就是封測的長期資本支出走勢圖

從這張圖就可以看出,2024年第四季,台灣的封測產業就用真金白銀押AI不是泡沬

 

畫出上面這張圖的指標腳本,我附在下面

Group: _group();//宣告群組
var: _i(0), _size(0);
_group = GetSymbolGroup("成份股");//指定群組的商品
// 檢查是否有資料
_size = GroupSize(_group);
if _size = 0 then return;
// 迴圈運算前,初始化變數
value1 = 0;
value2 = 0;
value3=0;
// 迴圈計算每一檔成份股數值
for _i = 1 to _size begin //大迴圈會跑遍每一檔成份股
if CheckSymbolField(_group[_i], "Close") then begin //確認股票當天有資料
// 實際要計算的內容===開始===
// STEP 1 換期時數值歸零
if GetSymbolFieldDate(_group[_i], "資本支出金額", "Q") > value1 then begin //如果成份股有人提前公佈數值,目前計算的都歸零
value1 = GetSymbolFieldDate(_group[_i], "資本支出金額", "Q");
value2 = 0;
value3 = 0;
end;

// STEP 2 同樣期別時,數值計算
if GetSymbolFieldDate(_group[_i], "資本支出金額", "Q") = value1 then begin //依最新的資料期別進行統計
value2 = value2 + 1;
value3 = value3 + GetSymbolField(_group[_i], "資本支出金額", "Q");
end;
// 實際要計算的內容===結束===
end; 
end;
// 要繪製的指標
// 
plot(1, value3, "整體資本支出金額");




不過這邊要特別強調兩點
一,代工廠及零組件廠第一次FOR特定科技板塊作資本支出的統計值才有意義,代表是在S曲線要起飛的那一段
如果是加碼投入,那可能滲透率都已經過五成了
二,資本支出一季才公佈一次,要即時掌握新興科技是否進到S曲線迷人的那一段,觀察新聞中相關供應鍊資本支出的消息,應該會更即時。
下面是我請AI幫我分析目前幾個大的科技板塊在S曲線中的位置,供大家參考。

 

2026 科技賽道 S 曲線現狀評估表 (Benchmark)

科技賽道 關鍵滲透率指標 (Key Metric) 目前 S 曲線位置 所處階段 PM 投資/策略觀點
AI Agents (AI 代理人) 企業級自動化流程 (Agentic Workflows) 的覆蓋率 18% – 22% 進入加速段 (Early Acceleration) 爆發點: 已跨越 10% 門檻,正從「對話」轉向「行動」。這是 2026 年獲取 Alpha 的核心戰場。
人形機器人 (Humanoid Robots) 全球百強製造業工廠的部署密度 (Units per 10k workers) 3% – 5% 萌芽期 (Incubation/Early) 觀察點: 處於「10% 拐點」前夕。目前主要看 Tesla Optimus 等領頭羊的 BOM 成本下降速度
固態電池 (Solid-state Batteries) 高階電動車 (Premium EV) 的市場佔有率 1% – 2% 早期研發段 (Pre-Inflection) 風險點: 仍在解決量產良率問題。數據應監控專利申請數而非營收,因為營收尚未爆發。
CPO / 矽光子 (Co-Packaged Optics) 800G/1.6T 光模組在 AI 資料中心的採納率 12% – 15% 拐點確認 (Inflection Point) 機會點: 剛跨越 10% 關鍵門檻,需求曲線斜率最陡峭。這是典型的「Whale Rock 式」買入點。
低軌衛星 (LEO Satellites) 全球寬頻用戶中,衛星連網的訂閱佔比 25% – 30% 快速成長段 (Rapid Growth) 成熟度: 已經過半加速期。重點在於 ARPU (平均用戶貢獻度) 的提升與獲利轉折。