XQ指標腳本:CDP指標

更新 發佈閱讀 17 分鐘
投資理財內容聲明

免責聲明:請注意,本文內容僅分享個人改寫的常用的技術工具,一切內容僅供參考,完全不涉及任何投資買賣建議。


CDP 指標腳本介紹

指標概述

CDP(Central Daily Pivot)指標是一種基於前一日價格數據計算的樞紐點分析工具,常用於技術分析中識別潛在的支撐與阻力位。本腳本專為 XS 平台設計,計算前一日最高價(H[1])、最低價(L[1])與收盤價(C[1])來得出 CDP 值及其衍生指標(AH、NH、NL、AL),並繪製多條水平線以視覺化關鍵價位。同時,腳本整合當日均價、即時漲跌幅(%)、前日高低、開盤價、當日高低以及漲跌停價等資訊,提供全面的盤中參考。

此指標適用於短期交易者或日內操作,幫助快速判斷價格區間與趨勢轉折點。腳本僅支援分鐘頻率(Min)或日頻率(D),若使用其他頻率將引發運行錯誤(raiseruntimeerror)。

輸入參數

  • _plotLen (預設值: 1, 類型: 選單): 繪圖區間選擇。
    • 選項1: "每日"(值=1) - 每根 K 棒都會重繪線條,適合追蹤全程動態。
    • 選項2: "當日"(值=2) - 僅在當日最後一根 K 棒繪製線條,減少圖表雜訊。

計算邏輯

腳本在每換日時(date <> date[1])觸發計算,重置狀態並使用 GetField 函數取得日頻率數據:

  • 前日數據擷取:
    • _HH = 前一日最高價 (GetField("High", "D")[1])
    • _LL = 前一日最低價 (GetField("Low", "D")[1])
    • _CC = 前一日收盤價 (GetField("Close", "D")[1])
  • CDP 及其衍生值 (僅當 _HH > _LL 時計算,避免異常):
    • _CDP = (_HH + _LL + 2 * _CC) / 4 // 需求點(Central Daily Pivot)
    • _AH = _CDP + (_HH - _LL) // 遠高值(Absolute High)
    • _NH = 2 * _CDP - _LL // 近高值(Near High)
    • _NL = 2 * _CDP - _HH // 近低值(Near Low)
    • _AL = _CDP - (_HH - _LL) // 遠低值(Absolute Low)
  • 其他動態值:
    • _OpenPrice = 當日開盤價 (GetField("Open", "D"))
    • _AvgPrice = 當日均價 (GetField("均價", "D"))
    • _dayHigh / _dayLow = 當日最高/最低價 (GetField("High/Low", "D"))
    • _ChangePercent = (Close - _RefPrice) / _RefPrice * 100 // 即時漲跌幅(%),_RefPrice 為當日參考價
    • _prevDayHigh / _prevDayLow = 前一日最高/最低價

腳本優先使用 XS 內建函數(如 GetField),避免自訂計算式,並確保跨頻率數據正確(例如分鐘腳本取日頻數據)。

輸出與繪製

腳本使用 Plot 系列函數繪製指標與線條,僅在 CDP 值有效 (>0) 且符合 _plotLen 條件時執行:

  • 序列指標:
    • Plot1: 當日均價線("均價")
    • Plot3: 即時漲跌幅("漲跌幅(%)")
  • 水平線條 (使用 PlotLine,起點為換日時的 _x1_bar,終點為 CurrentBar):
    • Plot4: 遠高線("遠高")
    • Plot5: 近高線("近高")
    • Plot6: CDP 線("CDP")
    • Plot7: 近低線("近低")
    • Plot8: 遠低線("遠低")
    • Plot9: 前日高線("前日高")
    • Plot10: 前日低線("前日低")
    • Plot11: 前日收線("前日收")
    • Plot12: 開盤價線("開盤")
    • Plot13: 當日高線("日高")
    • Plot14: 當日低線("日低")
    • Plot15: 漲停價線("漲停",GetField("漲停價", "D"))
    • Plot16: 跌停價線("跌停",GetField("跌停價", "D"))

根據 _plotLen,線條可連續繪製(add=1)或僅最後一根(add=0,清舊線)。

