Author Archives: 發財橘子

韋斯波段成交量 (Weis Wave Volume)

韋斯波段成交量 (Weis Wave Volume) 是當代威科夫理論(Wyckoff Method)權威 David Weis 基於百年經典理論所開發出的現代化指標。

什麼是威科夫理論呢?

威科夫理論(Wyckoff Method)是由理查·威科夫(Richard D. Wyckoff)在 20 世紀初提出的一套技術分析與市場行為理論。它不是單純看技術指標的金叉或死叉,而是透過「價格」與「成交量」的互動,來推測市場背後大資金(主力)的動向

以下是威科夫理論的核心架構:

一、 三大基本定律 (The Three Laws)

威科夫理論建立在三個客觀的市場運作法則之上:

  1. 供需定律 (Law of Supply and Demand): 決定價格的唯一因素。當需求大於供給,價格上漲;供給大於需求,價格下跌。在圖表上,這通常透過觀察大陽線/大陰線配合成交量的放大來確認。

  2. 因果定律 (Law of Cause and Effect): 強調市場的趨勢不會憑空產生,需要經過一段時間的「醞釀」。例如,橫盤震盪的時間越長(因),未來突破後的漲跌幅就越大(果)。這在量化上可以用來計算「盤整區間的長度」與「潛在目標價」的關係。

  3. 努力與結果定律 (Law of Effort vs. Result): 這是威科夫理論中最精妙的一環,主要透過「成交量(努力)」和「價格變動(結果)」是否背離來判斷。例如,成交量爆出天量(極大的努力),但價格卻無法突破前高甚至收黑(沒有結果),這通常暗示主力在逢高出貨。

二、 主力思維:綜合人 (The Composite Man)

威科夫建議投資人將市場上所有的買賣行為,想像成是由一個單一實體——「綜合人」(即我們常說的主力或莊家)在操作。理解了綜合人的動向,就能順勢而為。綜合人會在低檔耐心「吸籌」,拉高後在散戶瘋狂時「派發」。

三、 市場的四大週期 (The Price Cycle)

威科夫將市場價格走勢分為四個不斷循環的階段,這也是在開發選股模組或看盤儀表板時,非常適合用來做標的分類的架構:

  • 1. 吸籌區 (Accumulation): 綜合人在市場悲觀時,於底部區間悄悄買入。此階段價格通常在一個箱型區間內震盪,特徵是下跌時量縮,上漲時量增。

  • 2. 拉升期 (Markup): 吸籌完畢,籌碼穩定後,價格突破箱型頂部,進入明確的上升趨勢。這是順勢交易者獲利最豐厚的階段。

  • 3. 派發區 (Distribution): 價格來到高檔,好消息滿天飛,散戶湧入。綜合人開始將籌碼倒給散戶。特徵是價格波動加劇,且經常出現爆量但不漲的現象(努力與結果背離)。

  • 4. 下跌期 (Markdown): 綜合人出清籌碼後,需求枯竭,價格跌破盤整區間,進入漫長的下降趨勢。


Weis Wave volume 是怎麼實驗威科夫理論呢?

在傳統看盤介面中,我們習慣看「以時間為單位」的成交量(例如:日K線下方對應一根日成交量)。但這種時間切分往往會切斷主力的連續性動作。Weis Wave volume的核心革命在於:它徹底拋棄了時間,改以「價格波段(Price Wave)」來累積成交量。

這對於想要在籌碼分析功能上做出突破的軟體產品來說,是一個能帶來極大視覺震撼與實戰價值的工具。

1. Weis Wave Volume 的核心意義:看見「努力與結果」

Weis Wave 的運作邏輯類似於「轉折線(ZigZag)」。它會定義一個反轉門檻(例如價格回檔 1% 或 N 個檔位),只要價格沒有觸發反轉,它就會把這期間內所有的成交量全部加總,畫成一根不斷長高的巨型柱狀圖。

這種呈現方式完美契合了威科夫理論的三大定律之一:「努力與結果的關係 (Effort vs. Result)」

  • 努力 (Effort): 累積的成交量(Weis Wave 柱子的高度)。
  • 結果 (Result): 價格波段推進的幅度。

2. 實戰應用:如何判讀主力行為?

透過將波段成交量視覺化,投資人可以輕易抓出主力的「隱蔽行為」:

  • 情境 A:主力的「吸收 (Absorption)」底層建倉
    價格在底部震盪,雖然每波「下跌波」的價格都創新低,但你會發現下方的 Weis Wave 綠柱(下跌累積量)越來越小(賣壓枯竭)。接著,出現一個幅度不大、但 Weis Wave 紅柱(上漲累積量)異常巨大的波段。這代表主力正在底部用極大的成交量「吸收」散戶的停損單,是即將發動的強烈買訊。
  • 情境 B:主力的「派發 (Distribution)」高檔倒貨
    價格創出新高,但推升這波行情的 Weis Wave 紅柱,卻比前一個上漲波小很多(買盤縮手)。隨後的一個下跌波,價格跌幅不深,但 Weis Wave 綠柱卻創下近期新高。這代表高檔的供應量(Supply)已經完全壓過需求(Demand),主力正在出貨。
  • 情境 C:缺乏需求 (Lack of Demand) / 缺乏供應 (Lack of Supply)
    在一個健康的上升趨勢中,回檔波段(綠柱)的累積成交量應該要非常小,這在威科夫理論中稱為「缺乏供應」,是絕佳的順勢加碼點。

