//------------------------------------------------------------------
//
//
//------------------------------------------------------------------
#property indicator_separate_window
#property indicator_buffers  10
#property indicator_color1   clrSilver
#property indicator_color2   clrSilver
#property indicator_color3   clrSilver
#property indicator_color4   clrSilver
#property indicator_color5   clrSilver
#property indicator_color6   clrSilver
#property indicator_color7   clrSilver
#property indicator_color8   clrSilver
#property indicator_color9   clrSilver
#property indicator_color10   clrSilver

#property indicator_width1   2
#property indicator_width2   2
#property indicator_width3   2
#property indicator_width4   2
#property indicator_width5   2
#property indicator_width6   2
#property indicator_width7   2
#property indicator_width8   2
#property indicator_width9   2
#property indicator_width10   2
#property strict


extern string IndicatorName      = "Enter indicator name"; // Indicator name to use
extern int    BufferNumber1 = 0;  // Fisrt buffer number (<0 to skip it)
extern int    BufferNumber2 = -1; // Second buffer number (<0 to skip it)
extern int    BufferNumber3 = -1; // Third buffer number (<0 to skip it)
extern int    BufferNumber4 = -1; // Third buffer number (<0 to skip it)
extern int    BufferNumber5 = -1; // Third buffer number (<0 to skip it)
extern int    BufferNumber6 = -1; // Third buffer number (<0 to skip it)
extern int    BufferNumber7 = -1; // Third buffer number (<0 to skip it)
extern int    BufferNumber8 = -1; // Third buffer number (<0 to skip it)
extern int    BufferNumber9 = -1; // Third buffer number (<0 to skip it)
extern int    BufferNumber10 = -1; // Third buffer number (<0 to skip it)


double Buffer1[],Buffer2[],Buffer3[],Buffer4[],Buffer5[],Buffer6[],Buffer7[],Buffer8[],Buffer9[],Buffer10[];

//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int init() 
{
   SetIndexBuffer(0 ,Buffer1);
   SetIndexBuffer(1 ,Buffer2);
   SetIndexBuffer(2 ,Buffer3);
   SetIndexBuffer(3 ,Buffer4);
   SetIndexBuffer(4 ,Buffer5);
   SetIndexBuffer(5 ,Buffer6);
   SetIndexBuffer(6 ,Buffer7);
   SetIndexBuffer(7 ,Buffer8);
   SetIndexBuffer(8 ,Buffer9);
   SetIndexBuffer(9 ,Buffer10);
   IndicatorShortName("Exploring buffers ("+(string)BufferNumber1+","+(string)BufferNumber2+","+(string)BufferNumber3+") of "+IndicatorName);
   return(0);
}
int start() 
{
   int counted_bars=IndicatorCounted();
      if(counted_bars<0) return(-1);
      if(counted_bars>0) counted_bars--;
         int limit = MathMin(Bars-counted_bars,Bars-1);
         
   for(int i=limit; i>=0; i--)
   {
      if (BufferNumber1>=0) Buffer1[i] = iCustom(NULL,0,IndicatorName,BufferNumber1,i);
      if (BufferNumber2>=0) Buffer2[i] = iCustom(NULL,0,IndicatorName,BufferNumber2,i);
      if (BufferNumber3>=0) Buffer3[i] = iCustom(NULL,0,IndicatorName,BufferNumber3,i);
      if (BufferNumber4>=0) Buffer4[i] = iCustom(NULL,0,IndicatorName,BufferNumber4,i);
      if (BufferNumber5>=0) Buffer5[i] = iCustom(NULL,0,IndicatorName,BufferNumber5,i);
      if (BufferNumber6>=0) Buffer6[i] = iCustom(NULL,0,IndicatorName,BufferNumber6,i);
      if (BufferNumber7>=0) Buffer7[i] = iCustom(NULL,0,IndicatorName,BufferNumber7,i);
      if (BufferNumber8>=0) Buffer8[i] = iCustom(NULL,0,IndicatorName,BufferNumber8,i);
      if (BufferNumber9>=0) Buffer9[i] = iCustom(NULL,0,IndicatorName,BufferNumber9,i);
      if (BufferNumber10>=0) Buffer10[i] = iCustom(NULL,0,IndicatorName,BufferNumber10,i);
   }
   return(0); 
}
