将时间序列复制到矩阵和向量

matrix<T>::CopyRates 方法将具有报价历史记录的时间序列直接复制到矩阵或向量。该方法的工作方式类似于我们将在第五章关于 时间序列章节中提到的函数,即: CopyRates 和单独的 Copy 函数 ,用于 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)

在这些参数中,你需要指定交易品种、时间范围以及请求的柱线的范围:按编号和数量,或按日期范围。复制数据时,将最旧的元素放在矩阵/向量的开头。

rates_mask 参数指定带有一组可用字段的来自 ENUM_COPY_RATES 枚举的标志组合。该标记组合允许你在一个请求中从历史记录获取若干时间序列。在此情况下,矩阵中的行顺序将对应于 ENUM_COPY_RATES 枚举中的值顺序,尤其是矩阵中具有 High 数据的行将始终在具有 Low 数据的行上面。

复制到向量时,仅可指定一个来自 ENUM_COPY_RATES 枚举的值。否则将会出错。

标识符

说明

COPY_RATES_OPEN

1

Open 价格

COPY_RATES_HIGH

2

High 价格

COPY_RATES_LOW

4

Low 价格

COPY_RATES_CLOSE

8

Close 价格

COPY_RATES_TIME

16

柱线打开次数

COPY_RATES_VOLUME_TICK

32

分时报价交易量

COPY_RATES_VOLUME_REAL

64

真实交易量

COPY_RATES_SPREAD

128

点差

 

组合

COPY_RATES_OHLC

15

Open, High, Low, Close

COPY_RATES_OHLCT

31

Open, High, Low, Close, Time

我们将在 解方程 一节查看该函数的使用示例。