貓老大的小積木.01 – PlotK,不止能畫K棒?

0Shares
Image

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棒樣式,並將陽線實體與外框均設為高亮紅色,陰線則設為高亮綠色。

好棒棒

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

Image Not FoundImage Not Found
空心棒

來看看實際執行的效果:

PlotKPlotK
PlotK執行效果

這指標說明了在主圖上,不僅可以自己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繪圖設定如下,特意將框線採用灰色系,好增加識別度:

KK
成交量K棒設定

來看看實際執行的效果:

KK
成交量K棒
#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.成交量的設定不變,執行效果如下:

KK
成交量K棒+上影線

看起來效果可以,這檔平日當沖佔比不高,突然有人搶親,於是大家搶著要,當沖佔比也從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則採用高亮色系:

KK
原成交量K棒設定
KK
新成交量K棒設定

實際執行效果如下:

KK
新成交量K棒顯示結果

圖面效果還不錯,搶親前一個月已經先爆出歷史天量了,好了,到這裡可以吃一小片蛋糕了。

[VIP]外資不止買賣超?

前面有提到兩點,一是PlotK可繪製區分正負的圖面,另一個是可採用標記來達到明顯的效果,於是想到外資的買賣超其實隱含了幾項資訊,包括外資買張及外資賣張,資訊太多,容易造成圖面太花,進而影響解讀的效果,透過這兩個想法,來試試看繪製外資的買賣超資訊囉。

#5.外資⊕貓老大的小積木.01

先看一下XQ內建外資買賣超的呈現方式:

Image Not FoundImage Not Found
XQ內建外資買賣超呈現方式

預期調整呈現的方式為:

外資買賣超設定概念

若當日為買超,則實體棒為買超張數(買進-賣出),整根K棒為買進張數,那麼上影線就是賣出張數了;但若當日為賣超,則整根K棒為賣出張數,上影線則是買進張數。同樣採用高亮色系來呈現「歷史買賣超天量」。

與內建呈現方式不同的則是賣超不放在零軸以下,改採同向呈現,如此可一眼看出買賣力道的大小比較。

由於高亮色系已經拿來呈現「歷史買賣超天量」了,因此對於「歷史買進天量」/歷史賣出天量」,就採用標記的方式來呈現,馬上來看看效果吧。

指標名稱:#5.外資⊕貓老大的小積木.01

指標作用:一眼看出外資買賣張數與買賣超的力道,以及明顯呈現極端值歷史天量。 核心程式碼如下:


------------------------------

程式碼免費提供給VIP會員或付費購買

-------------------------------

繪圖設定如下:

外資買賣超設定

實際執行效果:

KK
外資買賣超成交量K棒

是不是一眼就看出搶親前的歷史天量那兩根,都不是外資玩的,反而是停牌隔天,外資大買,然後又隔日沖賣光?

實際上由於可能有假外資隱身其中,因此對於外資買賣超,除了觀察極端值外,只要著重在連續性就足夠了,中長期是否處於持續買進或持續賣出的狀態,若要由此延伸出交易策略,那這個圖面呈現的資訊,就可以拿來好好研究了。

貓老大的小積木,下次再來一起堆積木吧。

檔案下載

檔案僅提供VIP會員下載或是付費購買,請點擊本連結付費購買

檔案使用說明

本文適用XQ 7.14.01/3.14.01以上版本,內文說明以XQ全球贏家(個人版)為主。

附檔「貓老大的小積木.01.zip」下載解壓縮後,可以找到XQ自訂頁面的檔案「貓老大的小積木.01.daox」,請從XQ主功能表 -> 「自訂頁面」 -> 「匯入頁面」,找到該檔案後匯入,匯入完成後,打開XQ主功能表 -> 「自訂頁面」 -> 「開啟舊頁」 的功能,找到 「貓老大的小積木」 資料夾,點進去可以找到「小積木01(貓老大)」頁面,開啟此頁面即可使用。

貓老大的其他好物

以下是貓老大的其他頁面,歡迎一起支持喔

0Shares


發佈留言

在〈貓老大的小積木.01 – PlotK,不止能畫K棒?〉中有 2 則留言

  1. 「sam0830」的個人頭像
    sam0830

    貓老大您好:
    我付費購買後,沒有”貓老大的小積木.01.daox” 這個檔案,可以麻煩確認嗎?謝謝

    1. 「貓老大」的個人頭像
      貓老大

      Hi sam0830.
      已經重新上傳了,請再試試囉

相關文章

如何運用AI修正XS程式碼錯誤

現在很多人都在用AI來寫程式,使用XQ的你,是不是超級羨慕也去嘗試讓AI撰寫XS程式碼了呢? 相信你試過之後的結果都會很失望吧,你以為他給你的是XS程式碼,但常常都是其他軟體的語法。

[AI] 定期定額投資績效計算頁面

定期定額投資的績效表現在XQ上並不容易回測,本文將會介紹我如何運用量化交易實驗室的AI,在短時間內就寫出一個可以計算定期定投入績效的XQ看盤頁面。

[VIP] 投資節目老師報明牌行不行

如果還沒看到前一篇的文章,可以先閱讀下,這篇主要是說明頁面我做了那些調整,跟我觀察到的心得分享,希望對大家有幫助。

投資節目老師報明牌行不行

前幾天在搜薄碩士論文的時候,看到一篇有趣的研究,研究標題是-投資理財節目異常推介有價證券與投資人行為及報酬率檢視-以上櫃公司為例,相信很多人都會跟我一樣想要知道老師報的明牌到底有沒有用吧,結論是大部分情況是有用,不過研究只有一年,到底現在還能不能用呢?用了個頁面讓大家自己研究研究

最近發文

加入我們

Categories

最新留言