有網友問到,如果想要在一分鐘的期指上,畫出今天開盤迄今上漲量累計值減下跌量累計值的指標,應該怎麼畫? 我想可能有不少朋友都曾經起心動念,想要把當天一分鐘,五分鐘,一小時等不同頻率的數據,計算出一個當天的累計值,作為交易的參考,所以我們今天就來探討,這樣的想法要如何落實為程式碼。
首先,請大家先看一個系統內建的指標:累積量。這是在計算當天到目前為止的成交量,讓使用者雖然使用日頻率以下的頻率寫腳本,也可以計算出當天累積到目前為止的成交量。
系統提供的腳本是這麼寫的
1variable:tv(0);//當日累積量~ 宣告要計算的累計值 2 3if date<>date[1] then // 當不同天期時的第一根要怎麼計算 4 tv=volume 5else //非當天第一根的累計規則 6 tv=tv[1]+volume; 7 8plot1(tv,"累積量");
這個腳本很清晰地呈現常日累計值的寫法
所以根據這樣的例子,我們就可以來寫累計上漲量減下跌量的腳本了
1//計算累積上漲量 2variable:upvolume(0);//當日累積上漲量 3//先定義累積上漲量的計算方法 4if date<>date[1]and close>=open 5then upvolume=volume 6//以上是定義當天第一根上漲量 7else begin 8//以下是定義從第二根起累計上漲量的寫法 9if close>=open then 10upvolume=upvolume[1]+volume 11else 12upvolume=upvolume[1]; 13end; 14 15//計算累計下跌量,作法跟累計上漲量一樣 16 17variable:downvolume(0);//當日累計下漲量 18if date<>date[1]and close<open 19then downvolume=volume 20else begin 21if close<open then 22downvolume=downvolume[1]+volume 23else 24downvolume=downvolume[1]; 25end; 26//分別算出累計上漲量與下跌量後 27//拿累計上漲量減去下跌量 28value1=upvolume-downvolume; 29 30 31plot1(value1,"累計上漲減下跌量");
根據這個腳本畫出來的圖如下
這重腳本的寫法有幾個重點
一,先確定每天的第一根值怎麼算出來
二,確定第二根開始之後怎麼累計
三,然後才是去寫不同累計值之間的運算