3. XScript (XQ 語法) 完整實作代碼

// 指標名稱:Weis Wave Volume (韋斯波段成交量)
// 邏輯:基於波段高低點反轉來累積成交量
// -----------------------------------------------------------
Input: RevPct(1.5, "波段反轉門檻(%)"); // 預設 1.5% 反轉才算新波段
Variable: Trend(1), vxt(0), WaveVol(0), RevAmt(0);

// 1. 初始狀態設定
if CurrentBar = 1 then begin
vxt = Close;
WaveVol = Volume;
Trend = 1; // 假設初始為上漲波 (1為上漲,-1為下跌)
end else begin

// 根據當前極值與使用者設定的百分比,計算反轉所需的絕對價差
RevAmt = vxt * (RevPct / 100);

// 2. 當前為「上漲波」的邏輯
if Trend = 1 then begin 
if High > vxt then vxt = High; // 不斷更新波段最高點

// 判斷是否觸發向下反轉 (從最高點回落超過設定門檻)
if (vxt - Low) >= RevAmt then begin 
Trend = -1; // 翻轉為下跌波
vxt = Low; // 紀錄新的極低點
WaveVol = Volume; // 重新開始累加下跌波成交量
end else begin
WaveVol = WaveVol + Volume; // 未反轉,持續累加上漲波成交量
end;
end 

// 3. 當前為「下跌波」的邏輯
else if Trend = -1 then begin 
if Low < vxt then vxt = Low; // 不斷更新波段最低點

// 判斷是否觸發向上反轉 (從最低點反彈超過設定門檻)
if (High - vxt) >= RevAmt then begin 
Trend = 1; // 翻轉為上漲波
vxt = High; // 紀錄新的極高點
WaveVol = Volume; // 重新開始累加上漲波成交量
end else begin
WaveVol = WaveVol + Volume; // 未反轉,持續累加下跌波成交量
end;
end;
end;

// 4. 繪圖輸出
if trend=1 then begin
Plot1(WaveVol, "Weis Wave");
noplot(2);
end else begin
noplot(1);
plot2(WaveVol, "Weis Wave");
end;

 

指標應用

將這套邏輯導入分析系統時,有一個非常關鍵的使用者體驗(UX)細節需要考量:反轉參數的自適應(Adaptive Parameter)

  • 痛點: 如果讓用戶自己輸入 RevPct (反轉百分比),看台積電時設 1% 可能剛好,但看小型飆股時 1% 會產生無數個碎波段,導致 Weis Wave 失去意義。
  • 解法建議: 在後端運算時,可以將固定的「百分比」改為「動態波動率」。例如,將反轉門檻設定為1.5  倍  ATR  (平均真實波幅)。這樣一來,不論是高波動的科技股,還是低波動的金融股,系統都能自動畫出最完美的波段成交量,大幅降低使用者的學習門檻。

 

成交量流量指標 (Volume Flow Indicator, VFI)  

成交量流量指標 (Volume Flow Indicator, VFI) 是由 Markos Katsanos 發表於《Technical Analysis of Stocks & Commodities》的重量級指標。

散戶最常犯的錯誤是看見某天爆出天量長紅就衝進去,或者看見長黑破底就恐慌停損,而這正是主力製造「假突破」與「假跌破」來進行派發與收集的慣用手法。

VFI 完美解決了傳統 OBV(能量潮指標)最大的缺陷:極易被單日異常天量扭曲

1. VFI 的核心設計邏輯與意義

VFI 將主力資金的「收集(Accumulation)」與「派發(Distribution)」行為進行了科學化的拆解,其演算法包含三個極具巧思的過濾機制:

  1. 過濾極端天量 (Volume Capping):
    如果某天發生錯帳、指數調整或極端的單一事件導致成交量暴增,傳統 OBV 會永久性地被這天的數據拉高或壓低。VFI 強制設定一個上限(通常是移動平均成交量的 2.5 倍),任何超過這個上限的量都會被截斷,確保指標反映的是「常態性的資金流動」,而非單日雜訊。
  2. 波動率截止閾值 (Cutoff Threshold):
    這是 VFI 最精華的設計。股價每天都有微幅漲跌,但這些微小的波動不代表主力在介入。VFI 引入了標準差(波動率)作為門檻,只有當當日價格變動大於「截止閾值」時,當天的成交量才被視為有效的多空能量。這有效過濾了盤整期的無效雜訊。
  3. 長週期視角:
    VFI 的標準預設週期是 130 天(約半年)。它不看短線的蠅頭小利,而是專注於掃描長期的資金底蘊。

2. 如何判讀主力的收集與派發?

  • 底部收集背離 (Bullish Divergence):
    股價在底部不斷破底,散戶因恐慌而拋售。但 VFI 曲線不僅沒有跟著破底,反而開始走平甚至向上抬升。這代表主力的限價買單正在底部默默「吸收」這些拋出的籌碼(過濾了雜訊與天量後,真實的淨現金流是正的)。
  • 頂部派發背離 (Bearish Divergence):
    股價屢創新高,市場氣氛熱烈。但 VFI 曲線卻未能創高,甚至提前跌破零軸。這強烈暗示推升股價的只是少數追高的散戶量,主力的大資金早已在逢高「倒貨」。
  • 零軸突破 (Zero-Line Crossover):
    VFI 是一項圍繞零軸波動的指標。當 VFI 由下往上強勢穿越零軸,並維持在上方,代表長期的籌碼流向已正式由空翻多。

 

3. XScript  語法

// 指標名稱:Volume Flow Indicator (VFI) - 成交量流量指標
// 作者:Markos Katsanos
// -----------------------------------------------------------
Input: 
Length(130, "計算週期(預設130)"), 
Coef(0.2, "截止係數(預設0.2)"), 
Smooth(3, "平滑週期(預設3)");

Variable: TP(0), PrevTP(0), MF(0), Cutoff(0);
Variable: Vave(0), Vmax(0), VC(0), DirVol(0);
Variable: SumDirVol(0), VFI_Raw(0), VFI(0);

// 1. 計算典型價格 (Typical Price)
// 結合最高、最低與收盤價,比單看收盤價更具代表性
TP = (High + Low + Close) / 3;

if CurrentBar = 1 then 
PrevTP = TP 
else 
PrevTP = TP[1];

// 價格變化量
MF = TP - PrevTP;

// 2. 計算波動率截止閾值 (Cutoff)
// 這裡使用 30 日收盤價的標準差乘以係數,作為過濾盤整雜訊的門檻
Cutoff = Coef * StandardDev(Close, 30, 1);

// 3. 異常成交量截斷 (Volume Cap)
// 限制單日最大成交量不得超過平均量的 2.5 倍
Vave = Average(Volume, Length);
Vmax = Vave * 2.5;
VC = MinList(Volume, Vmax);

// 4. 判斷有效資金流向 (Directional Volume)
// 只有當價格變動「大於」波動閾值時,才計入有效成交量
if MF > Cutoff then
DirVol = VC
else if MF < -1 * Cutoff then
DirVol = -1 * VC
else
DirVol = 0; // 變動太小,視為雜訊,資金流為 0

// 5. 計算 VFI 原始數值
// 將過去 N 天的有效資金加總,並除以平均量進行標準化
SumDirVol = Summation(DirVol, Length);

if Vave > 0 then
VFI_Raw = SumDirVol / Vave
else
VFI_Raw = 0;

// 6. 最終平滑處理
// 使用 XAverage (EMA) 讓曲線更平滑,便於判讀
VFI = XAverage(VFI_Raw, Smooth);

// 7. 繪圖與視覺化
Plot1(VFI, "VFI");
Plot2(0, "零軸");

// 顏色標示:零軸之上為紅(資金流入),之下為綠(資金流出)

 

 

4. 產品應用:將 VFI 轉化為核心競爭力

直接將這個指標的邏輯包裝進選股模組中,能創造出非常具備實戰價值的應用場景:

  • 建立「主力暗中吸籌榜」:
    設定選股腳本:股價創 60 日新低VFI > VFI[20] (VFI 逆勢上揚)VFI > 0
    這能直接幫一般投資人篩選出那些「表面上看起來很慘,但大戶正在瘋狂撿便宜」的標的,完美切合散戶喜歡「買在底部」的需求,同時又提供了量化數據的保護。
  • 中長線過濾器:
    在回測系統中,鼓勵用戶將 VFI > 0 作為任何突破策略的前提。這可以大幅度降低在派發期(主力拉高出貨)追高被套牢的機率。

VFI 是一個底蘊非常深厚的指標。將它與我們先前討論過的 KAMA (自適應均線) 結合,一個負責判斷資金底氣,一個負責找尋高效率的進場點,這會是一套非常強大的現代交易系統核心。

斬波指標(Choppiness Index, CHOP)

這是由澳洲商品交易員 E.W. Dreiss 開發的指標,它利用 「分形幾何 (Fractal Geometry)」 的概念來量化市場的「混亂程度」。

  • 核心原理: 它不是方向性指標(不告訴你漲跌),而是「狀態指標」。
    • 數值範圍 0~100。
    • CHOP > 61.8: 市場處於高度混亂(Choppy)、無序震盪。這時候任何突破都極可能是假的。
    • CHOP < 38.2: 市場處於強烈趨勢中(無論漲跌)。
  • 如何用它確認趨勢? 這是一個完美的「濾網 (Filter)」。
    • 當你的主策略(如 MACD 或 突破策略)發出買進訊號時,檢查 CHOP。
    • 如果 CHOP > 50,忽略訊號(視為假突破)。
    • 如果 CHOP < 50 且正在下降,大膽進場,因為趨勢正在形成且結構紮實。

