Ошибки, баги, вопросы - страница 3517
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Рекомендация по сервису Фриланс, замените название Разработчик, Разработчику на Исполнитель.
Когда заказываешь текст и что то иное связанное не с программированием Разработчик пишется странновато.
Исполнитель - универсальное слово...
Рекомендация по сервису Фриланс, замените название Разработчик, Разработчику на Исполнитель.
Когда заказываешь текст и что то иное связанное не с программированием Разработчик пишется странновато.
Исполнитель - универсальное слово...
Есть негативная окраска сего наименования: "Они там исполняют"
Есть способ объявлять переменные только 1 раз внутри цикла for, чтобы при повторном выполнении цикла они не объявлялись заново?
static
Есть способ объявлять переменные только 1 раз внутри цикла for, чтобы при повторном выполнении цикла они не объявлялись заново?
как вариант: объекты объявить снаружи цикла, чтобы избегать лишних constructor/destructor? то есть на уровень выше цикла где используются
статики и глобалки - зло.
А объявления скаляров внутри циклов могут оптимизироваться компилятором. Если ему потребуется
То есть образно из "while(cond) { int i = 1; code follows }" компилятор может сотворить "int i ; while(cond) { i=1; code follows }" и самому этим заниматься - только вредить компилятору, себе и программе.
Пишите код ясно, объявляйте переменные там где они нужны, а низко-уровневую оптимизацию оставьте компилятору. Алгоритмы оптимизируйте(выбирайте лучшие), а не их реализацию.
static
Про static я забыл, потому что мне не совсем так хочется. For будет в любом случае, и внутри него 1 условие, которое может выполняться, а может не выполняться, и только в том случае, если оно выполняется, я бы хотел объявить переменные только 1 раз.
Может быть есть какой-нибудь интересный способ так сделать?
Про static я забыл, потому что мне не совсем так хочется. For будет в любом случае, и внутри него 1 условие, которое может выполняться, а может не выполняться, и только в том случае, если оно выполняется, я бы хотел объявить переменные только 1 раз.
Может быть есть какой-нибудь интересный способ так сделать?
Nikolai Semko #:
Существует ещё цикл с помощью рекурсивной функции
Очень интересно, спасибо, и я вспомнил, что уже видел это: https://www.mql5.com/ru/forum/1111/page3361#comment_48242594
А здесь пример применения: https://www.mql5.com/ru/code/25414
При наличии баров, выдает -1 в самом начале инициализации.
Не мог понять причину неправильного поведения, но нашел. Спасает замена альтернативным решением.
все таки iBarShift глючит.
При наличии баров, выдает -1 в самом начале инициализации.
Не мог понять причину неправильного поведения, но нашел. Спасает замена альтернативным решением.
Может, данные ещё не полностью подкачаны?