//+------------------------------------------------------------------+
//|                                               mn Range v Atr.mq4 |
//+------------------------------------------------------------------+
#property copyright "mn"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1  Blue
#property indicator_width1  1

extern int mAtrPrd = 12;

double mRangeAtr[];
int mPipFactor = 1;

//+------------------------------------------------------------------+
int init()
 {
   SetIndexStyle(0, DRAW_LINE);
   SetIndexBuffer(0, mRangeAtr);
   SetIndexLabel(0, "Range");
   
   IndicatorShortName("RangeAtr");
   IndicatorDigits(1);

   if (Digits == 3 || Digits == 5)
   {
      mPipFactor = 10;
   }

   return(0);
 }

//+------------------------------------------------------------------+
int deinit()
  {

   return(0);
  }

//+------------------------------------------------------------------+
int start()
 {
   double mAtr;
   int mBars, mCounted = IndicatorCounted();
   if(mCounted > 0) mCounted--;
   mBars = Bars - mCounted;

   for(int i = 0; i < mBars; i++)
     {
      mAtr = iATR(NULL, 0, mAtrPrd, i) / Point / mPipFactor;
      mRangeAtr[i] = ((High[i] - Low[i]) / Point) / mPipFactor / mAtr;
     }
      
   return(0);
 }
  
//+------------------------------------------------------------------+