2016年9月8日

如何正確使用/顯示成交量(Volume、Ticks)

在MultiCharts官網(凱衛)討論區有許多關於成交量的質疑與討論,剛接觸的人很容易搞混,以下簡單歸納說明。

在線圖上秀出成交量(Volume指標)

在商品設定中可以選擇設定「成交量計算方式」,預設值是「成交股(口)數」,就是一般報價軟體成交量,而「成交筆數」就是不問口數,每一筆成交計為1口。基本上這邊不用特地去動設定值,採用預設即可。

接下來新增Volume指標至線圖中,如下圖所示,就跟我們一般的報價軟體一樣的成交量柱狀圖。 

到這邊使用上很簡單,不過有柯南精神的人仔細去對每根K棒的成交量就會發現怎麼跟報價軟體的有些微差異。根據MC官方說法,主要是因為報價軟體的分線規法邏輯不同,MC提供兩種分線歸法如下:

一種是前歸法(台灣分線歸法)即從01-00歸分
一種是後歸法(國際分線歸法)即從00-59歸分
但不管使用任何分線歸分法,每日第一根K棒皆是從00-00,以上兩種歸分法可至QuoteManager中作後續設定(工具 >> 數據源 >> President MultiCharts)

不過MC官方不建議使用者去改歸分設定,變通作法是把分K線改用秒K線取代,如下圖所示在商品設定中把1分K改用60秒,5分K改用300秒,這樣成交量就基本會跟其他報價軟體一致了。附帶一提,改用秒K一樣可以跑策略及自動交易,就看使用這自己習不習慣了。

在PowerLanguage中如何正確使用成交量函式

直覺上都會用Volume這個內建函式,結果執行訊號或指標都是錯的。成交量正確的用法是在日線級以上K線圖要用函式「Volume」,分線級則要用函式「Ticks」。例如,要劃出最近20根棒均量(線圖為5分線),語法如下:

value1=average(Ticks,20);
plot1(value1);

跟成交量放在同一個副圖如下,就是我們一般軟體看到的均量線:

為了防止Volume跟Ticks錯用,最後還有一招就是另外寫一個_Volume函式,讓程式自己判斷線圖是分線還是日線以上:

if BarType >= 2 then
 _Volume =  Volume
else
 _Volume =  Ticks;