
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В лог-файле нахожу причину того, что Эксперт слетел с графика: array out of range. В строке и колонке, на которые там указано, нолик из строки "arr[0] = Price - m_trailing_step;". То есть, нулевой элемент массива выходит за его рамки, если я правильно понял, что это значит. Кусочек кода такой:
ИИ предлагал вместо динамического массива сделать статический. Но компилятор не принимает в качестве размера массива переменную. Тогда он мне советовал добавить строку
arr = new double arr[n];
Она в коде за комментирована. Но компилятор и тут выдает одни ошибки. Буду благодарен за помощь или/и ссылки, где по теме можно почитать.В лог-файле нахожу причину того, что Эксперт слетел с графика: array out of range. В строке и колонке, на которые там указано, нолик из строки "arr[0] = Price - m_trailing_step;". То есть, нулевой элемент массива выходит за его рамки, если я правильно понял, что это значит. Кусочек кода такой:
ИИ предлагал вместо динамического массива сделать статический. Но компилятор не принимает в качестве размера массива переменную. Тогда он мне советовал добавить строку
Она в коде за комментирована. Но компилятор и тут выдает одни ошибки. Буду благодарен за помощь или/и ссылки, где по теме можно почитать.Не надо полагаться на ИскусственныйИдиотизм, он много ерунды посоветует. А вот динамическому массиву перед использованием надо задать размер ArrayResize
Приветствую Всех ! Заранее всем спасибо !
Я объединил 2 разных индикатора на основе QQE для личного использования. Эти индикаторы доступны в CodeBase.
У меня была проблема: Array out of a range.
Индикатор не работает в обновленной версии MQL4. Прекращает работу при "// # property strict".
Пожалуйста, помогите.
Уважаемые админы. Пожалуйста не игнорируйте. Мне нужна помощь в решении этой проблемы. Уже 1 неделю не могу найти решение этой проблемы.
//============================================================================
1 индикатор - QQE
2 индикатор QQE
не думал, что эта ветка продлится на 3 страницы
описываемая Вами ошибка появляется, если нет нужного элемента в массиве с индексом = ?
т.е. array[?] не существует
чтобы записать в массив с индексом ? значение, необходимо, чтобы длина массива была больше или равна значению (?+1)
длину можно проверить такой функцией:
ArraySize - Операции с массивами - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
а увеличить, либо уменьшить такой функцией
ArrayResize - Операции с массивами - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
если массив многомерый, то длину делим на количество измерений и получаем размерность по количеству строк, что соответсвует первому измерению.
удачи!
Не надо полагаться на ИскусственныйИдиотизм, он много ерунды посоветует. А вот динамическому массиву перед использованием надо задать размер ArrayResize
Благодарю. Почитал, как задать размер динамического массива функцией ArraySize, добавил строку "n=ArraySize(arr);" непосредственно перед циклом for. Теперь кусочек кода выглядит так:
И... снова та же ошибка.
Благодарю. Почитал, как задать размер динамического массива функцией ArraySize, добавил строку "n=ArraySize(arr);" непосредственно перед циклом for. Теперь кусочек кода выглядит так:
И... снова та же ошибка.