获取价格数组的特性
在读取时间序列数组之前,我们应确保这些数组可用且具备所需特性。SeriesInfoInteger函数可检索基本特性,例如终端和服务器上可用历史数据的深度、特定交易品种/时间范围组合已构建的柱线数量,以及终端与服务器之间的报价是否存在差异。
该函数具有两种形式:第一种形式直接返回请求的特性值(类型为 long),第二种形式使用按引用传递的第四个参数result。在这种情况下,第二种形式会返回一个表示成功 (true) 或错误 (false) 的标志。无论哪种情况,都可以使用 GetLastError 函数找到错误代码。
long SeriesInfoInteger(const string symbol, ENUM_TIMEFRAMES timeframe, ENUM_SERIES_INFO_INTEGER property)
bool SeriesInfoInteger(const string symbol, ENUM_TIMEFRAMES timeframe, ENUM_SERIES_INFO_INTEGER property, long &result)
该函数允许你查询指定交易品种和时间范围的时间序列特性,或整个交易品种历史数据的相关特性。所请求的特性由第三个参数(类型为 ENUM_SERIES_INFO_INTEGER)标识。此枚举包括所有可用特性:
标识符 |
说明 |
特性类型 |
|---|---|---|
SERIES_BARS_COUNT |
按交易品种/周期统计的柱线数量,请参阅 Bars |
long |
SERIES_FIRSTDATE |
按交易品种/周期统计的首根柱线日期 |
datetime |
SERIES_LASTBAR_DATE |
按交易品种/周期统计的最近一根柱线开盘时间 |
datetime |
SERIES_SYNCHRONIZED |
终端和服务器上按交易品种/周期统计的数据同步标志 |
bool |
SERIES_SERVER_FIRSTDATE |
服务器上按交易品种统计的历史最早日期(与周期无关) |
datetime |
SERIES_TERMINAL_FIRSTDATE |
客户端终端上按交易品种统计的历史最早日期(与周期无关) |
datetime |
根据特性的本质,生成的值应转换为特定类型的值(请参阅 Property type这一列)。
所有特性数据均实时返回当前最新值。
SeriesInfo.mq5脚本提供了一个查询所有特性的示例。
void OnStart()
|
以下是 MQ 演示服务器上针对 EURUSD、H1 所获得的结果示例:
SeriesInfoInteger(NULL,0,SERIES_BARS_COUNT)=10001 / ok
|