Да причем тут ваши индексы и возвращаемая сумма ордеров. Создайте пару ордеров и в цикле пройдитесь по ним. Проход будет не по массиву, а числу которое вернёт OrdersTotal как обычная функция, она же не возвращает адрес на индекс массива где хранятся ордера.
Размер массива-это количество элементов массива (или ордеров например)
первый элемент имеет индекс 0, всегда,
последний - на единицу меньше, чем размер массива.
Если Вы хотите создать массив с одним элементом, то обратится к этому элементу Вы можете только так arr[0]. Во всех других случаях, Вы получите ошибку выхода за пределы массива.
С ордерами также, просто ошибки нет, но до первого элемента (ордера) по другому Вы не достучитесь.
Я понял, OrdersTotal дает только сумму, а чтобы обратиться к ордеру мы используем OrderSelect и вот оно уже перебирает массив. Я упустил этот момент из виду.
Nerd Trader #: Да причем тут ваши индексы и возвращаемая сумма ордеров. Создайте пару ордеров и в цикле пройдитесь по ним. Проход будет не по массиву, а числу которое вернёт OrdersTotal как обычная функция, она же не возвращает адрес на индекс массива где хранятся ордера.
Вы не по числу делаете проход, а по списку ордеров вашего торгового счета! А число ордеров это просто число.. по нему нельзя проходы делать.. как вы сделаете проход по числу 100? Никак.. А по списку где 100 строк, можно сделать проход каждой строки.
Число, которое возвращает функция OrdersTotal() - это простое число.. НО задумано так, что оно ВСЕГДА совпадает с числом ордеров в списке.
Если вы знаете что у вас всего 1 ордер всегда, то тогда вам достаточно работать с ордером под номером "0" безо всяких OrdersTotal()...
Вы не по числу делаете проход, а по списку ордеров вашего торгового счета! А число ордеров это просто число.. по нему нельзя проходы делать.. как вы сделаете проход по числу 100? Никак.. А по списку где 100 строк, можно сделать проход каждой строки.
Число, которое возвращает функция OrdersTotal() - это простое число.. НО задумано так, что оно ВСЕГДА совпадает с числом ордеров в списке.
Если вы знаете что у вас всего 1 ордер всегда, то тогда вам достаточно работать с ордером под номером "0" безо всяких OrdersTotal()...
Размер массива-это количество элементов массива (или ордеров например)
первый элемент имеет индекс 0, всегда,
последний - на единицу меньше, чем размер массива.
Если Вы хотите создать массив с одним элементом, то обратится к этому элементу Вы можете только так arr[0]. Во всех других случаях, Вы получите ошибку выхода за пределы массива.
С ордерами также, просто ошибки нет, но до первого элемента (ордера) по другому Вы не достучитесь.
Nerd Trader #: Я понял, OrdersTotal дает только сумму, а чтобы обратиться к ордеру мы используем OrderSelect и вот оно уже перебирает массив. Я упустил этот момент из виду.
Массив(список) перебирает ЦИКЛ. А OrderSelect только выделяет для дальнейшей работы тот ордер, порядковый номер которого был создан в этом цикле.
Nerd Trader #: Да причем тут ваши индексы и возвращаемая сумма ордеров. Создайте пару ордеров и в цикле пройдитесь по ним. Проход будет не по массиву, а числу которое вернёт OrdersTotal как обычная функция, она же не возвращает адрес на индекс массива где хранятся ордера.
Штука в том, что фор удобен тем, что давая ему количество позиций, он может заполнить какой либо массив. У меня всё сломается, если 0 скормить, потому что на кол-во позиций ArrayResize завязана. По этому у меня есть дополнительное условие if колво позиций больше 0, то вот этот цикл. Я тоже постоянно путаюсь с этим, сейчас вот опять всё перепроверил. Советуют правильно, потому что иначе фор не заполнит нулевой элемент массива, для которого и нужен фор.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Размер массива-это количество элементов массива (или ордеров например)
первый элемент имеет индекс 0, всегда,
последний - на единицу меньше, чем размер массива.
Если Вы хотите создать массив с одним элементом, то обратится к этому элементу Вы можете только так arr[0]. Во всех других случаях, Вы получите ошибку выхода за пределы массива.
С ордерами также, просто ошибки нет, но до первого элемента (ордера) по другому Вы не достучитесь.
Да причем тут ваши индексы и возвращаемая сумма ордеров. Создайте пару ордеров и в цикле пройдитесь по ним. Проход будет не по массиву, а числу которое вернёт OrdersTotal как обычная функция, она же не возвращает адрес на индекс массива где хранятся ордера.
Вы не по числу делаете проход, а по списку ордеров вашего торгового счета! А число ордеров это просто число.. по нему нельзя проходы делать.. как вы сделаете проход по числу 100? Никак.. А по списку где 100 строк, можно сделать проход каждой строки.
Число, которое возвращает функция OrdersTotal() - это простое число.. НО задумано так, что оно ВСЕГДА совпадает с числом ордеров в списке.
Если вы знаете что у вас всего 1 ордер всегда, то тогда вам достаточно работать с ордером под номером "0" безо всяких OrdersTotal()...
Вы не по числу делаете проход, а по списку ордеров вашего торгового счета! А число ордеров это просто число.. по нему нельзя проходы делать.. как вы сделаете проход по числу 100? Никак.. А по списку где 100 строк, можно сделать проход каждой строки.
Число, которое возвращает функция OrdersTotal() - это простое число.. НО задумано так, что оно ВСЕГДА совпадает с числом ордеров в списке.
Если вы знаете что у вас всего 1 ордер всегда, то тогда вам достаточно работать с ордером под номером "0" безо всяких OrdersTotal()...
Размер массива-это количество элементов массива (или ордеров например)
первый элемент имеет индекс 0, всегда,
последний - на единицу меньше, чем размер массива.
Если Вы хотите создать массив с одним элементом, то обратится к этому элементу Вы можете только так arr[0]. Во всех других случаях, Вы получите ошибку выхода за пределы массива.
С ордерами также, просто ошибки нет, но до первого элемента (ордера) по другому Вы не достучитесь.
Я понял, OrdersTotal дает только сумму, а чтобы обратиться к ордеру мы используем OrderSelect и вот оно уже перебирает массив. Я упустил этот момент из виду.
Массив(список) перебирает ЦИКЛ. А OrderSelect только выделяет для дальнейшей работы тот ордер, порядковый номер которого был создан в этом цикле.
Да причем тут ваши индексы и возвращаемая сумма ордеров. Создайте пару ордеров и в цикле пройдитесь по ним. Проход будет не по массиву, а числу которое вернёт OrdersTotal как обычная функция, она же не возвращает адрес на индекс массива где хранятся ордера.