累計值的寫法

By | 2018-12-19

有網友問到,如果想要在一分鐘的期指上,畫出今天開盤迄今上漲量累計值減下跌量累計值的指標,應該怎麼畫? 我想可能有不少朋友都曾經起心動念,想要把當天一分鐘,五分鐘,一小時等不同頻率的數據,計算出一個當天的累計值,作為交易的參考,所以我們今天就來探討,這樣的想法要如何落實為程式碼。

首先,請大家先看一個系統內建的指標:累積量。這是在計算當天到目前為止的成交量,讓使用者雖然使用日頻率以下的頻率寫腳本,也可以計算出當天累積到目前為止的成交量。

系統提供的腳本是這麼寫的

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,"累計上漲減下跌量");

根據這個腳本畫出來的圖如下

2018122001

這重腳本的寫法有幾個重點

一,先確定每天的第一根值怎麼算出來

二,確定第二根開始之後怎麼累計

三,然後才是去寫不同累計值之間的運算