//+------------------------------------------------------------------+
//|                                          CandleTimeStationary.mq4|
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+

#property indicator_chart_window
//---- input parameters

extern color  Clock_Color = Lime;
extern string Corner_Placement = "1 is top right 3 is bottom right";
extern int    Corner = 3;
extern double Risk_percentage = 10;

string t="Today";
string y="Yesterday";
string lots="Lots";
string sp_close="Spread&Bar";


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init(){

  ObjectCreate(t, OBJ_LABEL,0, 0, 0);
  ObjectSet(t, OBJPROP_CORNER, Corner);
  ObjectSet(t, OBJPROP_XDISTANCE, 10);
  ObjectSet(t, OBJPROP_YDISTANCE, 40);     

  ObjectCreate(y, OBJ_LABEL,0, 0, 0);
  ObjectSet(y, OBJPROP_CORNER, Corner);
  ObjectSet(y, OBJPROP_XDISTANCE, 10);
  ObjectSet(y, OBJPROP_YDISTANCE, 28);   

  ObjectCreate(lots, OBJ_LABEL,0, 0, 0);
  ObjectSet(lots, OBJPROP_CORNER, Corner);
  ObjectSet(lots, OBJPROP_XDISTANCE, 10);
  ObjectSet(lots, OBJPROP_YDISTANCE, 16);   
  
  ObjectCreate(sp_close, OBJ_LABEL,0, 0, 0);
  ObjectSet(sp_close, OBJPROP_CORNER, Corner);
  ObjectSet(sp_close, OBJPROP_XDISTANCE, 10);
  ObjectSet(sp_close, OBJPROP_YDISTANCE, 2);     
  
  
 
   //----
   return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit(){

  ObjectDelete(t);
  ObjectDelete(y);
  ObjectDelete(lots);
  ObjectDelete(sp_close);

  //----
  return(0);
} 
  int m,s; 
  double open1, close1, high1, low1;
  double open, close, high, low;
  double d0, hl0, d1, hl1;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{
  int point_compat=1;
  if(Digits == 3 || Digits == 5) {point_compat = 10;}                      
  open1=iOpen(NULL,PERIOD_D1,1);
  close1=iClose(NULL,PERIOD_D1,1);
  high1=iHigh(NULL,PERIOD_D1,1);
  low1=iLow(NULL,PERIOD_D1,1);
  open=iOpen(NULL,PERIOD_D1,0);
  close=iClose(NULL,PERIOD_D1,0);
  high=iHigh(NULL,PERIOD_D1,0);
  low=iLow(NULL,PERIOD_D1,0);

  //Today Up
  if(open<close){ hl0=((high-low)/Point);
                  d0=((close-open)/Point); }
  //Today Down
  else if(open>close){ hl0=((low-high)/Point);   
                       d0=((close-open)/Point); } 
                       
  // Yesterday Up
  if(open1<close1){ hl1=((high1-low1)/Point);
                    d1=((close1-open1)/Point); }
  // Yesterday Down
  else if(open1>close1){ hl1=((low1-high1)/Point);
                         d1=((close1-open1)/Point); }

  //Lot per risk percentage
          
  double Prots=Risk_percentage/100;
  double Lots=MathFloor(AccountFreeMargin()*Prots/MarketInfo(Symbol(),MODE_MARGINREQUIRED)
              /MarketInfo(Symbol(),MODE_LOTSTEP))*MarketInfo(Symbol(),MODE_LOTSTEP);
 
  //Account Profit
  double  Kepice=AccountProfit();
  
  //Time to bar expiry 
  m=Time[0]+Period()*60-TimeCurrent();
  s=m%60;
  m=(m-s)/60;
  int spread=MarketInfo(Symbol(), MODE_SPREAD);

  string _sp="",_m="",_s="";
  if (spread<10) _sp="..";
  else if (spread<100) _sp=".";
  if (m<10) _m="0";
  if (s<10) _s="0";
  
  //Draw objects
  ObjectSetText(t,"T:"+DoubleToStr(hl0,0)+"/"+DoubleToStr(d0,0),10,"Courier",Clock_Color);
  ObjectSetText(y,"Y:"+DoubleToStr(hl1,0)+"/"+DoubleToStr(d1,0),10,"Courier",Clock_Color);
  ObjectSetText(lots,"L:"+DoubleToStr(Lots,2),10,"Courier",Clock_Color);
  ObjectSetText(sp_close,DoubleToStr(Kepice,2)+"Sp:"+DoubleToStr(spread,0)+_sp+"Close:"+_m+DoubleToStr(m,0)+":"+_s+DoubleToStr(s,0),10,"Courier",Clock_Color);
  return(0);
}
                
