ArrayPrint
In một mảng kiểu đơn giản hoặc cấu trúc đơn giản vào nhật ký.
void ArrayPrint(
const void& array[], // mảng được in
uint digits=_Digits, // số chữ số thập phân
const string separator=NULL, // dấu phân cách giá trị trường cấu trúc
ulong start=0, // chỉ số phần tử đầu tiên được in
ulong count=WHOLE_ARRAY, // số lượng phần tử được in
ulong flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN
);
2
3
4
5
6
7
8
Tham số
array[]
[in] Mảng kiểu đơn giản hoặc cấu trúc đơn giản.
digits=_Digits
[in] Số chữ số thập phân cho các kiểu thực. Giá trị mặc định là _Digits.
separator=NULL
[in] Dấu phân cách giá trị các trường của phần tử cấu trúc. Giá trị mặc định NULL
nghĩa là dòng trống. Trong trường hợp đó, một khoảng trắng được dùng làm dấu phân cách.
start=0
[in] Chỉ số của phần tử mảng đầu tiên được in. Mặc định in từ chỉ số 0.
count=WHOLE_ARRAY
[in] Số lượng phần tử mảng sẽ được in. Mặc định hiển thị toàn bộ mảng (count=WHOLE_ARRAY).
flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN
[in] Sự kết hợp các cờ thiết lập chế độ đầu ra. Mặc định tất cả các cờ đều được bật:
ARRAYPRINT_HEADER
– in tiêu đề cho mảng cấu trúcARRAYPRINT_INDEX
– in chỉ số ở phía bên tráiARRAYPRINT_LIMIT
– chỉ in 100 phần tử đầu tiên và 100 phần tử cuối cùng của mảng. Sử dụng nếu muốn in chỉ một phần của mảng lớn.ARRAYPRINT_ALIGN
– bật căn chỉnh giá trị in – số được căn phải, chuỗi được căn trái.ARRAYPRINT_DATE
– khi indatetime
, in ngày theo định dạng dd.mm.yyyyARRAYPRINT_MINUTES
– khi indatetime
, in thời gian theo định dạng HH:MMARRAYPRINT_SECONDS
– khi indatetime
, in thời gian theo định dạng HH:MM:SS
Giá trị trả về
Không có
Ghi chú
ArrayPrint()
không in tất cả các trường của mảng cấu trúc vào nhật ký – các trường mảng và con trỏ đối tượng bị bỏ qua. Các cột này đơn giản là không được in để trình bày thuận tiện hơn. Nếu bạn cần in tất cả các trường cấu trúc, bạn cần tự viết hàm in hàng loạt với định dạng mong muốn.
Ví dụ:
//--- in giá trị của 10 thanh cuối cùng
MqlRates rates[];
if(CopyRates(_Symbol,_Period,1,10,rates))
{
ArrayPrint(rates);
Print("Check\n[time]\t[open]\t[high]\t[low]\t[close]\t[tick_volume]\t[spread]\t[real_volume]");
for(int i=0;i<10;i++)
{
PrintFormat("[%d]\t%s\t%G\t%G\t%G\t%G\t%G\t%G\t%I64d\t",i,
TimeToString(rates[i].time,TIME_DATE|TIME_MINUTES|TIME_SECONDS),
rates[i].open,rates[i].high,rates[i].low,rates[i].close,
rates[i].tick_volume,rates[i].spread,rates[i].real_volume);
}
}
else
PrintFormat("CopyRates failed, error code=%d",GetLastError());
//--- ví dụ về việc in
/*
[time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
[0] 2016.11.09 04:00:00 1.11242 1.12314 1.11187 1.12295 18110 10 17300175000
[1] 2016.11.09 05:00:00 1.12296 1.12825 1.11930 1.12747 17829 9 15632176000
[2] 2016.11.09 06:00:00 1.12747 1.12991 1.12586 1.12744 13458 10 9593492000
[3] 2016.11.09 07:00:00 1.12743 1.12763 1.11988 1.12194 15362 9 12352245000
[4] 2016.11.09 08:00:00 1.12194 1.12262 1.11058 1.11172 16833 9 12961333000
[5] 2016.11.09 09:00:00 1.11173 1.11348 1.10803 1.11052 15933 8 10720384000
[6] 2016.11.09 10:00:00 1.11052 1.11065 1.10289 1.10528 11888 9 8084811000
[7] 2016.11.09 11:00:00 1.10512 1.11041 1.10472 1.10915 7284 10 5087113000
[8] 2016.11.09 12:00:00 1.10915 1.11079 1.10892 1.10904 8710 9 6769629000
[9] 2016.11.09 13:00:00 1.10904 1.10913 1.10223 1.10263 8956 7 7192138000
Check
[time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
[0] 2016.11.09 04:00:00 1.11242 1.12314 1.11187 1.12295 18110 10 17300175000
[1] 2016.11.09 05:00:00 1.12296 1.12825 1.1193 1.12747 17829 9 15632176000
[2] 2016.11.09 06:00:00 1.12747 1.12991 1.12586 1.12744 13458 10 9593492000
[3] 2016.11.09 07:00:00 1.12743 1.12763 1.11988 1.12194 15362 9 12352245000
[4] 2016.11.09 08:00:00 1.12194 1.12262 1.11058 1.11172 16833 9 12961333000
[5] 2016.11.09 09:00:00 1.11173 1.11348 1.10803 1.11052 15933 8 10720384000
[6] 2016.11.09 10:00:00 1.11052 1.11065 1.10289 1.10528 11888 9 8084811000
[7] 2016.11.09 11:00:00 1.10512 1.11041 1.10472 1.10915 7284 10 5087113000
[8] 2016.11.09 12:00:00 1.10915 1.11079 1.10892 1.10904 8710 9 6769629000
[9] 2016.11.09 13:00:00 1.10904 1.10913 1.10223 1.10263 8956 7 7192138000
*/
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