22.04.2018, 10:57
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,878
Поблагодарили 3,998 раз(а) / Репутация: 3987
Нашел,
вроде должно сработать если TimeFiltr будет true

Код:
bool TimeFiltr()
{
if (MyStartHour < MyStopHour && Hour() >= MyStartHour && Hour() < MyStopHour) return(true);
if (MyStartHour > MyStopHour && (Hour() >= MyStartHour || Hour() < MyStopHour)) return(true);
if (MyStartHour == MyStopHour) return(false);
return(false);
}
Тоже что-то мне не нравится. Как-то замудрёно сделали проверку. Специально для тебя написал.

Скрытый текст


Код:
int myStartHour = 13, myStopHour = 3;
/********************Script program start function*******************/
void OnStart()
{
 bool runTime = myRunTime(myStartHour, myStopHour);
}/*******************************************************************/

bool myRunTime(const int startHour, const int stopHour, const int startMinute = 0, const int stopMinute = 0)
{
 datetime t1 = StringToTime(StringConcatenate(startHour, ":", startMinute ));
 datetime t2 = StringToTime(StringConcatenate(stopHour, ":", stopMinute ));
 if(t2 < t1)
  t2 += PeriodSeconds(PERIOD_D1);
 return(TimeCurrent() >= t1 && TimeCurrent() < t2);
}/*******************************************************************/
[свернуть]

Последний раз редактировалось NSerega; 22.04.2018 в 14:29.