使用注意事項

  • 腳本類型: 指標腳本(非交易或選股),plot 僅包含數值、名稱與 checkbox,無顏色/樣式自訂。
  • 變數命名: 所有 input/var 以 "_" 開頭,避免衝突 XS 內建名稱。
  • 頻率調整: 分鐘頻率時,使用 GetField 直接取日頻數據,避免中間變數誤用。
  • 錯誤處理: 若前日高低價異常(_HH <= _LL)或參考價為0,相關計算將跳過。
  • 繪圖效能: 模式1 適合小圖表,模式2 適合大範圍回測以減少計算負荷。
  • 測試建議: 在日線或5分鐘圖上驗證,確保換日計算正確。腳本已自我檢查符合 XS 規範,包括不使用陣列、不依賴 newday 判斷換日。

此腳本提升圖表可讀性,適合搭配其他指標使用。

// ------------------------------
// 0. 腳本初始化與輸入參數
// ------------------------------
input: _plotLen(1, "繪圖區間", inputkind:= Dict(["每日", 1], ["當日", 2])); // 繪圖區間選擇:1=每日重繪,2=僅當日最後K棒繪製

// 檢查腳本執行的頻率是否為分鐘或日線
if barfreq <> "Min" and barfreq <> "D" then
raiseruntimeerror("僅支援分鐘與日頻率");

// ------------------------------
// 1. 變數宣告
// ------------------------------
Var: _HH(0); // 前一日最高價
Var: _LL(0); // 前一日最低價
Var: _CC(0); // 前一日收盤價
Var: _OpenPrice(0); // 當日開盤價
Var: _AvgPrice(0); // 當日均價 (使用GetField取得)
Var: _CDP(0); // CDP 值 (需求點)
Var: _AH(0); // AH 值 (最高值)
Var: _NH(0); // NH 值 (近高值)
Var: _NL(0); // NL 值 (近低值)
Var: _AL(0); // AL 值 (最低值)
Var: _bar_count(0); // K棒計數器 (用於繪圖)
Var: _x1_bar(0); // 線條起點 Bar 編號 (用於繪圖)
Var: _shouldPlot(0); // 布林變數,判斷是否應繪製線條 (用於繪圖)
Var: _addFlag(0); // 布林變數,控制 PlotLine 的 add 參數 (用於繪圖)
Var: _dayLow(0); // 當天最低價
Var: _dayHigh(0); // 當天最高價
Var: _prevDayLow(0); // 前一天最低價
Var: _prevDayHigh(0);// 前一天最高價
Var: _RefPrice(0); // 當日參考價 (用於計算漲跌幅)
Var: _ChangePercent(0); // 即時漲跌幅 (%)

// ------------------------------
// 2. 換日時計算 CDP 相關數值與開盤價並重置狀態
// ------------------------------
// 檢查是否換日 (當前K棒日期不等於前一根K棒日期)
if date <> date[1] then begin
_bar_count = 0; // 重置日內K棒計數
_x1_bar = CurrentBar; // 記錄新交易日起點 Bar 編號,供 PlotLine 使用

// 使用 GetField 取得前一日的日頻率資料
_HH = GetField("High", "D")[1]; // 前一日最高價
_LL = GetField("Low", "D")[1]; // 前一日最低價
_CC = GetField("Close", "D")[1]; // 前一日收盤價
_OpenPrice = GetField("Open", "D"); // 當日開盤價
_AvgPrice = GetField("均價", "D"); // 當日均價
_prevDayLow = GetField("Low", "D")[1]; // 前一天最低價
_prevDayHigh = GetField("High", "D")[1]; // 前一天最高價
_RefPrice = GetField("參考價", "D"); // 當日參考價

// 計算 CDP 及其相關數值 (樞紐點分析)
// 避免 _HH <= _LL 導致計算異常
if _HH > _LL then begin
_CDP = (_HH + _LL + 2 * _CC) / 4; // CDP = (H[1] + L[1] + 2*C[1])/4
_AH = _CDP + (_HH - _LL); // 遠高 = CDP + (H[1] - L[1])
_NH = 2 * _CDP - _LL; // 近高 = 2*CDP - L[1]
_NL = 2 * _CDP - _HH; // 近低 = 2*CDP - H[1]
_AL = _CDP - (_HH - _LL); // 遠低 = CDP - (H[1] - L[1])
end;
end;

// ------------------------------
// 3. 計算即時漲跌幅與當天高低價
// ------------------------------
// 取得當天高低價 (日頻率)
_dayLow = GetField("Low", "D"); // 當天最低價
_dayHigh = GetField("High", "D"); // 當天最高價

// 計算即時漲跌幅
_ChangePercent = 0; // 預設漲跌幅為 0
// 避免參考價為0導致計算錯誤
if _RefPrice <> 0 then
_ChangePercent = (Close - _RefPrice) / _RefPrice * 100; // (現價 - 參考價) / 參考價 * 100%

