下载MetaTrader 5

CopyOpen

函数在特定量中获得指定交易品种周期的特定开盘价格数据到open_array数据中。元素注释的命令是从现在到过去,例如,从当前位置0开始表示当前字节。

CopyOpen

当复制未知数量数据时,推荐使用 动态数组 为目标数组,因为如果要求数据账户少于(或多于)目标数值的长度,函数试图重新分配内存以完全适应要求数据。

如果知道所需复制的数据数量,为了阻止内存过多分配,最好使用 静态分配缓冲区

无论目标数组- as_series=true 或者 as_series=false的属性是什么,数据就会复制,以至于最旧的数组元素会在记忆内存开始中放置。有3个变量函数可供调用。

调用第一位置和要求元素的数量

int  CopyOpen(
   string           symbol_name,     // 交易品种名称
   ENUM_TIMEFRAMES  timeframe,       // 周期
   int              start_pos,       // 启动位置
   int              count,           // 复制的数据计算
   double           open_array[]     // 复制开仓时间的目标数组
   );

调用起始位置日期和要求元素数量

int  CopyOpen(
   string           symbol_name,     // 交易品种名称
   ENUM_TIMEFRAMES  timeframe,       // 周期
   datetime         start_time,      // 启动日期和时间
   int              count,           // 复制的数据计算
   double           open_array[]     // 用于开盘柱的目标数组
   );

调用起始位置和要求时间间隔的日期末尾

int  CopyOpen(
   string           symbol_name,     // 交易品种名称
   ENUM_TIMEFRAMES  timeframe,       // 周期
   datetime         start_time,      // 启动日期和时间
   datetime         stop_time,       // 结束日期和时间
   double           open_array[]     // 用于开盘柱的目标数组
   );

参量

symbol_name

[in]  交易品种名称。

timeframe

[in]  周期。

start_pos

[in]  复制的第一元素起始位置。

count

[in]  复制的数据点。

start_time

[in]  复制的第一元素起始时间。

stop_time

[in]  复制的最后元素的起始时间。

open_array[]

[out] 双精度 类型数组

返回值

返回数组中元素数量或者错误情况下-1。

注释

如果要求的数据的全部间隔没有在可行数据的服务器中,函数返回-1,如果外部数据TERMINAL_MAXBARS(图表中的最大字节量)是要求的,函数也会返回-1。

当向指标要求数据,如果要求的时序列没有建立或者需要从服务器上下载,函数很快会返回-1,但是下载/建立的过程将会开始。

当EA交易或脚本要求数据时,来自服务器的下载会开始,如果终端本地没有这些数据,要求建立的时序列就会开始,如果数据可以从本地历史建立但尚未准备好。函数在超时期满时,会返回一定数量的准备好的数据,但是历史下载会继续,在下一个类似要求函数中会返回更多数据。

当通过起始日期和所需的元素数量请求数据时,只有日期小于(早于)或等于指定日期的数据。这意味着,任何柱的开盘时间的返回值(交易量,点差,指标缓冲区,开盘价,最高价,最低价,收盘价或开盘时间)始终少于或等于指定的值。

当在日期指定范围内要求数据,只有间隔中的数据才能返回,间隔建立并指到秒。这表示,任意字节的开始时间,返回的值(成交量,传播,指标缓冲区的值,开仓价,最高阶,最低价,收盘价或者开仓时间)是间隔要求范围内的。

因此,如果当前日期是星期六,想要复制指定的一周的时间表 start_time=Last_Tuesdaystop_time=Last_Friday ,函数的返回值是0,因为每周开盘时间是星期日,但是一周字节不能分成特殊的间隔。

如果需要返回与当前未完成字节相类似的值,可以调用指定的start_pos=0和count=1第一种形式。

请见对象绑定方法部分请求数据历史记录的详细示例。该部分可用的脚本显示了如何获得最近1000柱上指标iFractals 的值和如何显示过去10的上下分形图。类似的技术可以用于所有丢失数据的指标并通常使用以下类型绘制: