#property indicator_separate_window
extern ENUM_TIMEFRAMES mPeriod = 240;//До закрытия бара с какого тайм-фрейма
extern string Shrift="Impact";
extern int Font_Size=20;
extern color Color_=clrYellow;
extern ENUM_BASE_CORNER corner = 0;
extern int distance_x = 50;
extern int distance_y = 25;
string PR;
string vName="LBLTime";
int KolSec;  
int init()
{
asd = WindowOnDropped();
int count=0;

for (int i=ObjectsTotal(); i>=0; i--)
{
   if (StringFind(ObjectName(i),vName)>-1) count++;
}
vName = vName + (string)asd + (string)count;
//Print(vName);
ObjectCreate (0,vName,OBJ_LABEL,asd,0,0);
ObjectSetInteger(0,vName,OBJPROP_CORNER,corner);
ObjectSetInteger(0,vName,OBJPROP_XDISTANCE,distance_x);
ObjectSetInteger(0,vName,OBJPROP_YDISTANCE,distance_y);
ObjectSetInteger(0,vName,OBJPROP_FONTSIZE,Font_Size);
ObjectSetString(0,vName,OBJPROP_FONT,Shrift);
ObjectSetInteger(0,vName,OBJPROP_COLOR,Color_);
//,Font_Size,Shrift,Color_);
switch(mPeriod)
     {
     case 1: PR="M1";
     break;
     case 5: PR="M5";
     break;
     case 15:PR="M15";
     break;
     case 30: PR="M30";
     break;
     case 60: PR="H1";
     break;
     case 240:PR="H4";
     break;
     case 1440:PR="D1";
     break;
     case 10080: PR="W1";
     break;
    }   

if ( mPeriod== PERIOD_M1){ KolSec=1*60;}
if ( mPeriod== PERIOD_M5){ KolSec=5*60;}
if ( mPeriod== 10){ KolSec=10*60;}
if ( mPeriod== PERIOD_M15){ KolSec=15*60;}
if ( mPeriod== PERIOD_M30){ KolSec=30*60;}
if ( mPeriod== PERIOD_H1){ KolSec=60*60;}
if ( mPeriod== PERIOD_H4){ KolSec=4*60*60;}
if ( mPeriod== PERIOD_D1){ KolSec=24*60*60;}
if ( mPeriod==PERIOD_W1){ KolSec=5*24*60*60;}    
EventSetMillisecondTimer(10);
OnTimer();
return INIT_SUCCEEDED;
}
int start()
  {
   OnTimer();
//----
   return(0);
  }
int deinit()
  {
//----
     //string vName;
   //vName="LBLTime";
   ObjectDelete(0,vName);
//----
   return(0);
  } 
long asd;  
//+------------------------------------------------------------------+
void OnTimer()
{
      
   int    counted_bars=IndicatorCounted();
//----
//MathMod( double value, double value2)
//вывести колличество секунд до окончания бара
//Cколько секунд вообще длится бар?

   //cколько секунд прошло с начало бара
int PrevSec;
// TimeCurrent( )  время прихода последней котировки в виде количества секунд, прошедших после 00:00 1 января 1970 года
PrevSec=MathMod( TimeCurrent( ), KolSec);
// сколько секунд осталось в формате 00:00:00
string Last;
int LastHour;
int LastMinute;
int LastSec;
LastSec=MathMod( KolSec-PrevSec, 60); //осталось полных секунд
LastMinute=MathMod(((KolSec-PrevSec )-MathMod( KolSec-PrevSec, 60))/60,60);//кол. полных минут в оставшееся время
LastHour=((KolSec-PrevSec )-MathMod( KolSec-PrevSec, 3600))/3600;//кол. полных часов в оставшееся время.
Last = PR+"     "+LastHour+":"+LastMinute+":"+LastSec;
//if (ObjectFind(vName)!=-1) ObjectDelete(vName);
//ObjectCreate (asd,vName,OBJ_LABEL,0,0,0,0,0);
ObjectSetString(0,vName,OBJPROP_TEXT,Last);//
}