//Многократное вычисление OrdersTotal() в цикле for(int cnt=OrdersTotal()-1;cnt>=0;cnt--) { // насколько я понимаю, здесь нет многократного вычисления OrdersTotal() ... } //Многократный вызов OrderType() if (OrderSelect(cnt, SELECT_BY_POS,MODE_TRADES)) { if ((OrderType()==OP_BUY)||(OrderType()==OP_SELL)) counter++; } // Многократный вызов OrderType() - а если у вас открыт не один ордер? // То как раз перебирая с помощью OrderSelect все ордера и проверяя OrderType() - вы ищите то что вам нужно:) }Можно почитать статьи на этом сайте, и статьи Rosh'a.
//Многократное вычисление OrdersTotal() в цикле for(int cnt=OrdersTotal()-1;cnt>=0;cnt--) { // насколько я понимаю, здесь нет многократного вычисления OrdersTotal() ... }
//Многократный вызов OrderType() if (OrderSelect(cnt, SELECT_BY_POS,MODE_TRADES)) { if ((OrderType()==OP_BUY)||(OrderType()==OP_SELL)) counter++; } // Многократный вызов OrderType() - а если у вас открыт не один ордер? // То как раз перебирая с помощью OrderSelect все ордера и проверяя OrderType() - вы ищите то что вам нужно:) }
Можно почитать статьи на этом сайте, и статьи Rosh'a.
Вы можете посоветовать что-нибудь конкретное? А то по сайту я вроде походил, ничего по теме особо не нашел. Интересует именно советы, связанные с внутренним представлением и функционированием эксперта, которые знают, скорее всего, только разработчики.
В связи с этим вопрос, имеет ли смысл вычислять заранее значение многократно используемых функций или же все подобные функции вычисляются заранее и потому многократные их вызовы по скорости равны обращению к переменной?
И в целом хотелось бы узнать, какие вообще есть советы по программированию на MQL или хотя бы общие принципы, которыми желательно руководствоваться? Где можно ознакомиться с этой информацией?
Да, имеет смысл.
Советы общего плана. Не надейтесь слепо на оптимизатор компилятора - самостоятельно вычисляйте общие подвыражения, инварианты цикла размещайте за пределами цикла, по возможности используйте включаемый код, а не библиотеки и т.п.
Советы общего плана. Не надейтесь слепо на оптимизатор компилятора - самостоятельно вычисляйте общие подвыражения, инварианты цикла размещайте за пределами цикла, по возможности используйте включаемый код, а не библиотеки и т.п.
Спасибо, понятно. В общем всё как в нормальном языке. :)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
или
Но, изучая некоторые статьи, форум и чужой код, я заметил, что люди пренебрегают подобным подходом. Например:
В связи с этим вопрос, имеет ли смысл вычислять заранее значение многократно используемых функций или же все подобные функции вычисляются заранее и потому многократные их вызовы по скорости равны обращению к переменной?
И в целом хотелось бы узнать, какие вообще есть советы по программированию на MQL или хотя бы общие принципы, которыми желательно руководствоваться? Где можно ознакомиться с этой информацией?
Заранее благодарю.