1. 核心數學與公式詳解

CHOP 的數學基礎建立在混沌理論分形幾何 (Fractal Geometry) 之上。它利用價格的「幾何維度」來判斷市場效率。

  • 概念邏輯:
    • 高效率(趨勢): 價格走勢像一條直線,兩點之間距離最短。這時 CHOP 數值低。
    • 低效率(盤整): 價格走勢像一團亂麻,雖然走了很長的路(波動大),但最後沒移動多少距離。這時 CHOP 數值高。

計算公式

 

步驟拆解:

  1. 真實波幅 (True Range, TR): 計算每日的波動幅度(包含跳空缺口)。
  2. 路徑總長 (Sum of TR): 將過去 N 天的 TR 加總。這代表價格實際「走過的路」。
  3. 直線距離 (Range): 過去 N 天的最高價減去最低價  。這代表價格實際「產生的位移」。
  4. 對數比率: 計算「路徑總長」與「直線距離」的比率,並取對數(Logarithm)。這就是在計算分形維度。

2. 指標意義與數值解讀

CHOP 的數值範圍在 0 到 100 之間,與費波南希數列 (Fibonacci) 密切相關:

  • CHOP > 61.8 (盤整/混亂):
    • 意義: 市場處於高度混亂狀態,缺乏明確方向。
    • 能量觀點: 這通常代表「能量正在壓縮」,就像彈簧被壓縮一樣。數值越高,未來爆發大行情的機率越高。
    • 操作建議: 空手或進行區間操作(高出低進),切勿追價。
  • CHOP < 38.2 (趨勢/效率):
    • 意義: 市場處於強烈趨勢狀態(可能是暴漲或暴跌)。
    • 能量觀點: 能量正在釋放中。
    • 操作建議: 順勢操作。若持有部位,應續抱直到 CHOP 開始回升。
  • 38.2 ~ 61.8 (過渡區):
    • 市場正在轉換體制,訊號不明確。

3. XScript (XQ 語法) 完整腳本

// 指標名稱:Choppiness Index (CHOP)
// 作者:E.W. Dreiss
// -----------------------------------------------------------
Input: Length(14, "計算週期");
Variable: TR(0), SumTR(0);
Variable: MaxHi(0), MinLo(0), RangeLen(0);
Variable: CHOP(0);

// 1. 計算真實波幅 (True Range)
// XQ 內建 TrueRange 函數,若無則使用 MaxList 手動計算
TR = TrueRange;

// 2. 計算分子:路徑總長 (過去 N 天波動總和)
SumTR = Summation(TR, Length);

// 3. 計算分母:直線位移 (過去 N 天的高低區間)
MaxHi = Highest(High, Length);
MinLo = Lowest(Low, Length);
RangeLen = MaxHi - MinLo;

// 4. 核心公式計算
// 保護機制:避免分母為 0 (雖然極少發生)
if RangeLen > 0 and SumTR > 0 then begin
// Log 在 XQ 中是以 10 為底,這正是公式需要的
Value1 = SumTR / RangeLen;
CHOP = 100 * Log(Value1) / Log(Length);
end else begin
CHOP = 50; // 若無法計算,給予中性值
end;

// 5. 繪圖輸出
Plot1(CHOP, "Choppiness Index");

// 繪製參考線
Plot2(61.8, "盤整界線 (Fib 61.8)");
Plot3(38.2, "趨勢界線 (Fib 38.2)");

 

 

4. 實戰應用 

可以將 CHOP 定位為 「假突破過濾神器」 :

應用 A:突破策略的「保險絲」

  • 痛點: 用戶常抱怨:「看到布林通道開口打開就追進去,結果馬上反轉被套牢。」
  • 解法: 當您的策略 發出「突破訊號」時,背後先檢查 CHOP。
    • 情境 1: 價格突破新高,但 CHOP > 60
      • 判定: 這是假突破機率極高。
    • 情境 2: 價格突破新高,且 CHOP < 50 且正在下降
      • 判定: 趨勢確立。

應用 B:抓「起漲點」 (The Squeeze)

  • CHOP 最迷人的地方在於極值
  • 當 CHOP 數值飆升到 70 以上(極度壓縮),代表波動率低到極點。這就像是暴風雨前的寧靜。
  • 產品功能: 您可以設計一個選股條件:「尋找 CHOP > 70 的股票」。這份清單就是 「即將變盤(大漲或大跌)」 的潛力股清單,對於喜歡做波動率爆發的交易者來說非常有價值。

總結

附圖是跟KAMA一起對照的斬波指標,在確認趨勢這件事上,斬波指標的確有其獨到的地方

 

