Нужны ли дубли данных для построения зон через кнопку

 
Если есть button и при нажатии на который должна построиться зона, тогда эти данные должны быть в OnchartEvent и OnCalculator.
Почему нельзя их вынести в шапку? зачем дублировать ?
   double t2=0, Hi=0,Lo=0;
   t2=iTime(NULL,PERIOD_M1,0);
   Hi=iHigh(NULL,PERIOD_M1,0);
   Lo=iLow(NULL,PERIOD_M1,0);

int ATR=(int)(NormalizeDouble(iATR(NULL,PERIOD_M1,25,0)/_Point,0));


Причина обращения: