Частичное выполнение цикла

 

Добрый День!

Подскажите, как решить.

Есть цикл в индюке, который работает по КЗОТу: с семи до пяти

int    counted_bars=IndicatorCounted();
int    limit1=Bars-counted_bars;
       if (limit1>1){limit1=Bars;} 

for(i=limit1; i>=0; i--)  
   {//Counter
   if(TimeHour(Time[i]) < 7  ||  TimeHour(Time[i])> 17) continue;      

Теперь появилась производственная необходимость работать сверхурочно.

НО! ТОЛЬКО ЧАСТЬЮ КОДА!

Т.е. первая половина работает с 7 до 17, вторая с 7 до 22.

Делать второй цикл не хочется. Как-то это неинтеллигентно. И вот тут у меня не хватает образования.

Можно объяснить циклу (или функции  continue; ?), что до 17 работаем вот до этого места, дальше - пашем дОльше?

 
Artemij:   Т.е. первая половина работает с 7 до 17, вторая с 7 до 22

Каждое выполнение цикла называется итерацией. Continue прерывает итерацию. Происходит переход к следующей. Надо так

for(....
{
   то, что выполняется всегда -  то, что считаете 2-ой половиной
   if(время позднее)continue;
   то, что выполняется только утром - то, что считаете 1-ой половиной
}
 
STARIJ:

Надо так

Ах, если б было всё так просто...

Проблема в том, что та половина, которая должна работать пол-дня, определяет переменные, которые потом используются в "половине" на весь день...

 
Artemij:

Ах, если б было всё так просто...

Проблема в том, что та половина, которая должна работать пол-дня, определяет переменные, которые потом используются в "половине" на весь день...

Так а кто запрещает объявить переменные статическими или на глобальном уровне?

 
Alexey Viktorov:

Так а кто запрещает объявить переменные статическими или на глобальном уровне?

Процесс мешает.

Вычисляем переменные в одной части (open) и передаем в другую (close). Вот Open должен быть до 17ти, а Close - до ночи. 

 
Artemij:

Процесс мешает.

Вычисляем переменные в одной части (open) и передаем в другую (close). Вот Open должен быть до 17ти, а Close - до ночи. 

Не надумывайте проблему! Если не хотите решать - не решайте, вас никто не заставляет. Если всё-таки нужно решить, то всё решается за 3-5 минут.

 
Vitaly Muzichenko:

Не надумывайте проблему! Если не хотите решать - не решайте, вас никто не заставляет. Если всё-таки нужно решить, то всё решается за 3-5 минут.

КАКОЕ ГЛУБОКОЕ ЗАМЕЧАНИЕ!

И ГЛАВНОЕ - ВСЁ ТАК ПО ДЕЛУ, ТОЛКОВО ТАК!

РЕСПЕКТ И УВАЖУХА!

 
Artemij:

КАКОЕ ГЛУБОКОЕ ЗАМЕЧАНИЕ!

И ГЛАВНОЕ - ВСЁ ТАК ПО ДЕЛУ, ТОЛКОВО ТАК!

РЕСПЕКТ И УВАЖУХА!

Зачем так кричать? Вас все слышали и вот был ответ

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Частичное выполнение цикла

Alexey Viktorov, 2018.04.13 18:04

Так а кто запрещает объявить переменные статическими или на глобальном уровне?