CopyTicksRange
Lấy các tick từ cấu trúc MqlTick vào một ma trận hoặc vector trong khoảng ngày được chỉ định. Các phần tử được đếm từ quá khứ đến hiện tại, nghĩa là tick với chỉ số 0 là tick lâu đời nhất. Để phân tích một tick, kiểm tra trường flags để biết chính xác điều gì đã thay đổi trong tick.
bool matrix::CopyTicksRange(
string symbol, // tên biểu tượng
ulong flags, // cờ chỉ định loại tick được nhận
ulong from_msc, // thời gian từ đó tick được yêu cầu
ulong to_msc // thời gian đến đó tick được yêu cầu
);
2
3
4
5
6
Phương thức Vector
bool vector::CopyTicksRange(
string symbol, // tên biểu tượng
ulong flags, // cờ chỉ định loại tick được nhận
ulong from_msc, // thời gian từ đó tick được yêu cầu
ulong to_msc // thời gian đến đó tick được yêu cầu
);
2
3
4
5
6
Tham số
symbol
[in] Biểu tượng.
flags
[in] Tổ hợp các cờ từ liệt kê ENUM_COPY_TICKS chỉ định nội dung của dữ liệu được yêu cầu. Khi sao chép vào vector, chỉ có thể chỉ định một giá trị từ liệt kê ENUM_COPY_TICKS, nếu không sẽ xảy ra lỗi.
from_msc
[in] Thời gian bắt đầu từ đó các tick được yêu cầu. Thời gian được chỉ định bằng mili giây kể từ 01/01/1970. Nếu tham số from_msc
không được chỉ định, các tick từ đầu lịch sử sẽ được trả về. Các tick với thời gian >= from_msc
sẽ được trả về.
to_msc
[in] Thời gian đến đó các tick được yêu cầu. Thời gian được chỉ định bằng mili giây kể từ 01/01/1970. Các tick với thời gian <= to_msc
sẽ được trả về. Nếu tham số to_msc
không được chỉ định, tất cả các tick đến cuối lịch sử sẽ được trả về.
Giá trị trả về
Trả về true
nếu thành công hoặc false
nếu xảy ra lỗi. GetLastError() có thể trả về các lỗi sau:
ERR_HISTORY_TIMEOUT
— thời gian chờ đồng bộ hóa tick đã hết, hàm trả về tất cả những gì nó có.ERR_HISTORY_SMALL_BUFFER
— bộ đệm tĩnh quá nhỏ. Chỉ trả về số lượng mà mảng có thể lưu trữ.ERR_NOT_ENOUGH_MEMORY
— không đủ bộ nhớ để nhận dữ liệu lịch sử từ khoảng được chỉ định vào mảng tick động. Không thể cấp phát đủ bộ nhớ cho mảng tick.
Phân tích các cờ tick để tìm hiểu dữ liệu nào đã thay đổi:
TICK_FLAG_BID
— tick đã thay đổi giá BidTICK_FLAG_ASK
— tick đã thay đổi giá AskTICK_FLAG_LAST
— tick đã thay đổi giá giao dịch cuối cùngTICK_FLAG_VOLUME
— tick đã thay đổi khối lượngTICK_FLAG_BUY
— tick là kết quả của một giao dịch muaTICK_FLAG_SELL
— tick là kết quả của một giao dịch bán
Ghi chú
Phương thức CopyTicksRange()
được sử dụng để yêu cầu các tick từ chính xác khoảng được chỉ định. Ví dụ, các tick cho một ngày cụ thể trong lịch sử. CopyTicks()
cho phép chỉ định chỉ ngày bắt đầu, ví dụ, để nhận tất cả các tick từ đầu tháng đến nay.
Xem thêm