CHOP 是一個 「中立」 的指標,它不帶有多空偏見。這正是它強大的原因,因為它客觀地描述了市場的結構效率。

 

 

考夫曼自適應均線 (Kaufman’s Adaptive Moving Average, KAMA)

考夫曼自適應均線 (Kaufman’s Adaptive Moving Average, KAMA) 由 傳奇量化大師Perry Kaufman ,在其著作《Smarter Trading》中所發明的經典指標,專門用來解決「均線在盤整期被打臉」的問題。 

跟傳統均線的差異在於KAMA 引入了一個「效率係數 (Efficiency Ratio, ER)」。

這個系數的計算公式如下

  • 趨勢盤: 價格直直衝,位移 跟 路徑很接近,ER趨近於 1。KAMA 會變得非常靈敏(像短期均線)。
  • 震盪盤: 價格上下刷,位移很小但路徑很長,ER 趨近於 0。KAMA 會自動停滯」**,變成一條水平線。

過濾假突破的邏輯:
當市場出現假突破(瞬間暴漲但隨即拉回)時,雖然價格動了,但「路徑」變長了,導致 ER 下降。KAMA 會判定這是「噪音」而拒絕跟隨。只有當價格「穩定且有效率」地移動時,KAMA 才會轉向。

以下是 KAMA 的完整數學解析、應用邏輯與 XScript 腳本。

 

1. KAMA 的核心意義:訊號與雜訊

KAMA 的核心哲學是:「當市場充滿雜訊(盤整)時,均線應該停止移動;當訊號明確(趨勢)時,均線應該加速追趕。」

 

 

2. 計算公式詳解

KAMA 的計算分為三個步驟,邏輯非常嚴謹:

Step 1: 計算效率係數 (ER)

這是 KAMA 的大腦,用來判斷現在是趨勢還是盤整。

Step 2: 計算平滑常數 (Smoothing Constant, SC)

3. XScript (XQ 語法) 完整腳本

這段代碼您可以直接用於 XQ。

// 指標名稱:Kaufman's Adaptive Moving Average (KAMA)
// -----------------------------------------------------------
Input: 
Period(10, "計算週期 (ER)"), 
FastEnd(2, "最快EMA週期"), 
SlowEnd(30, "最慢EMA週期");

Variable: Direction(0), Volatility1(0), ER(0);
Variable: FastSC(0), SlowSC(0), SC(0);
Variable: KAMA_Val(0);

// 1. 初始化平滑常數 (將 EMA 週期轉換為權重常數)
// EMA權重公式 = 2 / (N + 1)
Once begin
FastSC = 2 / (FastEnd + 1);
SlowSC = 2 / (SlowEnd + 1);
end;

// 2. 計算效率係數 (Efficiency Ratio, ER)
// Direction: 價格淨位移 (直線距離)
Direction = AbsValue(Close - Close[Period]);

// Volatility: 價格總路徑 (每日波動總和)
// 使用 Summation 函數累加過去 Period 天的每日波動
Volatility1 = Summation(AbsValue(Close - Close[1]), Period);

// 防呆機制:避免分母為 0
if Volatility1 > 0 then 
ER = Direction / Volatility1
else 
ER = 0;

// 3. 計算平滑常數 (SC)
// 這是 KAMA 的核心:將 ER 對映到 FastSC 與 SlowSC 之間,並平方以壓抑雜訊
SC = Power(ER * (FastSC - SlowSC) + SlowSC, 2);

// 4. 計算 KAMA
// 第一根 Bar 直接用收盤價,之後用遞歸公式
if CurrentBar = 1 then
KAMA_Val = Close
else
KAMA_Val = KAMA_Val[1] + SC * (Close - KAMA_Val[1]);

// 5. 繪圖輸出
Plot1(KAMA_Val, "KAMA");

 

 

 

4. 產品應用:如何利用 KAMA 過濾假突破?

這正是 KAMA 最強大的地方。對於 Moneydj 的用戶,您可以這樣設計策略教學或功能提示:

情境:假突破 (False Breakout)

  1. 現象: 股價瞬間大漲,突破了前波高點。
  2. 傳統均線反應: 因為價格大漲,傳統 MA (如 5MA) 會立刻勾頭向上,發出買進訊號 -> 結果買在最高點,隔天大跌(假突破)。
  3. KAMA 的反應:
    • 雖然價格位移(分子)變大了,但如果這次突破是伴隨著劇烈的上下刷洗(分母 Volatility 更大),ER 值反而會很低。
    • 結果: KAMA 線會保持水平,甚至幾乎不動。
    • 策略意義: 這告訴交易者:「價格雖然動了,但效率很低,這不是穩健的趨勢,不要追價!

情境:真趨勢 (True Trend)

  1. 現象: 股價穩步推升,每天都漲一點點,回檔很淺。
  2. KAMA 的反應:
    • 位移大,但總路徑也短(因為沒有多餘的震盪)。
    • ER 值接近 1。
    • 結果: KAMA 會突然加速,緊緊貼著價格上揚。
    • 策略意義: 這是高效率趨勢,大膽買進!

