ArrayIsSeries
Hàm này kiểm tra xem một mảng có phải là chuỗi thời gian hay không.
cpp
bool ArrayIsSeries(
const void& array[] // mảng được kiểm tra
);
1
2
3
2
3
Tham số
array[]
[in] Mảng được kiểm tra.
Giá trị trả về
Trả về true nếu mảng được kiểm tra là một chuỗi thời gian, ngược lại trả về false. Các mảng được truyền làm tham số cho hàm OnCalculate() phải được kiểm tra thứ tự truy cập các phần tử mảng bằng ArrayGetAsSeries().
Ví dụ:
cpp
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots 1
//---- vẽ Label1
#property indicator_label1 "Label1"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrRed
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
//--- bộ đệm chỉ báo
double Label1Buffer[];
//+------------------------------------------------------------------+
//| Hàm khởi tạo chỉ báo tùy chỉnh |
//+------------------------------------------------------------------+
void OnInit()
{
//--- ánh xạ bộ đệm chỉ báo
SetIndexBuffer(0,Label1Buffer,INDICATOR_DATA);
//---
}
//+------------------------------------------------------------------+
//| Hàm lặp chỉ báo tùy chỉnh |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
if(ArrayIsSeries(open))
Print("open[] là chuỗi thời gian");
else
Print("open[] không phải chuỗi thời gian!!!");
//--- trả về giá trị của prev_calculated cho lần gọi tiếp theo
return(rates_total);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42