将分时报价历史记录复制到矩阵或向量

与柱线一样,你可以将分时报价复制到向量或矩阵。通过 CopyTicksCopyTicksRange 方法重载即可实现。它们的工作原理依据类似于 CopyTicksCopyTicksRange 函数,但它们将数据接收到调用方中。这些函数将在第五章中关于 真实分时报价数组MqlTick 结构体)一节中详述。在这里我们将仅描述原型和要点。

bool matrix<T>::CopyTicks(const string symbol, uint flags, ulong from_msc, uint count)

bool vector<T>::CopyTicks(const string symbol, uint flags, ulong from_msc, uint count)

bool matrix<T>::CopyTicksRange(const string symbol, uint flags, ulong from_msc, ulong to_msc)

bool matrix<T>::CopyTicksRange(const string symbol, uint flags, ulong from_msc, ulong to_msc)

symbol 参数设置为其请求分时报价的金融工具的名称。分时报价范围可以不同的方式指定:

  • CopyTicks 中,可以指定为分时报价数(count 参数),从毫秒单位的某一刻 (from_msc) 开始。
  • CopyTicksRange 中,它可以是两个时间点的范围(从 from_mscto_msc)。

至于复制的数据要包含每个分时报价的哪些组成部分,可在 flags 参数中以 ENUM_COPY_TICKS 枚举值的位掩码指定。

标识符

说明

COPY_TICKS_INFO

1

Bid 和/或 Ask 变化生成的分时报价

COPY_TICKS_TRADE

2

LastVolume 变化生成的分时报价

COPY_TICKS_ALL

3

所有分时报价

COPY_TICKS_TIME_MS

1 << 8

以毫秒为单位的时间

COPY_TICKS_BID

1 << 9

Bid 价格

COPY_TICKS_ASK

1 << 10

Ask 价格

COPY_TICKS_LAST

1 << 11

Last 价格

COPY_TICKS_VOLUME

1 << 12

交易量

COPY_TICKS_FLAGS

1 << 13

分时报价标志

前三位(低字节)确定请求的分时报价集,而其余位(高字节)确定这些分时报价的特性。

高字节标志只能用于矩阵组合,因为仅具有来自所有分时报价的特定字段的值的一行放在向量中。因此,应仅选择最高有效字节的一位来填充向量。

在填充矩阵的过程中选择分时报价的若干特性时,其中的行顺序将对应于枚举中元素的顺序。例如,Bid 价格将始终出现在高于具有 Ask 价格的行的具有更低索引的行中。

处理分时报价和向量的一个示例将在关于 机器学习的章节中提供。