// ------------------------------
// 4. 判斷繪圖條件 (根據輸入參數決定繪圖模式)
// ------------------------------
_shouldPlot = 0; // 初始化繪圖條件為不繪製
_addFlag = 0; // 初始化 PlotLine 的 add 參數 (0: 清除舊線, 1: 連續繪製)
// 確保已進入新的一天 (_x1_bar 不為 0)
if _x1_bar <> 0 then begin
// 模式1:每日重繪 (每根K棒都畫)
if _plotLen = 1 then begin
_shouldPlot = 1; // 設定為需要繪製
_addFlag = 1; // 設定為連續繪製
end;
// 模式2:僅當日最後K棒繪製
if _plotLen = 2 and islastbar then begin
_shouldPlot = 1; // 設定為需要繪製
_addFlag = 0; // 設定為清除舊線 (只畫最後一根)
end;
end;

// ------------------------------
// 5. 繪製線條與指標
// ------------------------------
// 確保 CDP 值已計算完成 (CDP > 0 表示換日計算已執行且有效)
if _CDP > 0 then begin
Plot1(GetField("均價"), "均價"); // 繪製均價線 (Plot1)
Plot3(_ChangePercent, "漲跌幅(%)"); // 繪製即時漲跌幅 (Plot3)

// 根據 shouldPlot 判斷是否繪製水平線
if _shouldPlot = 1 then begin
// --- 繪製 CDP 相關線條 ---
PlotLine(4, _x1_bar, _AH, CurrentBar, _AH, "遠高", add:=_addFlag); // 繪製遠高線 (Plot4)
PlotLine(5, _x1_bar, _NH, CurrentBar, _NH, "近高", add:=_addFlag); // 繪製近高線 (Plot5)
PlotLine(6, _x1_bar, _CDP, CurrentBar, _CDP, "CDP", add:=_addFlag); // 繪製 CDP 線 (Plot6)
PlotLine(7, _x1_bar, _NL, CurrentBar, _NL, "近低", add:=_addFlag); // 繪製近低線 (Plot7)
PlotLine(8, _x1_bar, _AL, CurrentBar, _AL, "遠低", add:=_addFlag); // 繪製遠低線 (Plot8)
// --- 繪製前日與當日關鍵價位線條 ---
PlotLine(9, _x1_bar, _prevDayHigh, CurrentBar, _prevDayHigh, "前日高", add:=_addFlag); // 繪製前日高線 (Plot9)
PlotLine(10, _x1_bar, _prevDayLow, CurrentBar, _prevDayLow, "前日低", add:=_addFlag); // 繪製前日低線 (Plot10)
PlotLine(11, _x1_bar, _CC, CurrentBar, _CC, "前日收", add:=_addFlag); // 繪製前日收線 (Plot11)
PlotLine(12, _x1_bar, _OpenPrice, CurrentBar, _OpenPrice, "開盤", add:=_addFlag); // 繪製開盤價線 (Plot12)
// --- 繪製當日高低價與漲跌停價線條 ---
PlotLine(13, _x1_bar, _dayHigh, CurrentBar, _dayHigh, "日高", add:=_addFlag); // 繪製當日最高價 (Plot13)
PlotLine(14, _x1_bar, _dayLow, CurrentBar, _dayLow, "日低", add:=_addFlag); // 繪製當日最低價 (Plot14)
PlotLine(15, _x1_bar, GetField("漲停價", "D"), CurrentBar, GetField("漲停價", "D"), "漲停", add:=_addFlag); // 繪製漲停價線 (Plot15)
PlotLine(16, _x1_bar, GetField("跌停價", "D"), CurrentBar, GetField("跌停價", "D"), "跌停", add:=_addFlag); // 繪製跌停價線 (Plot16)
end;
end;
留言
avatar-img
留言分享你的想法!
avatar-img
回甘老茶湯
7會員
51內容數
像一壺值得細細品味的老茶,帶來一縷絲絲回甘的啟發。
回甘老茶湯的其他內容
2025/10/26
本指標腳本專為XQ交易系統設計,旨在提供台股大戶與散戶的籌碼行為分析,幫助使用者洞察市場參與者的動向,包括特大單、大戶與散戶的買賣差額、占比,以及相關衍生指標如吸籌倒貨指標、換手率與量比。透過計算買賣量差與金額差,本指標揭示特大單、大戶與散戶的交易行為,輔助判斷市場趨勢、吸籌或倒貨訊號。
Thumbnail
2025/10/26
本指標腳本專為XQ交易系統設計,旨在提供台股大戶與散戶的籌碼行為分析,幫助使用者洞察市場參與者的動向,包括特大單、大戶與散戶的買賣差額、占比,以及相關衍生指標如吸籌倒貨指標、換手率與量比。透過計算買賣量差與金額差,本指標揭示特大單、大戶與散戶的交易行為,輔助判斷市場趨勢、吸籌或倒貨訊號。
Thumbnail
2025/10/17
本腳本名為「快速KDJ指標」,是用XS語言撰寫的技術指標腳本,專門用於計算並顯示KDJ指標的相關數值與訊號。不僅計算標準的RSV(原始隨機值)、K值、D值,還額外計算J值(KD的加權變形值),並提供多種穿越訊號偵測功能,包括RSV與D線穿越、K與D線穿越,以及J值的極端超買/超賣與穿越訊號。
Thumbnail
2025/10/17
本腳本名為「快速KDJ指標」,是用XS語言撰寫的技術指標腳本,專門用於計算並顯示KDJ指標的相關數值與訊號。不僅計算標準的RSV(原始隨機值)、K值、D值,還額外計算J值(KD的加權變形值),並提供多種穿越訊號偵測功能,包括RSV與D線穿越、K與D線穿越,以及J值的極端超買/超賣與穿越訊號。
Thumbnail
2025/10/10
此指標以經典的On Balance Volume (OBV) 為基礎,計算成交量的累積變化,並透過短期和長期移動平均線(Moving Average)的差值,呈現成交量的動能柱狀圖。目的是幫助交易者識別市場的多空趨勢轉變、動能強弱,以及潛在的買賣訊號。
Thumbnail
2025/10/10
此指標以經典的On Balance Volume (OBV) 為基礎,計算成交量的累積變化,並透過短期和長期移動平均線(Moving Average)的差值,呈現成交量的動能柱狀圖。目的是幫助交易者識別市場的多空趨勢轉變、動能強弱,以及潛在的買賣訊號。
Thumbnail
看更多
你可能也想看
Thumbnail
本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
Thumbnail
本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
Thumbnail
本文章介紹了股市中常用的技術指標,如相對強弱指標(RSI)、隨機指標(KD)、移動平均線(MA)、動力指標(MTM)、指數平滑異同移動平均線(MACD)、寶塔線。透過這些指標,讓投資者能夠更好地瞭解股票的買賣力道、價格趨勢以及逆勢操作的時機。
Thumbnail
本文章介紹了股市中常用的技術指標,如相對強弱指標(RSI)、隨機指標(KD)、移動平均線(MA)、動力指標(MTM)、指數平滑異同移動平均線(MACD)、寶塔線。透過這些指標,讓投資者能夠更好地瞭解股票的買賣力道、價格趨勢以及逆勢操作的時機。
Thumbnail
本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
Thumbnail
本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
Thumbnail
本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
Thumbnail
本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
Thumbnail
本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
Thumbnail
本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。
Thumbnail
透過證交所提供的臺灣證券交易所發行量加權股價指數成分股暨市值比重,可以知道每一檔股票對指數所呈現的比重為多少。主要內容分享XQ報價源股價抓取、證交所加權股價指數成分股認識、加權指數貢獻點數計算、加權指數貢獻點數總表等,讓您可以瞭解主力的想法與控盤方式。
Thumbnail
透過證交所提供的臺灣證券交易所發行量加權股價指數成分股暨市值比重,可以知道每一檔股票對指數所呈現的比重為多少。主要內容分享XQ報價源股價抓取、證交所加權股價指數成分股認識、加權指數貢獻點數計算、加權指數貢獻點數總表等,讓您可以瞭解主力的想法與控盤方式。
Thumbnail
  本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。
Thumbnail
  本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。
Thumbnail
本文章分享了最新的大盤動向和技術指標統計分析,並提供了一些個股的觀察和操作建議。文章強調了看撐不看壓的理念,並詳細解釋瞭如何操作電腦週邊族群中的個股。此外,文章還提到了技術指標統計中的熱門股票,並提供了資金流向和族群性等相關訊息。
Thumbnail
本文章分享了最新的大盤動向和技術指標統計分析,並提供了一些個股的觀察和操作建議。文章強調了看撐不看壓的理念,並詳細解釋瞭如何操作電腦週邊族群中的個股。此外,文章還提到了技術指標統計中的熱門股票,並提供了資金流向和族群性等相關訊息。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News