//------------------------------------------------------------------
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Aqua
#property indicator_color2 Aqua
#property indicator_width1 1
#property indicator_width2 1

extern int Multfactor=200;



double Upper[],
		 Lower[];
double dev;



//--------------------------------------------------------
//
//--------------------------------------------------------
int init()
{
	IndicatorBuffers(2);
	
	SetIndexBuffer(0,Upper);
	SetIndexStyle ( 0, DRAW_LINE );
   SetIndexLabel ( 0, "Upper" );		
//
   		
	SetIndexBuffer(1,Lower);	
	SetIndexStyle ( 1, DRAW_LINE );
   SetIndexLabel ( 1, "Lower" );			
   
   return(0);
}
int deinit() { 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--)
   {
         
         double atr    = iATR(NULL,0,14,i);
         
         if(atr>0 && Multfactor>0){
         if(Digits>3) dev=atr*Multfactor;
         if(Digits<4) dev=atr*Multfactor/100;
         }
                  
         double Up = iEnvelopes(NULL,0,1,MODE_SMA,0,PRICE_CLOSE,dev,MODE_UPPER,i);
         double Down= iEnvelopes(NULL,0,1,MODE_SMA,0,PRICE_CLOSE,dev,MODE_LOWER,i);
         
         Upper[i]=Up;
         Lower[i]=Down;
          
   }
   return(0);
}  

