PlotK有這麼難嗎?
XQ在2024/09/05釋出了更新版 7.14.01 / 3.14.01,此版本除了有全新的定時洗價功能,還有一項敲碗已久的自訂K棒功能,終於可以自訂K棒的顏色,而且還能透過XS自行畫K棒,快點來看看這個自畫K棒的XS函數:
PlotK(序列編號, vOpen, vHigh, vLow, vClose, “序列名稱”)
PlotK共有五個參數,給定繪圖的序列編號,K棒的開高低收,以及序列名稱,便能在技術分析圖上畫出K棒了,要注意的是,開高低收必須符合基本的邏輯,也就是開跟收必須介於高跟低之間,貌似廢話,但在程式撰寫的時候,這四個值常是經過計算而得到的,只要一個小小的疏忽,那就會造成K棒一根都沒畫出來,畫到懷疑人生了。
先來試寫一個簡單的PlotK範例吧。
#1.PlotK⊕貓老大的小積木.01
以指標名稱:#1.PlotK⊕貓老大的小積木.01
指標作用:利用PlotK將關鍵K棒用高亮度實心K棒畫出,其餘K棒則使用空心K棒。
關鍵K棒:今日的收盤價 > 昨日的最高價+2Ticks 或 今日的收盤價 < 昨日的最低價-2Ticks。
核心程式碼如下:
if CurrentBar = 1 then
PlotK (11, Open, High, Low, Close, "~好棒棒")
else
begin
if Close > AddSpread (High[1], 2) or Close < AddSpread (Low[1], -2) then
PlotK (11, Open, High, Low, Close, "~好棒棒")
else
PlotK (12, Open, High, Low, Close, "~空心棒");
end;
在此指標中,將關鍵K棒PlotK到序列11的「~好棒棒」指標,其餘K棒則PlotK到序列12的「~空心棒」指標。
「~好棒棒」使用自訂K棒樣式,並將陽線實體與外框均設為高亮紅色,陰線則設為高亮綠色。


「~空心棒」則將陽線實體設為暗紅色,外框均淺紅色,陰線則設為暗綠色與淺綠色。


來看看實際執行的效果:


這指標說明了在主圖上,不僅可以自己PlotK,還可以Plot好幾個K,本指標就PlotK 序列11與12兩個K棒,實際在圖層顯示上,PlotK的圖層會在內建K棒的上層,因此會覆蓋掉內建K棒的顯示,當然若PlotK的開高低收無法覆蓋內建K棒時,亦可將內建K棒的顏色設為與底色(在本圖為黑色底)相同,便可達到塗抹掉內建K棒的效果。
不止能畫K棒,還能畫成交量?
在開發的過程中,進一步思考在PlotK的繪圖設定中,有陽線與陰線兩種K棒樣式,只要Close大於(等於)Open就畫陽線, Close小於Open就畫陰線,對應到技術分析圖上的視覺化呈現方式,是否任何可區分漲跌或正負的繪圖樣式,皆可利用PlotK來繪製呢?
#2.成交量⊕貓老大的小積木.01
首先第一個想到的就是成交量的視覺化,過去要自己畫成交量的紅K紅柱、黑K綠柱,需要Plot兩個柱圖,一個專畫紅柱,一個專畫綠柱,但若能改用PlotK,則只需要一個PlotK即可完成。
指標名稱:#2.成交量⊕貓老大的小積木.01
指標作用:利用PlotK將紅K對應的成交量用紅棒畫出,黑K棒對應的成交量則用綠棒。
核心程式碼如下:
if Close >= Open then
PlotK (11, 0, Volume, 0, Volume, "~Volume")
else
PlotK (11, Volume, Volume, 0, 0, "~Volume");
基於PlotK的呈現機制,紅K(Close >= Open)要畫陽線,所以給開盤價0,收盤價為當期成交量(Volume),而黑K(Close < Open)畫陰線,為了對齊零軸,因此給開盤價為當期成交量(Volume),收盤價為0,兩者的高都是Volume,低都是0。
PlotK的序列11繪圖設定如下,特意將框線採用灰色系,好增加識別度:


來看看實際執行的效果:


#3.成交量⊕貓老大的小積木.01
有了成交量,那是否可以利用PlotK的上影線來彰顯當日的當沖量呢?
指標名稱:#3.成交量⊕貓老大的小積木.01
指標作用:調整PlotK的實體對應到扣除當沖量的實際週轉成交量,上影線則對應到當沖量。
核心程式碼如下:
dayTradeVolume += IFF (GetFieldDate ("現股當沖張數") > 0, GetField ("現股當沖張數"), 0);
dayTradeVolume += IFF (GetFieldDate ("資券互抵張數") > 0, GetField ("資券互抵張數"), 0);
trueVolume = Volume - dayTradeVolume;
if Close >= Open then
PlotK (11, 0, Volume, 0, trueVolume, "~Volume")
else
PlotK (11, trueVolume, Volume, 0, 0, "~Volume");
當沖量有兩個,一個是現股當沖量,一個是融資券互抵量,將此兩個量加起來就是當沖量(dayTradeVolume),成交量減去當沖量就是當日實際要交割的週轉量(trueVolume)。
PlotK的序列11繪圖設定仍然維持#2.成交量的設定不變,執行效果如下:


