
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 clrMagenta
#property indicator_color2 clrAqua
#property indicator_width1 2
#property indicator_width2 2
#property indicator_color3 clrBlueViolet
#property indicator_color4 clrBlue
#property indicator_color5 clrRoyalBlue
#property indicator_color6 clrRed
#property indicator_color7 clrMediumPurple
#property indicator_color8 clrMediumSlateBlue


//----
extern string MA1= " Moving Average 1";
extern int Period_1= 11.3;
input ENUM_MA_METHOD Method1=MODE_EMA ; //2;
extern int Shift1=0;
input ENUM_APPLIED_PRICE Price1=PRICE_LOW; //3;

extern string MA2= " Moving Average 2";
extern int Period_2= 11.3;
input ENUM_MA_METHOD Method2=MODE_EMA ; //2;
extern int Shift2=0;
input ENUM_APPLIED_PRICE Price2=PRICE_HIGH; // 2;

extern string _________________= " ----------------------------------------------";
extern string MA3= " Moving Average 3";
extern double Period_3=23.6;
input ENUM_MA_METHOD Method3=MODE_SMMA;
extern int Shift3=0;
input ENUM_APPLIED_PRICE Price3=PRICE_LOW;

extern string ___________________= " ----------------------------------------------";
extern string MA4= " Moving Average 4";
extern double Period_4=61.8;
input ENUM_MA_METHOD Method4=MODE_SMMA;
extern int Shift4=0;
input ENUM_APPLIED_PRICE Price4=PRICE_HIGH;

extern string ____________________= " ----------------------------------------------";
extern string MA5= " Moving Average 5";
extern double Period_5=261.8;
input ENUM_MA_METHOD Method5=MODE_EMA;
extern int Shift5=0;
input ENUM_APPLIED_PRICE Price5=PRICE_MEDIAN;

extern string _____________________= " ----------------------------------------------";
extern string MA6= " Moving Average 6";
extern double Period_6=423.6;
input ENUM_MA_METHOD Method6=MODE_EMA;
extern int Shift6=0;
input ENUM_APPLIED_PRICE Price6=PRICE_MEDIAN;

extern string ______________________= " ----------------------------------------------";
extern string MA7= " Moving Average 7";
extern double Period_7=423.6;
input ENUM_MA_METHOD Method7=MODE_SMMA;
extern int Shift7=0;
input ENUM_APPLIED_PRICE Price7=PRICE_MEDIAN;

extern string _______________________= " ----------------------------------------------";
extern string MA8= " Moving Average 8";
extern double Period_8=423.6;
input ENUM_MA_METHOD Method8=MODE_LWMA;
extern int Shift8=0;
input ENUM_APPLIED_PRICE Price8=PRICE_MEDIAN;

//----
double ma1[];
double ma2[];
double ma3[];
double ma4[];
double ma5[];
double ma6[];
double ma7[];
double ma8[];
double ma9[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,STYLE_DASH,1);
   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);
   
   SetIndexStyle(5,DRAW_LINE,0);
   SetIndexBuffer(5,ma6);
   
   SetIndexStyle(6,DRAW_LINE,0);
   SetIndexBuffer(6,ma7);
   
   SetIndexStyle(7,DRAW_LINE,0);
   SetIndexBuffer(7,ma8);
   
   SetIndexStyle(8,DRAW_LINE,0);
   SetIndexBuffer(8,ma9);
//----
   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);
      ma6[i]=iMA(NULL,0,Period_6,Shift6,Method6,Price6,i);
      ma7[i]=iMA(NULL,0,Period_7,Shift7,Method7,Price7,i);
      ma8[i]=iMA(NULL,0,Period_8,Shift8,Method8,Price8,i);
     
     
     
     }
     
//----
   return(0);
  }
//+------------------------------------------------------------------+