Помогите с простым индикатором

 
Добрый день имеется простой индикатор вывода времени и даты

Как сделать вывод этого индикатора через кнопку?
Проблема заключается в том что при переносе информации с OnCalculate в  void OnChartEvent Происходит ошибка
в строчке: 
   PutLabel(s1+TimeToString(time[0],TIME_DATE)+" - " +TimeToString(time[0],TIME_SECONDS));
а именно: 
time[0]

Подскажите как быть в данном случае? Всем спасибо

ПОЛНЫЙ КОД ИНДИКАТОРА:
#property copyright "Copyright 2020"
#property link      "http://www.ya.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int size=12;
input color clr=White;
input string font="Arial";

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string text)
  {
   ObjectDelete(0,"L");
//--- создадим текстовую метку
   ObjectCreate(0,"L",OBJ_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,"L",OBJPROP_XDISTANCE,250);
   ObjectSetInteger(0,"L",OBJPROP_YDISTANCE,22);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,"L",OBJPROP_CORNER,1);
//--- установим текст
   ObjectSetString(0,"L",OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,"L",OBJPROP_FONT,font);
//--- установим размер шрифта
   ObjectSetInteger(0,"L",OBJPROP_FONTSIZE,size);
//--- установим цвет
   ObjectSetInteger(0,"L",OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   string s1="";
   if(DayOfWeek()==1)
      s1="Понедельник / ";
   if(DayOfWeek()==2)
      s1="Вторник / ";
   if(DayOfWeek()==3)
      s1="Среда / ";
   if(DayOfWeek()==4)
      s1="Четверг / ";
   if(DayOfWeek()==5)
      s1="Пятница / ";
   if(DayOfWeek()==6)
      s1="Суббота / ";
   if(DayOfWeek()==0)
      s1="Воскресенье / ";

   PutLabel(s1+TimeToString(time[0],TIME_DATE)+" - " +TimeToString(time[0],TIME_SECONDS));

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
vebster005:
Добрый день имеется простой индикатор вывода времени и даты

Как сделать вывод этого индикатора через кнопку?
Проблема заключается в том что при переносе информации с OnCalculate в  void OnChartEvent Происходит ошибка
в строчке: 
а именно: 
Подскажите как быть в данном случае? Всем спасибо

ПОЛНЫЙ КОД ИНДИКАТОРА:
Time[0]
 
Vitaly Muzichenko:

не понял

 
vebster005:

не понял

PutLabel(s1+TimeToString(Time[0],TIME_DATE)+" - " +TimeToString(Time[0],TIME_SECONDS));
 
Vitaly Muzichenko:

Спасибо огромное!!! Работает