
指標腳本介紹:分K最大量高低點_日期計數版
腳本名稱:分K最大量高低點_日期計數版
適用周期:分鐘K線(1分、5分、15分……皆可)
核心功能: 在當日(或當次盤別)所有分鐘K棒中,找出成交量最大的那一根K棒,並持續標示出它的最高價與最低價,作為當日最重要的價格參考結構。主要用途(最常見的五種用法):
- 當日爆量點 = 當天最有意義的轉折或主力進場位置
- 大量高點 → 當日最強壓力帶 / 反壓參考
- 大量低點 → 當日最強支撐帶 / 防守參考
- 常作為當日「結構高低點」來搭配其他指標(型態、均線、箱型、突破策略)
- 收盤後的延伸水平線,方便隔日直接觀察是否留有缺口或延續結構
主要特點
- 使用 GetFieldDate("Date") 正確判斷跨日(不會被日盤/夜盤/凌晨跳價干擾)
- 支援台指期、選擇權、小台、各種商品期貨的分鐘K
- 強制只在分鐘K執行(非分鐘會直接報錯)
- 自動在最後一根K棒向右畫出延伸水平線(方便看隔日走勢)
- 同時顯示當日開盤價(可關閉)、均價線,方便一目了然
畫出來的線條說明

延伸線預設向右畫 Shift 2根 + Shift 4根,可自行調整數值或改成無限延伸。
使用建議與常見搭配方式
- 短線當沖:大量高低點常成為當日最重要的「天花板」與「地板」
- 波段觀察:如果價格長期站不上大量高 → 偏空思考;跌不破大量低 → 偏多思考
- 與均價線搭配:大量點 + 均價線 形成雙重結構確認
- 與開盤區間搭配:開盤30分/60分區間 + 當日最大量點,組成當日關鍵三區
- 缺口策略:隔日若開高/開低未回補大量高低點,可作為延續訊號參考
程式邏輯簡述(給想改的人看)
- 每根K棒判斷是否跨日(用 GetFieldDate("Date") 比對前一根)
- 跨日 → 當日K棒計數器歸零,並把第一根的量/高/低設為初始值
- 之後每一根都比對:如果目前這根成交量 > 目前紀錄的最大量 → 更新最大量、最高價、最低價
- 最後在圖表最右邊(IsLastBar)畫出兩條延伸線(可自行調整長度)
注意事項
- 只支援分鐘K,日K、周K不適用(腳本會直接報錯)
- 如果盤中一直沒有新高量,則會持續使用第一根K棒的價位作為大量高低(這是合理的,因為代表目前還沒有更強的參與)
- 夜盤→日盤、假日後第一盤都能正確重置(因為使用 GetFieldDate)
有興趣的朋友可以直接複製下方程式碼,建議先多看幾天,確認符合自己的使用習慣。
歡迎測試後回饋~有什麼想加的功能(例如標示最大量K的顏色、顯示量能數值、設定最小量門檻……)也可以留言討論!
祝大家交易順利,抓到當天真正的主力大單位置!
// ============================================
// 腳本名稱: 分K最大量高低點_日期計數版
// 核心目的: 使用 GetFieldDate 判斷換日,計算當日最大量K棒高低點
// 修正重點:
// 1. 採用用戶指定的 GetFieldDate("Date") 邏輯來計算 K 棒序號
// 2. 變數命名符合規範 (加上底線)
// 日期: 2026/01/15
// ============================================
// ------------------------------
// 1. 參數與變數宣告
// ------------------------------
if BarFreq <> "Min" then RaiseRunTimeError("只支援分鐘 K");
var: _BarsToday(0); // 對應您的 value1,紀錄當日第幾根K棒
var: _LineH(0); // 紀錄大量K棒的最高價
var: _LineL(0); // 紀錄大量K棒的最低價
var: _MaxVol(0); // 紀錄目前的最大量
// ------------------------------
// 2. 用戶指定邏輯:換日計數器
// ------------------------------
// 當日期變動 (例如 13:45 -> 15:00) 時歸零,否則累加
// 註: GetFieldDate("Date") 與 Date 效果相同
if GetFieldDate("Date") <> GetFieldDate("Date")[1] then
_BarsToday = 0
else
_BarsToday += 1;
// ------------------------------
// 3. 核心計算邏輯
// ------------------------------
// 判斷是否為當日(或當次盤別)的第一根
if _BarsToday = 0 then begin
// 第一根K棒,強制初始化
_MaxVol = Volume;
_LineH = High;
_LineL = Low;
end
else begin
// 非第一根,檢查是否爆量
if Volume > _MaxVol then begin
_MaxVol = Volume; // 更新最大量
_LineH = High; // 更新大量高
_LineL = Low; // 更新大量低
end;
end;
// ------------------------------
// 4. 繪圖輸出
// ------------------------------
Plot1(_LineH, "大量高");
Plot2(_LineL, "大量低");
Plot3(GetField("均價"), "均價");
Plot4(OpenD(0), "開盤", Checkbox:=0);
// ------------------------------
// 5. 收盤延伸線 (僅在最後一根K棒繪製)
// ------------------------------
if IsLastBar then begin
Plot11(_LineH, "大量高延長", Shift:=2);
Plot12(_LineH, "大量高延長", Shift:=4);
Plot13(_LineL, "大量低延長", Shift:=2);
Plot14(_LineL, "大量低延長", Shift:=4);
end;