看起來效果可以,這檔平日當沖佔比不高,突然有人搶親,於是大家搶著要,當沖佔比也從2%拉高到3%、4%,圖面上也可明顯看出上影線。
#4.成交量⊕貓老大的小積木.01
接下來想再往上疊一個小積木,就可以吃蛋糕了。
從交易的角度來看,極端值都是一個很值得關注的狀況,所以是不是能把創下歷史天量的成交量,在圖面上明顯地呈現出來呢?
要達到明顯的效果有兩種,一種就是用顏色區分,另一種則是採用標記,來試試看。
指標名稱:#4.成交量⊕貓老大的小積木.01
指標作用:將原本的PlotK調整為暗色系,出現歷史天量則新PlotK一個高亮色系。 核心程式碼如下:
if trueVolume > MaxTrueVolume then
begin
MaxTrueVolume = trueVolume;
MaxTrueVolumeBar = CurrentBar;
end;
if CurrentBar = MaxTrueVolumeBar then
begin
if Close >= Open then
PlotK (12, 0, Volume, 0, trueVolume, "~MaxTrueVolume")
else
PlotK (12, trueVolume, Volume, 0, 0, "~MaxTrueVolume");
end;
由於技術指標的執行是K棒從第一根(左到右)開始,那只要增加一個變數(MaxTrueVolume)來記錄到目前為止的最大量,每根K都去比較當根K的成交量是否大過MaxTrueVolume就可以了,這裡還有個小技巧,就是額外紀錄歷史天量K棒號(MaxTrueVolumeBar),如果想知道歷史天量距今多遠,只要拿CurrentBar- MaxTrueVolumeBar,就可以知道相差多少個交易日了。
PlotK的序列11繪圖設定調整為暗色系,新增加的序列12則採用高亮色系:




實際執行效果如下:


圖面效果還不錯,搶親前一個月已經先爆出歷史天量了,好了,到這裡可以吃一小片蛋糕了。
[VIP]外資不止買賣超?
前面有提到兩點,一是PlotK可繪製區分正負的圖面,另一個是可採用標記來達到明顯的效果,於是想到外資的買賣超其實隱含了幾項資訊,包括外資買張及外資賣張,資訊太多,容易造成圖面太花,進而影響解讀的效果,透過這兩個想法,來試試看繪製外資的買賣超資訊囉。
#5.外資⊕貓老大的小積木.01
先看一下XQ內建外資買賣超的呈現方式:


預期調整呈現的方式為:


若當日為買超,則實體棒為買超張數(買進-賣出),整根K棒為買進張數,那麼上影線就是賣出張數了;但若當日為賣超,則整根K棒為賣出張數,上影線則是買進張數。同樣採用高亮色系來呈現「歷史買賣超天量」。
與內建呈現方式不同的則是賣超不放在零軸以下,改採同向呈現,如此可一眼看出買賣力道的大小比較。
由於高亮色系已經拿來呈現「歷史買賣超天量」了,因此對於「歷史買進天量」/歷史賣出天量」,就採用標記的方式來呈現,馬上來看看效果吧。
指標名稱:#5.外資⊕貓老大的小積木.01
指標作用:一眼看出外資買賣張數與買賣超的力道,以及明顯呈現極端值歷史天量。 核心程式碼如下:
------------------------------
程式碼免費提供給VIP會員或付費購買
-------------------------------
繪圖設定如下:


實際執行效果:


是不是一眼就看出搶親前的歷史天量那兩根,都不是外資玩的,反而是停牌隔天,外資大買,然後又隔日沖賣光?
實際上由於可能有假外資隱身其中,因此對於外資買賣超,除了觀察極端值外,只要著重在連續性就足夠了,中長期是否處於持續買進或持續賣出的狀態,若要由此延伸出交易策略,那這個圖面呈現的資訊,就可以拿來好好研究了。
貓老大的小積木,下次再來一起堆積木吧。
檔案下載
檔案僅提供VIP會員下載或是付費購買,請點擊本連結付費購買
檔案使用說明
本文適用XQ 7.14.01/3.14.01以上版本,內文說明以XQ全球贏家(個人版)為主。
附檔「貓老大的小積木.01.zip」下載解壓縮後,可以找到XQ自訂頁面的檔案「貓老大的小積木.01.daox」,請從XQ主功能表 -> 「自訂頁面」 -> 「匯入頁面」,找到該檔案後匯入,匯入完成後,打開XQ主功能表 -> 「自訂頁面」 -> 「開啟舊頁」 的功能,找到 「貓老大的小積木」 資料夾,點進去可以找到「小積木01(貓老大)」頁面,開啟此頁面即可使用。
貓老大的其他好物
以下是貓老大的其他頁面,歡迎一起支持喔
發佈留言
很抱歉,必須登入網站才能發佈留言。