请教个函数问题

YT L  
double arrM1(???iX) //iX = iClose,iOpen,iHight......  能这样吗,???该写什么
  {
   for(int ii=0; ii<timeframe; ii++)
     {
      if(day == TimeDay(iTime(Symbol(), PERIOD_M1, ii)))    //TimeDay(iTime("EURUSD", PERIOD_M1, ii))
        {
         c_arr++;
         ArrayResize(arr,c_arr+1);
         arr[c_arr]=ix(Symbol(), PERIOD_M1, ii);
        }
     }
  }
QQ_272254583  

iClose是个函数,一个自定义函数内肯定不允许再带个函数名,这语法错误了。。不过可以定义索引,根据索引来决定是哪个函数

比如如下。。。

double arM1(int index)

{

...... sth...

switch(index)

{

  case 1:

iClose....

break;

...... sth...

}

}

原因: