请教各位大佬一个问题,想实现下图调用指标的效果,有什么更加简便的方法吗

 
#property strict

 enum 移动平均 {
        Simple=0,//MODE_SMA
        Exponential=1,//MODE_EMA
        Smoothed=2,//MODE_SMMA
        Linear=3,//MODE_LWMA
          };
 enum 应用 {
         Closeprice=0,//PRICE_CLOSE
         Openprice=1,//PRICE_OPEN
         maximum=2,//PRICE_HIGH
         minimum=3,//PRICE_LOW
         Median=4,//PRICE_MEDIAN
         Typical=5,//PRICE_TYPICAL
         Weighted=6,//PRICE_WEIGHTED
          }; 
extern  double  时间周期=0  ;
extern double 均线参数=14;
extern  double   均线偏移=0;
extern  移动平均  移动平均法=0  ;  
extern  应用  应用于=0 ;  
 double 移动平均法1 ;
 double 应用于1 ;

int OnInit()
  {
 if ( 移动平均法 == 0 )
  {
  移动平均法1 = 0 ;
  }
 if ( 移动平均法 == 1 )
  {
  移动平均法1 = 1 ;
  }
 if ( 移动平均法 == 2 )
  {
  移动平均法1 = 2 ;
  }
 if ( 移动平均法 == 3 )
  {
  移动平均法1 = 3 ;
  }
 if ( 应用于 == 0 )
  {
  应用于1 = 0 ;
  }
 if ( 应用于 == 2 )
  {
  应用于1 = 2 ;
  }
 if ( 应用于 == 3 )
  {
  应用于1 = 3 ;
  }
 if ( 应用于 == 4 )
  {
  应用于1 = 4;
  }
 if ( 应用于 ==5 )
  {
  应用于1 = 5 ;
  }
 if ( 应用于 == 6 )
  {
  应用于1 = 6 ;
  }


   return(INIT_SUCCEEDED);
  }

void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
double ma(int shift)
  {
    return(iMA(NULL,时间周期,均线参数,均线偏移,移动平均法1,应用于1,shift));
  }
 
extern  ENUM_TIMEFRAMES    时间周期   = 0;
extern  int                均线参数   = 14;
extern  int                均线偏移   = 0;
extern  ENUM_MA_METHOD     移动平均法 = 0;  
extern  ENUM_APPLIED_PRICE 应用于     = 0;  

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+

double ma(int shift)
  {
    return(iMA(NULL,时间周期,均线参数,均线偏移,移动平均法,应用于,shift));
  }
 
Hung Wen Lin #:

非常感谢您的指导,已经完全美实现