WePlexus:
Массив увеличивайте динамически
Еще вчера индикатор отлично работал, рисовал линии себе. Сегодня заново скомпилировал - не работает. Линий не рисует, а ошибку выдает "array out of range".
Обычный себе код (примерно написано):
Ошибку говорит, на строке (Bars_Bulls[i] = 1;)
Почему это появляется, я не так работаю с массивами? Вчера еще все работало. Массивы всех стандартных индикаторов, кажется, так и написаны.
artmedia70:
Массив увеличивайте динамически
А как, можно пример?
Массив увеличивайте динамически
WePlexus:
А как, можно пример?
У вас нулевой размер массива. Куда там значение вписывать? Заведите переменную, хранящую размер массива и увеличивайте ее значение каждый раз перед записью в массив нового значения. Потом ArrayResize(Bars_Bulls,имя_этой_переменной); И только потом уже запись значения в массив. Хотя... Для каждого случая может быть своё решение..
А как, можно пример?
artmedia70:
У вас нулевой размер массива. Куда там значение вписывать? Заведите переменную, хранящую размер массива и увеличивайте ее значение каждый раз перед записью в массив нового значения. Потом ArrayResize(Bars_Bulls,имя_этой_переменной); И только потом уже запись значения в массив. Хотя... Для каждого случая может быть своё решение..
У вас нулевой размер массива. Куда там значение вписывать? Заведите переменную, хранящую размер массива и увеличивайте ее значение каждый раз перед записью в массив нового значения. Потом ArrayResize(Bars_Bulls,имя_этой_переменной); И только потом уже запись значения в массив. Хотя... Для каждого случая может быть своё решение..
[] эти вот кажется создается безразмерный массив. а [i] я создаю новое значение массива.
Было конечно удобней, чтобы программа сама "видела" количество элементов массива, без дополнительный функций.
Буду изучать. Спасибо за помощь.
В MT4 зайди в include\arrays
Там готовый класс ArrayInt.mqh
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Еще вчера индикатор отлично работал, рисовал линии себе. Сегодня заново скомпилировал - не работает. Линий не рисует, а ошибку выдает "array out of range".
Обычный себе код (примерно написано):
Ошибку говорит, на строке (Bars_Bulls[i] = 1;)
Почему это появляется, я не так работаю с массивами? Вчера еще все работало. Массивы всех стандартных индикаторов, кажется, так и написаны.