
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 Red
#property indicator_color2 Yellow
#property indicator_color3 Magenta
#property indicator_color4 Lime
#property indicator_color5 LightCyan
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2
#property indicator_width5 2
//----
input bool Show_Lines=true;
extern string __________________= " ----------------------------------------------";
extern string MA1= " Moving Average 1";
extern double Period_1=23.6;
input ENUM_MA_METHOD Method1=MODE_SMMA;
extern int Shift1=0;
input ENUM_APPLIED_PRICE Price1=PRICE_LOW;
extern string ___________________= " ----------------------------------------------";
extern string MA2= " Moving Average 2";
extern double Period_2=61.8;
input ENUM_MA_METHOD Method2=MODE_SMMA;
extern int Shift2=0;
input ENUM_APPLIED_PRICE Price2=PRICE_HIGH;
extern string ____________________= " ----------------------------------------------";
extern string MA3= " Moving Average 3";
extern double Period_3=261.8;
input ENUM_MA_METHOD Method3=MODE_EMA;
extern int Shift3=0;
input ENUM_APPLIED_PRICE Price3=PRICE_MEDIAN;
extern string _____________________= " ----------------------------------------------";
extern string MA4= " Moving Average 4";
extern double Period_4=461.8;
input ENUM_MA_METHOD Method4=MODE_EMA;
extern int Shift4=0;
input ENUM_APPLIED_PRICE Price4=PRICE_MEDIAN;
extern string ______________________= " ----------------------------------------------";
extern string MA5= " Moving Average 5";
extern double Period_5=461.8;
input ENUM_MA_METHOD Method5=MODE_SMMA;
extern int Shift5=0;
input ENUM_APPLIED_PRICE Price5=PRICE_MEDIAN;
//----
double ma1[];
double ma2[];
double ma3[];
double ma4[];
double ma5[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
  if(Show_Lines)
     {
//---- indicators
       SetIndexStyle(0,DRAW_LINE,0);
       SetIndexBuffer(0,ma1);
   
       SetIndexStyle(1,DRAW_LINE,0);
       SetIndexBuffer(1,ma2);
   
       SetIndexStyle(2,DRAW_LINE,0);
       SetIndexBuffer(2,ma3);
   
       SetIndexStyle(3,DRAW_LINE,0);
       SetIndexBuffer(3,ma4);
       
       SetIndexStyle(4,DRAW_LINE,0);
       SetIndexBuffer(4,ma5);
//----
      }
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//---- 
   int limit;
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) counted_bars=0;
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;

//---- 
   for(int i=0 ;i < limit ;i++)
     {
      ma1[i]=iMA(NULL,0,Period_1,Shift1,Method1,Price1,i);
      ma2[i]=iMA(NULL,0,Period_2,Shift2,Method2,Price2,i);
      ma3[i]=iMA(NULL,0,Period_3,Shift3,Method3,Price3,i);
      ma4[i]=iMA(NULL,0,Period_4,Shift4,Method4,Price4,i);
      ma5[i]=iMA(NULL,0,Period_5,Shift5,Method5,Price5,i);
     }
     
//----
   return(0);
  }
//+------------------------------------------------------------------+