以下是用這個均線及均線與股價價差作的指標應用圖

 

總結

KAMA 就像是一個「有潔癖」的均線。它痛恨雜訊,只有在趨勢非常乾淨時才會進場。

 

 

 

漩渦指標

漩渦指標 (Vortex Indicator, VI) 是由 Etienne Botes 和 Douglas Siepman 於 2010 年一月發表在《Technical Analysis of Stocks & Commodities》雜誌上的指標。 靈感來自於流體力學中的「漩渦流」。

  • 核心原理:
    大多數指標只看收盤價,但漩渦指標關注「波幅的連續性」。它測量價格向上移動的能量 VI+與向下移動的能量 VI-之間的距離。

    • 當正向漩渦流 VI+強勢穿過負向漩渦流 VI- 時,代表一股強大的上升氣流已經形成,這通常不是假突破,而是真實的趨勢結構改變。
  • 為什麼能過濾假突破?
    它對「盤整」非常敏感。在沒有明確趨勢時,VI+ 與 VI- 會糾纏在一起(像 DNA 雙螺旋)。只有當兩者**「開口顯著擴大」**時,才視為有效訊號。這比單純的均線交叉更難造假。

VI 的價值在於它不僅僅是「趨勢指標」,它更是一個 能量流向指標 。它解決了傳統均線(MA)最大的痛點:均線只能告訴你「過去」發生了什麼,但 VI 試圖告訴你目前的趨勢能量是否足以延續。

 

1. 漩渦指標 (VI) 的核心意義

VI 的靈感來自於奧地利自然學家 Viktor Schauberger 對水流漩渦的研究。他發現水流的能量是透過螺旋運動產生的。

在金融市場中,VI 將這種概念轉化為兩股力量的博弈:

  1. 正向漩渦VI+: 買方力量。試圖將價格推向比昨天更高的高點。
    • 計算:今日最高價昨日最低價 的距離。
  2. 負向漩渦 VI-: 賣方力量。試圖將價格推向比昨天更低的低點。
    • 計算:今日最低價昨日最高價 的距離。

 

2. XScript (XQ 語法) 完整腳本

// 指標名稱:Vortex Indicator (VI)
// 發表年份:2010
// -----------------------------------------------------------
Input: Length(14, "計算週期");
Variable: VM_Plus(0), VM_Minus(0);
Variable: Sum_VM_Plus(0), Sum_VM_Minus(0), Sum_TR(0);
Variable: VI_Plus(0), VI_Minus(0);
Variable: TR(0);

// 1. 計算單根 K 線的漩渦移動量 (Vortex Movement)
// 邏輯:今天的高點離昨天的低點有多遠 (多頭力道)
VM_Plus = AbsValue(High - Low[1]);

// 邏輯:今天的低點離昨天的高點有多遠 (空頭力道)
VM_Minus = AbsValue(Low - High[1]);

// 2. 計算真實波幅 (True Range)
// 這是為了將波動率標準化,讓不同價位的股票可以比較
TR = TrueRange; 
// 註:若 XQ 版本較舊不支援 TrueRange,可用以下公式取代:
// TR = MaxList(High - Low, AbsValue(High - Close[1]), AbsValue(Low - Close[1]));

// 3. 進行週期累加 (Summation)
// 這裡將過去 N 天的力道總和起來
Sum_VM_Plus = Summation(VM_Plus, Length);
Sum_VM_Minus = Summation(VM_Minus, Length);
Sum_TR = Summation(TR, Length);

// 4. 計算最終指標數值 (歸一化)
if Sum_TR <> 0 then begin
VI_Plus = Sum_VM_Plus / Sum_TR;
VI_Minus = Sum_VM_Minus / Sum_TR;
end;

// 5. 繪圖輸出
Plot1(VI_Plus, "VI+ (多頭)");
Plot2(VI_Minus, "VI- (空頭)");
Plot3(VI_Plus-VI_Minus,"差額");

 

3.實戰應用

A. 標準用法:交叉訊號 (Crossover)

  • 買進: 紅線 (VI+) 由下往上穿過 綠線 (VI-)。
  • 賣出: 紅線 (VI+) 由上往下穿過 綠線 (VI-)。
  • 缺點: 在盤整時會頻繁交叉(假訊號)。

B. 進階用法:閾值確認 (Threshold Confirmation) —— 這是您最需要的

為了過濾假突破,您可以設定一個**「有效區間」**:

  • 邏輯: 只有當 VI+ 大於 1.1 且 VI-小於 0.9 時,才認定多頭趨勢正式展開。
  • 意義: 這代表買方力道不僅僅是贏過賣方,而且是「壓倒性」的勝利。

 

C. 與 MACD 的差異

  • MACD 是基於均線的收斂發散,反應較慢。
  • VI 是基於價格的高低點幾何關係,反應通常比 MACD 快,且對「轉折」更敏感。

4. 針對「假突破」的特別觀察

當價格創新高,但 VI+ 沒有同步創新高(甚至開始下滑),這就是著名的頂部背離 (Bearish Divergence)

這通常是主力在拉高出貨的徵兆,是過濾「假突破真拉回」最強力的訊號之一。

 5.參考的圖形

 

Ehlers 相關性趨勢指標

 Ehlers 相關性趨勢指標 (Correlation Trend Indicator, CTI) 是 John Ehlers 在其著作《Cycle Analytics for Traders》(2013) 及後續發表中提出的概念。

 CTI 是一個「含金量」極高的指標。因為它解決了一個傳統技術分析無法量化的問題:「這個趨勢到底有多『明確』?」

1. CTI 的核心哲學:尋找「完美的 45 度線」

大多數趨勢指標(如 MACD、均線)測量的是價格變化的幅度。但幅度大不代表趨勢好,有可能是暴漲暴跌。

CTI 測量的不是幅度,而是 「型態的完美度」 。

  • 概念模型: 想像一條從左下角筆直畫到右上角的直線(理想的上升趨勢)。
  • 計算邏輯: CTI 計算實際股價走勢與這條「理想直線」之間的相關係數 (Correlation Coefficient)
  • 數值解讀:
    • +1.0: 完美的上升趨勢(股價沿著直線穩定上漲,無雜訊)。
    • -1.0: 完美的下降趨勢。
    • 0.0: 完全的隨機漫步或橫盤整理。

2. 為什麼 CTI 優於 ADX 或 RSI?

在設計選股策略或儀表板時,CTI 提供了傳統指標無法提供的視角:

特性 ADX (平均方向指數) RSI (相對強弱指標) CTI (相關性趨勢)
方向性 無 (只知有趨勢,不知方向) 有 (+/- 分明)
鈍化問題 會滯後 強勢時會卡在 80 以上鈍化 不會鈍化,它會穩定維持在 0.9 以上
雜訊敏感度 易受單日大漲跌影響 易受波動率影響 ,只關注整體結構的線性度
PM 應用 判斷趨勢強度 判斷超買超賣 篩選「穩健飆股」 (Sleep-well stocks)

 

如果你想挑選出「抱得住」的股票,CTI 是比 RSI 更好的過濾器。因為 CTI 高的股票,回檔幅度小,走勢呈現階梯式上漲,投資人的心理壓力最小。

3. 數學原理與計算步驟

CTI 使用的是統計學標準的皮爾森積矩相關係數 (Pearson Product-Moment Correlation Coefficient),或是更進階的史皮爾曼等級相關 (Spearman Rank Correlation)

在標準算法中,我們將兩個變數進行比較:

  1. 變數 X: 價格序列 (Price)。
  2. 變數 Y: 時間序列 (Time Index),即 1, 2, 3… N (代表一條完美的斜線)。

這個公式看起來複雜,但本質上就是在問:「目前的價格走勢,跟一條穩定向上的直線,相似度有幾成?」

用Xscript寫的腳本如下

// 指標名稱:Ehlers Correlation Trend Indicator
// -----------------------------------------------------------
Input: Length(20, "計算週期");
Variable: SX(0), SY(0), SXX(0), SYY(0), SXY(0), i(0);
Variable: Corr(0);

// 初始化累加變數
SX = 0; SY = 0; SXX = 0; SYY = 0; SXY = 0;

// 計算價格與「時間序列(1, 2, 3...)」的相關性
for i = 0 to Length - 1 begin
Value1 = Close[i]; // Y: 價格
Value2 = Length - i; // X: 時間序 (越近數值越大,模擬上升直線)

SX = SX + Value2;
SY = SY + Value1;
SXY = SXY + (Value2 * Value1);
SXX = SXX + (Value2 * Value2);
SYY = SYY + (Value1 * Value1);
end;

// 相關係數公式
Value3 = (Length * SXX) - (SX * SX);
Value4 = (Length * SYY) - (SY * SY);

if Value3 > 0 and Value4 > 0 then
Corr = ((Length * SXY) - (SX * SY)) / SquareRoot(Value3 * Value4)
else
Corr = 0;

Plot1(Corr, "Trend Correlation");
Plot2(0, "Zero");
Plot3(0.5, "Strong Trend");

 

 

以下是其用在台積電上的對照圖

 

總結

Ehlers CTI 是一個將 「美學」(圖形漂亮程度)轉化為「數學 的優雅指標。它不求快,但求「穩」。 

內行人指數

現在產業輪動的這麼快,作為散戶,當特定類股開始上漲時,我們經常是

 

當類股下跌時,我們最怕的是

 

我一直在思考要如何避開這兩個煩惱

說到底,就是要儘量因為資訊落差而成為韭菜

在這市場上,

法人跟大股東是最可能擁有資訊落差的內行人

所以撰寫以下的腳本,計算有多少種不同的內行人在買超,而散戶還在放空或賣股票的

我寫的腳本如下

