Как можно записать значения найденные в цикле в массив?
double q[],o[]; int Hendel = iMACD(Symbol(),Period(),12,5,5,PRICE_CLOSE); int u=CopyBuffer(Hendel,0,0,6000,q); ArraySetAsSeries(q,true); for(int i=0;i<=4000;i++) { if(q[i+1]>0 && q[i]<=0) { int ru=ArraySize(o); ArrayResize(o, ru+1); o[ru]=MathAbs(q[i]); } }
Да, работает. Спасибо.
Но я хотел ускорить процесс, а получилось еще медленнее, хоть и не значительно.
Думал один цикл будет быстрее, чем цикл в каждой последовательной функции.
Жаль.
Да, работает. Спасибо.
Но я хотел ускорить процесс, а получилось еще медленнее, хоть и не значительно.
Думал один цикл будет быстрее, чем цикл в каждой последовательной функции.
Жаль.
Все прямолинейно, цикл, устраивает условию записываем в динамический массив. Не забывая потом кстати очищать его, а то начнет тормозить
Да, работает. Спасибо.
Но я хотел ускорить процесс, а получилось еще медленнее, хоть и не значительно.
Думал один цикл будет быстрее, чем цикл в каждой последовательной функции.
Жаль.
Что бы быстрей было, не надо изменять размер на каждом проходе цикла. Лучше один раз в начале установить размер с запасом, а в конце укоротить.
double q[],o[]; int Hendel = iMACD(Symbol(),Period(),12,5,5,PRICE_CLOSE); int u=CopyBuffer(Hendel,0,0,6000,q)-1; ArraySetAsSeries(q,true); ArrayResize(o,u); int count=0; for(int i=0;i<u;i++) if(q[i+1]>0 && q[i]<=0) o[count++]=MathAbs(q[i]); ArrayResize(o,count);Как-то так.
Все прямолинейно, цикл, устраивает условию записываем в динамический массив. Не забывая потом кстати очищать его, а то начнет тормозить
Разумеется.
Всем спасибо. Урок усвоил.
К сожалению скорость не радует.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования