[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 494
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Посмотрите где потом используется total. Скорей всего потом идёт цикл перебора ордеров for (i=0; i<=total; i++).
кстати, да.. Я и выше уже добавил полный код данной функции:
Я так понял, чтоб не писать так логичнее будет сделать так:
а цикл потом задавать так:
Верно? Просто как-то воспринимается не очень когда счётчик количества позиций от нуля.. не логично и, потому, зачем себя путать..
кстати, да.. Я и выше уже добавил полный код данной функции:
Я так понял, чтоб не писать так логичнее будет сделать так:
а цикл потом задавать так:
Верно? Просто как-то воспринимается не очень когда счётчик количества позиций от нуля.. не логично и, потому, зачем себя путать..
Для перебора ордеров надо до нуля а не до единицы.
Мне когда-то профи объяснил, что перебирается массив ордеров и тогда да, лучше начать перебор с большей цифры. В массиве первый элемент имеет индекс 0 (ноль), поэтому не до 1 и также по этой причине надо OrdersTotal() - 1, а не просто OrdersTotal().
У меня перебор ордеров сделан так:
Для перебора ордеров надо до нуля а не до единицы.
Мне когда-то профи объяснил, что перебирается массив ордеров и тогда да, лучше начать перебор с большей цифры. В массиве первый элемент имеет индекс 0 (ноль), поэтому не до 1 и также по этой причине надо OrdersTotal() - 1, а не просто OrdersTotal().
Очень интересно. А я же первым делом открыл учебник и попытался найти ответ там. И тут https://book.mql4.com/ru/trading/ordermodify увидел, как в учебнике сделан перебор:
Вот этот фактор и ввёл меня в заблуждение...
Очень интересно. А я же первым делом открыл учебник и попытался найти ответ там. И тут https://book.mql4.com/ru/trading/ordermodify увидел, как в учебнике сделан перебор:
Вот этот фактор и ввёл меня в заблуждение...
А не обратили внимание на следущую строчку?
А не обратили внимание на следущую строчку?
Нет. Но как-то криво написать. Не хочу критиковать учебник, но.. от 0 считать гораздо адекватнее, а не от -1. Иначе можно было б уже и от -30 начать...
Как выше заметил paladin80 от 0 значение массивов считать наиболее адекатно будет, ежели от -N.
Нет. Но как-то криво написать. Не хочу критиковать учебник, но.. от 0 считать гораздо адекватнее, а не от -1. Иначе можно было б уже и от -30 начать...
Как выше заметил paladin80 от 0 значение массивов считать наиболее адекатно будет, ежели от -N.
А сейчас думайте, включив логику!
Эти варианты идентичны, поскольку если i = 0, то перебирается от единицы до OrderTotal(), то есть от 0+1 до OrderTotal() - 1+1 (+1, так как в конце оператора for стоит i++) И в учебнике то же самое, только записано от 1 до OrderTotal() и, чтобы не считалось от 2 до OrderTotal()+1, в функции OrderSelect к i приставил -1 автор учебника. Понятно?
Кстати, сколько программистов, почти столько же вариантов написания встретите. У каждого своё видение, свой почерк!
Нет. Но как-то криво написать. Не хочу критиковать учебник, но.. от 0 считать гораздо адекватнее, а не от -1. Иначе можно было б уже и от -30 начать...
Как выше заметил paladin80 от 0 значение массивов считать наиболее адекатно будет, ежели от -N.
Если вас заинтересовал способ перебора ордеров, то могу предложит следующую схему:
Нет. Но как-то криво написать. Не хочу критиковать учебник, но.. от 0 считать гораздо адекватнее, а не от -1. Иначе можно было б уже и от -30 начать...
Как выше заметил paladin80 от 0 значение массивов считать наиболее адекатно будет, ежели от -N.
А сейчас думайте, включив логику!
Эти варианты идентичны, поскольку если i = 0, то перебирается от единицы до OrderTotal(), то есть от 0+1 до OrderTotal() - 1+1 (+1, так как в конце оператора for стоит i++) И в учебнике то же самое, только записано от 1 до OrderTotal() и, чтобы не считалось от 2 до OrderTotal()+1, в функции OrderSelect к i приставил -1 автор учебника. Понятно?
Конечно, понятно. Только вот раньше я не встречал чтобы так анализировали наличие ордера:
обычно просто без ==true... Вот этот момент мне даже понравился. Хотя интересно, что в других экспертах такого приёма я не встречал. Логику то я понимаю, но всё же.