value1=getfield("外資買賣超", "D");
value2=getField("投信買賣超", "D");
value3=getField("自營商買賣超", "D");
value4=getField("關鍵券商買賣超張數", "D");
value5=getField("關聯券商買賣超張數", "D");
value6=getField("地緣券商買賣超張數", "D");
value7=getField("融資增減張數", "D");
value8=getField("融券增減張數", "D");
var:count(0);
count=0;
if value1>0 then count=count+1;
if value2>0 then count=count+1;
if value3>0 then count=count+1;
if value4>0 then count=count+1;
if value5>0 then count=count+1;
if value6>0 then count=count+1;
if value7<0 then count=count+1;
if value8>0 then count=count+1;
value9=average(count,40);
value10=count-value9;
plot1(average(count,3),"內行人參與係數");
plot2(value10,"差額");

這份腳本的核心概念是透過量化 「籌碼面」的共識程度 ,來判斷一檔股票是否正在被「聰明錢(Smart Money)」集中佈局。

畫出來的圖如下圖

以下是AI寫的這個指標的分析報告,包含計算公式指標意義實戰應用

1. 指標計算公式:內行人的共識分數

這個指標的運作邏輯是「計分制」。它每天會檢查 8 個籌碼變數,只要符合條件就加 1 分,滿分為 8 分。分數越高,代表越多不同路數的內行主力正在同步買進 。

加分條件(符合一項得 1 分):

這 8 個變數涵蓋了三大法人、主力券商與散戶指標:

類別 變數名稱 加分條件 背後邏輯
三大法人 1. 外資 買超 > 0 外資籌碼進駐,通常代表基本面或波段看好
2. 投信 買超 > 0 本土法人作帳或看好中短期爆發力
3. 自營商 買超 > 0 短線操作敏銳的券商自有資金進場
特殊主力 4. 關鍵券商 買超 > 0 過去操作該股勝率高或具影響力的券商
5. 關聯券商 買超 > 0 與公司派、大股東有地緣或人脈關係的券商
6. 地緣券商 買超 > 0 位於公司總部附近的券商,常被視為公司派動向
散戶與反向 7. 融資 減少 (< 0) 散戶(融資)退場,籌碼流向穩定(籌碼沉澱)
8. 融券 增加 (> 0) 可能是主力避險,或醞釀「軋空」行情的燃料

最終輸出數值:

  1. 內行人參與係數 (Plot1):將每日的得分取 3 日平均。這是為了平滑單日的波動,看出一週內的短期趨勢 。
  2. 差額 (Plot2):當日得分減去 40 日平均得分。用來判斷目前的熱度是否高於長期平均 。

2. 指標意義:資訊落差的具象化

這份腳本的作者開宗明義提到:「法人跟大股東是最可能擁有資訊落差的內行人」。

對於一般投資人來說,這個指標的意義在於解決單一看法的不確定性:

  • 消除雜訊:單看外資買,可能是假外資;單看投信買,可能是追高。但如果外資、投信、地緣券商、關鍵券商同時都在買,這就不太可能是巧合。
  • 確認共識:當這個係數很高(例如接近 6~8 分),代表市場上擁有「資訊優勢」的各路人馬都在做多,這時候跟單的勝率通常較高 。
  • 籌碼流向確認:特別加入了「融資減少」與「融券增加」的濾網,意味著它喜歡「散戶下車、主力上車」的籌碼結構。

3. 應用方式:如何用來操作?

根據腳本的邏輯,建議投資人可以採用以下三種應用策略:

A. 趨勢發動點 (Momentum Strategy)

  • 觀察重點:看 內行人參與係數 (Plot1)。
  • 操作:當係數從低檔(例如 1~2 分)快速攀升並突破 5 分以上,且維持在高檔。
  • 解讀:代表多方主力開始集結,股價可能即將發動攻擊。

B. 異常熱度偵測 (Divergence/Oscillator Strategy)

  • 觀察重點:看 差額 (Plot2,即當前分數 – 40日均值)。
  • 操作
    • 正向訊號:當 差額 轉為正數且持續擴大。這代表最近幾天的內行人買盤遠比過去兩個月(40天)還要積極,是主力表態的訊號。
    • 警示訊號:若股價創新高,但 內行人參與係數 卻開始下降(背離),代表雖然股價在漲,但聰明錢已經開始由於或撤退,這時應考慮停利。

C. 底部佈局 (Bottom Fishing)

  • 觀察重點:股價盤整時,內行人參與係數 是否悄悄墊高。
  • 解讀:如果股價還沒漲,但係數長期維持在 4~5 分以上,且融資持續減少(變數 7),這通常是主力在底部「吸籌」的特徵。

總結

這個指標不是單純的「買賣超張數」加總,而是一個 「多方訊號計數器」。它不看誰買得多,而是看有多少種不同的內行人 一致看好。

給一般投資人的建議:

不要只看指標分數高就買進,最好搭配 K線型態(如突破盤整區)一同觀察。當「內行人係數」高漲且股價剛突破關鍵壓力位時,就是勝率最高的進場點。

 

 

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