Помогите упростить условие!!!

 

Привет всем! Помогите упростить условие!!! Вот код:

         if(Close[i+1]<Open[i+1]
            &&Close[i+1]<=Close[i+2]&&Close[i+2]<Open[i+2]
            &&Close[i+2]<=Close[i+3]&&Close[i+3]<Open[i+3]
            &&Close[i+3]<=Close[i+4]&&Close[i+4]<Open[i+4]
            &&Close[i+4]<=Close[i+5]&&Close[i+5]<Open[i+5]
            &&Close[i+5]<=Close[i+6]&&Close[i+6]<Open[i+6]
            &&Close[i+6]<=Close[i+7]&&Close[i+7]<Open[i+7]
            &&Close[i+7]<=Close[i+8]&&Close[i+8]<Open[i+8]
            &&Close[i+8]<=Close[i+9]&&Close[i+9]<Open[i+9]
            &&Close[i+9]<=Close[i+10]&&Close[i+10]<Open[i+10]
            &&Close[i+11]>Open[i+11])
            Buffer8[i+1]=Low[i+1]-0.0002;
Сильно тормозит МТ4, наверное из-за большого кода в OnCalculate.

Может его можна вынести в отдельную функцию или что-то в этом роде...

 

Если это тот же индикатор, то тормозит не от этого, а от того, что на каждом тике выполняется расчет для всех баров:

 for(int i=0; i<Bars-1;i++)

 
Dmitry Fedoseev:

Если это тот же индикатор, то тормозит не от этого, а от того, что на каждом тике выполняется расчет для всех баров:

 for(int i=0; i<Bars-1;i++)

а как этого избежать?
 

 if(Close[i+1]<Open[i+1]
            &&Close[i+1]<=Close[i+2]&&Close[i+2]<Open[i+2]
            &&Close[i+2]<=Close[i+3]&&Close[i+3]<Open[i+3]
            &&Close[i+3]<=Close[i+4]&&Close[i+4]<Open[i+4]
            &&Close[i+4]<=Close[i+5]&&Close[i+5]<Open[i+5]
            &&Close[i+5]<=Close[i+6]&&Close[i+6]<Open[i+6]
            &&Close[i+6]<=Close[i+7]&&Close[i+7]<Open[i+7]
            &&Close[i+7]<=Close[i+8]&&Close[i+8]<Open[i+8]
            &&Close[i+8]<=Close[i+9]&&Close[i+9]<Open[i+9]
            &&Close[i+9]<=Close[i+10]&&Close[i+10]<Open[i+10]
            &&Close[i+11]>Open[i+11])
            Buffer8[i+1]=Low[i+1]-0.0002;
Сильно тормозит МТ4, наверное из-за большого кода в OnCalculate.

проверяй появился ли новый бар.

так как наверняка такая проверка не требуется  каждый тик, ведь цены то закрытия используете.

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