Ошибки, баги, вопросы - страница 3148
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А всё потому, что буфер IndBuff не аллоцируется до rates_total + 1
И ArrayResize к нему не применим.
Сломали for конструкцию. Теперь через if-ы всё городить?
for(int i=limit - 1;....
как минимум..
А всё потому, что буфер IndBuff не аллоцируется до rates_total + 1
И ArrayResize к нему не применим.
for(int i=limit - 1;....
как минимум..
Знаешь, что больше всего неприятно? Что любые поведения изменяют молча, без предупреждений.
А люди потом мучаются. Надоел этот метатрейдер.
Знаешь, что больше всего неприятно? Что любые поведения изменяют молча, без предупреждений.
А люди потом мучаются. Надоел этот метатрейдер.
Знаешь, что больше всего неприятно? Что любые поведения изменяют молча, без предупреждений.
А люди потом мучаются. Надоел этот метатрейдер.
Не заметил изменения в расчёте индикаторов. Выше вам Николай всё верно расписал что означают значения limit, рассчитанного как rates_total-prev_calculated.
И это работает годами - ещё с четвёртого терминала.
Вот эдесь то Вам и нужна минус единичка :))
Николай я знаю конструкции if и за единичку,
но я всегда работал с for, просто привык, удобнее что-ли.
Но давно заметил странности с for, и всё откладывал разобраться с ним.
Раньше же замечательно работало
для тиков i>=0
для баров i>0
И не каких if-ов не нужно было.
Шаг 1: Создаём заготовку при помощи 'MQL5 Wizard':
Шаг 2: правильно прописываем 'limit' и ИСПОЛЬЗУЕМ массив close - А НЕ вызов iClose!!!
Результат:
и нет никаких ошибок.
Шаг 1: Создаём заготовку при помощи 'MQL5 Wizard':
Шаг 2: правильно прописываем 'limit' и ИСПОЛЬЗУЕМ массив close - А НЕ вызов iClose!!!
Результат:
и нет никаких ошибок.
За прямой i++ пример конечно спасибо.
Но то, что у меня обратный цикл, вы не заметили.
И если iClose приведён для примера, значит он нужен чтоб показать, что в дальнейшем используется индекс i в других функциях.
Николай я знаю конструкции if и за единичку,
else if
здесь ошибся
лучше использовать
если limit != 1
то есть вся логика примерно какая:
Понимаю, что некоторые будут возмущаться и говорить зачем пересчитывать все, если limit == 2,но когда limit не равен 1 и не равен 0, то значит это первая инициализация индикатора, или что-то пошло не так (например сбой соединения или сбой на сервере)
Более того, я не раз нарывался на ситуации, когда prev_calculated было больше rates_total. Возможно это раньше был глюк какой-то и сейчас исправили, но с тех пор использую именно такую конструкцию от греха подальше.
если limit != 1