Прикрепите лучше советник, который редактируете. GetDistance() это пользовательская функция, трудно что-то сказать не видя полного кода (кроме того, конечно что измеряет какое-то расстояние ). Хотя варианты есть-запускать проверку условий только один раз на баре (если советник работает на дневном таймфрейме), или использовать точное время, задавая его функциями Hour() и Minute().
Если так прописать:
if(Hour()==0 && Minute()==1) f=GetDistance(PERIOD_M1,0,false);
Будет срабатывать каждую первую минуту рабочего дня?
С уважением,
Александр