//+------------------------------------------------------------------+
//|                                           Daily Range PeterE.mq4 |
//+------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 2

extern int      NumOfDays             = 10;
extern string   FontName              = "Courier New";
extern int      FontSize              = 10;
extern color    FontColor             = White;
extern int      Window                = 0;
extern int      Corner                = 0;
extern int      HorizPos              = 5;
extern int      VertPos               = 20;

double range_today[];
double adr[];
double pnt;
int    dig;
string objname = "*DRPE";

//+------------------------------------------------------------------+
int init()  {
//+------------------------------------------------------------------+
   Comment("");
   pnt = MarketInfo(Symbol(),MODE_POINT);
   dig = MarketInfo(Symbol(),MODE_DIGITS);
   if (dig == 3 || dig == 5) {
      pnt *= 10;
   }  
   
   ObjectCreate(objname,OBJ_LABEL,Window,0,0);
   
   SetIndexBuffer(0,adr);
   SetIndexLabel(0,"ADR");
   
   SetIndexBuffer(1,range_today);
   SetIndexLabel(1,"Range today");
  
  return(0);
}

//+------------------------------------------------------------------+
int deinit()  {
//+------------------------------------------------------------------+
  ObjectDelete(objname);
  Comment("");
  return(0);
}

//+------------------------------------------------------------------+
int start()  {
//+------------------------------------------------------------------+
  int c=0;
  double sum=0;
  
  for(int i=Bars-IndicatorCounted();i>=0;i--)
  {
      double hi = iHigh(NULL,PERIOD_D1,i);
      double lo = iLow(NULL,PERIOD_D1,i);
      adr[i]=DoubleToStr(iATR(Symbol(),PERIOD_D1,NumOfDays,i)/pnt,1);
      range_today[i]=DoubleToStr((hi-lo)/pnt,1);
  }
  
   string objtext = "ADR = " + DoubleToStr(iATR(Symbol(),PERIOD_D1,NumOfDays,0)/pnt,1) + "  (" + NumOfDays + " days)     Today = " + DoubleToStr((hi-lo)/pnt,1);
   ObjectSet(objname,OBJPROP_CORNER,Corner);
   ObjectSet(objname,OBJPROP_XDISTANCE,HorizPos);
   ObjectSet(objname,OBJPROP_YDISTANCE,VertPos);
   ObjectSetText(objname,objtext,FontSize,FontName,FontColor);
   
  return(0);
}

