萌新入门问题,坐等大佬

TL_TL_TL  
void CandleSizeOnBuffer(const int rates_total,
                        const int prev_calculated,
                        const double &first[],
                        const double &second[],
                        double &buffer[])
  {
//--- 计算柱形的开始变量
   int start=prev_calculated;
//--- 如果前一个订单号已经计算了指标值,那么使用最近的柱
   if(prev_calculated>0)
      start--;
//--- 定义数组的标引导向
   bool as_series_first=ArrayGetAsSeries(first);
   bool as_series_second=ArrayGetAsSeries(second);
   bool as_series_buffer=ArrayGetAsSeries(buffer);
//--- 如果有必要,直接替代标引导向
   if(as_series_first)
      ArraySetAsSeries(first,false);
   if(as_series_second)
      ArraySetAsSeries(second,false);
   if(as_series_buffer)
      ArraySetAsSeries(buffer,false);
//--- 计算指标值
   for(int i=start;i<rates_total;i++)
      buffer[i]=MathAbs(first[i]-second[i]);

  }


1,“void  CandleSizeOnBuffer”,我理解是封装的类,以后方便调用。  "const" 是什么意思, "&first[]"  &这个符号是什么意思?

2,  prev_calculated的值是0, rates_total的值是所有K线根数,这两个数值是怎么附进去的?尤其是 rates_total在没有赋值的情况下,它是怎么把k线根数展示出来的?

3,如何获取到所有K线的数组,例如,建立一个a【】数组, 怎么把所有K线的价格数据赋予这个数组a【】

TL_TL_TL  
Li Bo #:

1. "&first[]" 的&,意思是引用但不改变内容。

3. 时间序列和指标访问 

 3,我已经用mqlrate 获取到K线的所有信息了,m1是EURUSD的所有K线数据 m2是GBP的  我想用两个数组相减得到一个新的数组 这样应该怎么操作 直接用m1-m2是不可以的 而且这个数组种含有时间序列。数组间的减法应该怎么操作?