Sao chép chuỗi thời gian vào ma trận và vector
Phương thức matrix<T>::CopyRates
sao chép chuỗi thời gian với lịch sử báo giá trực tiếp vào một ma trận hoặc vector. Phương thức này hoạt động tương tự như các hàm mà chúng ta sẽ đề cập chi tiết trong Phần 5, trong chương về chuỗi thời gian, cụ thể là: CopyRates và các hàm Copy riêng biệt cho từng trường của cấu trúc MqlRates.
bool matrix<T>::CopyRates(const string symbol, ENUM_TIMEFRAMES tf, ulong rates_mask, ulong start, ulong count)
bool matrix<T>::CopyRates(const string symbol, ENUM_TIMEFRAMES tf, ulong rates_mask, datetime from, ulong count)
bool matrix<T>::CopyRates(const string symbol, ENUM_TIMEFRAMES tf, ulong rates_mask, datetime from, datetime to)
Trong các tham số, bạn cần chỉ định ký hiệu, khung thời gian và phạm vi các thanh được yêu cầu: theo số lượng và số lượng, hoặc theo khoảng thời gian. Dữ liệu được sao chép sao cho phần tử cũ nhất được đặt ở đầu ma trận/vector.
Tham số rates_mask
chỉ định một tổ hợp các cờ từ bảng liệt kê ENUM_COPY_RATES với tập hợp các trường có sẵn. Tổ hợp các cờ cho phép bạn lấy nhiều chuỗi thời gian từ lịch sử trong một yêu cầu. Trong trường hợp này, thứ tự các hàng trong ma trận sẽ tương ứng với thứ tự các giá trị trong bảng liệt kê ENUM_COPY_RATES, đặc biệt, hàng chứa dữ liệu High
trong ma trận sẽ luôn nằm trên hàng chứa dữ liệu Low
.
Khi sao chép vào một vector, chỉ một giá trị từ bảng liệt kê ENUM_COPY_RATES có thể được chỉ định. Nếu không, sẽ xảy ra lỗi.
Định danh | Giá trị | Mô tả |
---|---|---|
COPY_RATES_OPEN | 1 | Giá Open |
COPY_RATES_HIGH | 2 | Giá High |
COPY_RATES_LOW | 4 | Giá Low |
COPY_RATES_CLOSE | 8 | Giá Close |
COPY_RATES_TIME | 16 | Thời gian mở thanh |
COPY_RATES_VOLUME_TICK | 32 | Khối lượng tick |
COPY_RATES_VOLUME_REAL | 64 | Khối lượng thực |
COPY_RATES_SPREAD | 128 | Chênh lệch giá |
Tổ hợp | ||
COPY_RATES_OHLC | 15 | Open, High, Low, Close |
COPY_RATES_OHLCT | 31 | Open, High, Low, Close, Time |
Chúng ta sẽ xem ví dụ về cách sử dụng hàm này trong phần Giải phương trình.