Если это тот же индикатор, то тормозит не от этого, а от того, что на каждом тике выполняется расчет для всех баров:
for(int i=0; i<Bars-1;i++)
Если это тот же индикатор, то тормозит не от этого, а от того, что на каждом тике выполняется расчет для всех баров:
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.
проверяй появился ли новый бар.
так как наверняка такая проверка не требуется каждый тик, ведь цены то закрытия используете.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет всем! Помогите упростить условие!!! Вот код:
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.
Может его можна вынести в отдельную функцию или что-то в этом роде...