//+------------------------------------------------------------------+
//|                                                                  
//|                       3sHiLo.mq4              
//|                                         
//|                       http://free-bonus-deposit.blogspot.com/              
//|                                                                  
//+------------------------------------------------------------------+
#property indicator_chart_window
#property link "https://www.forexfactory.com/forum/69-platform-tech/"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
extern ENUM_TIMEFRAMES TimeFrame=PERIOD_D1;
extern int     LineFutureTF=1;
extern color   Color1=clrWhite;
extern color   Color2=clrCornflowerBlue;  //Gray;
extern color   Color3=clrGold;
extern int     LineWidth=2;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int TFK;   string sTFR;   datetime timeDel=0;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   TimeFrame = fmax(TimeFrame,_Period);  TFK = TimeFrame/_Period;  sTFR = StringSubstr(EnumToString(TimeFrame),7);
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
   Comment("");
   ObjectDelete(sTFR+":Hi1");
   ObjectDelete(sTFR+":Lo1");
   ObjectDelete(sTFR+":Hi2");
   ObjectDelete(sTFR+":Lo2");
   ObjectDelete(sTFR+":Hi3");
   ObjectDelete(sTFR+":Lo3");
   ObjectDelete(sTFR+":dpkforex");
   ObjectDelete(sTFR+":line2");

   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   if (timeDel!=iTime(NULL,TimeFrame,0)) { //Time[0]       
     ObjectDelete(sTFR+":Hi1");
     ObjectDelete(sTFR+":Lo1");
     ObjectDelete(sTFR+":Hi2");
     ObjectDelete(sTFR+":Lo2");
     ObjectDelete(sTFR+":Hi3");
     ObjectDelete(sTFR+":Lo3");
     timeDel=iTime(NULL,TimeFrame,0); } //Time[0]   
  
   double D1Hi=iHigh(NULL,TimeFrame,1);
   double D1Lo=iLow(NULL,TimeFrame,1);
   datetime D1Time=iTime(NULL,TimeFrame,1);

   double D2Hi=iHigh(NULL,TimeFrame,2);
   double D2Lo=iLow(NULL,TimeFrame,2);
   datetime D2Time=iTime(NULL,TimeFrame,2);

   double D3Hi=iHigh(NULL,TimeFrame,3);
   double D3Lo=iLow(NULL,TimeFrame,3);
   datetime D3Time=iTime(NULL,TimeFrame,3);

   datetime TimeEnd=iTime(NULL,TimeFrame,0)+ 60*TimeFrame*LineFutureTF;  //60*TFK;

   draw(sTFR+":Hi1",D1Time,D1Hi,TimeEnd,Color1,LineWidth,0);
   draw(sTFR+":Lo1",D1Time,D1Lo,TimeEnd,Color1,LineWidth,0);

   draw(sTFR+":Hi2",D2Time,D2Hi,TimeEnd,Color2,LineWidth,0);
   draw(sTFR+":Lo2",D2Time,D2Lo,TimeEnd,Color2,LineWidth,0);

   draw(sTFR+":Hi3",D3Time,D3Hi,TimeEnd,Color3,LineWidth,0);
   draw(sTFR+":Lo3",D3Time,D3Lo,TimeEnd,Color3,LineWidth,0);

   ObjectDelete(sTFR+":dpkforex");
   dpkfx();

   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void draw(string Line,datetime TimeStart,double Price,datetime TimeEnd,color line_clr,int line_width,int ray)
  {
   ObjectCreate(Line,OBJ_TREND,0,TimeStart,Price,TimeEnd,Price);
   ObjectSet(Line,OBJPROP_COLOR,line_clr);
   ObjectSet(Line,OBJPROP_STYLE,STYLE_DOT);
   ObjectSet(Line,OBJPROP_WIDTH,line_width);
   ObjectSet(Line,OBJPROP_BACK,true);
   ObjectSet(Line,OBJPROP_RAY,ray);
   ObjectSet(Line,OBJPROP_SELECTABLE,false);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void dpkfx()
  {
   int ipos=3;
   int xpos=10;

   double vol=(iHigh(NULL,TimeFrame,0)-iLow(NULL,TimeFrame,0))/_Point;

   int st=1;

   stats(sTFR+":dpkforex","Current Range  :  "+DoubleToStr(vol,0),12,"Impact",Yellow,ipos,xpos,22);
   stats(sTFR+":line2","http://free-bonus-deposit.blogspot.com",8,"Arial",White,ipos,xpos-1,10);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void stats(string tname,string word,int fsize,string ftype,color tcolor,int posxy,int posx,int posy)
  {
   ObjectCreate(tname,OBJ_LABEL,0,0,0);
   ObjectSetText(tname,word,fsize,ftype,tcolor);
   ObjectSet(tname,OBJPROP_CORNER,posxy);
   ObjectSet(tname,OBJPROP_XDISTANCE,posx);
   ObjectSet(tname,OBJPROP_YDISTANCE,posy);
   ObjectSet(tname,OBJPROP_SELECTABLE,false);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+