CopyTicksRange

按指定日期范围,获取 MqlTick 结构的跳价,并存储到矩阵或向量之中。 元素顺序从过去到现在计数,这意味着索引为 0 的跳价是最久远的。 若要分析跳价,检查 flags 字段,其显示跳价中的确切变化。

bool  matrix::CopyTicksRange(
   string           symbol,                // 品名
   ulong            flags,                 // 指示欲接收跳价类型的标志
   ulong            from_msc,              // 欲请求跳价的起始时间
   ulong            to_msc                 // 欲请求跳价的截止时间
   );

向量方法

bool  vector::CopyTicksRange(
   string           symbol,                // 品名
   ulong            flags,                 // 指示欲接收跳价类型的标志
   ulong            from_msc,              // 欲请求跳价的起始时间
   ulong            to_msc                 // 欲请求跳价的截止时间
   );

参数

symbol

[输入]  品种。

flags

[输入] ENUM_COPY_TICKS 枚举中的标志组合,指示所请求数据的内容。当复制到向量时,只能从 ENUM_COPY_TICKS 枚举中指定一个值,否则会发生错误。

from_msc

[输入]  请求跳价的开始时间。 自 1970 年 01 月 01 日起,时间以毫秒为单位指定。 如果未指定 “from_msc” 参数,则跳价从头开始返回历史记录。 即返回时间 >= from_msc 的跳价。

to_msc

[输入]  请求截止的跳价时间。 自 1970 年 01 月 01 日起,时间以毫秒为单位指定。 返回时间 <= to_msc 的跳价。 如果未指定 to_msc 参数,则返回截至历史记录结束之前的所有跳价。

返回值

成功时返回 true,如果发生错误则返回 false。 GetLastError() 能返回以下错误:

  • ERR_HISTORY_TIMEOUT ― 跳价同步的超时已过期,函数返回它已拥有的一切。
  • ERR_HISTORY_SMALL_BUFFER ― 静态缓存区太小。 仅返回数组可以存储的数量。
  • ERR_NOT_ENOUGH_MEMORY ― 内存不足,无法将指定范围的历史数据接收到动态跳价数组之中。 为跳价数组分配足够内存失败。

 

分析跳价标志以便找出哪些数据已变化:

  • TICK_FLAG_BID ― 跳价改变了出价
  • TICK_FLAG_ASK ― 跳价改变了要价
  • TICK_FLAG_LAST ― 跳价改变了最后成交价
  • TICK_FLAG_VOLUME ― 跳价改变了交易量
  • TICK_FLAG_BUY ― 跳价是买入成交的结果
  • TICK_FLAG_SELL ― 跳价是卖出成交的结果

注意

CopyTicksRange() 方法请求的跳价精确到指定范围。 例如,历史记录中指定日期的跳价。 CopyTicks() 只允许指定开始日期,例如,接收从月初到现在的所有跳价。

参见

访问时间序列和指标CopyTicksRange