诚信为本
量力而为
当前位置:峰汇在线 ea编程知识 正文

IndicatorBuffers()函数用法说明

IndicatorBuffers()函数是MQL4中一个重要的函数,主要用在技术指标中设置指标缓存的数量和类型。指标缓存是在指标计算过程中存储中间结果的一组数组,能够有效地提高指标计算的速度。

IndicatorBuffers()函数的语法如下:

void IndicatorBuffers(int count);

其中,count参数表示指标缓存的数量,它必须大于0。

在MQL4指标程序中,IndicatorBuffers()函数通常是在初始化函数init()中调用,以设置指标缓存的数量和类型。在调用IndicatorBuffers()函数之后,我们还需要使用SetIndexBuffer()函数来设置每个缓存的类型和大小。例如:

   // Set the number of buffers and buffer types
   IndicatorBuffers(2);
   SetIndexBuffer(0, buffer1);
   SetIndexBuffer(1, buffer2);

在指标计算过程中,我们可以将指标值存储在这些缓存中,例如:

buffer1[0] = …; //计算指标值并存储在缓存0中
buffer2[0] = …; //计算指标值并存储在缓存1中

如果要在外部程序中访问缓存数据,可以使用iCustom()函数。例如:

double value1 = iCustom(_Symbol, _Period, "MyIndicator", 0, 0);
double value2 = iCustom(_Symbol, _Period, "MyIndicator", 1, 0);

其中,第一个参数表示当前交易品种的名称,第二个参数表示时间周期,第三个参数表示指标的名称,第四个参数表示要访问的缓存的索引,第五个参数表示要访问的缓存元素的偏移量。

IndicatorBuffers()函数可以大幅度提高指标计算的速度,尤其是在计算复杂技术指标时。它是MQL4中非常重要的一个函数。

版权所有转载请注明标题及链接:峰汇在线 » IndicatorBuffers()函数用法说明