Здравствуйте , помогите пожалуйста разобраться , где допускаю ошибку ?
сам код, на графике перестал показывать
этот поменял
на это
for(int i=limit; i>cciTrendNow=; i --)
Все равно на графике не появился.
ОК. Наводящие вопросы: что это за переменная, какого она типа и какой смысл ее установки в цикл по барам?
cciTrendNow
Все равно на графике не появился.
Если это индикатор, то в нем должна быть функция OnCalculate(), а не start()
И вообще, стоит поменять названия функций. https://docs.mql4.com/ru/runtime/running
- docs.mql4.com
Вместо этого
limit=Bars-counted_bars;
Поставьте вот это и будет вам счастье))
limit = MathMin(Bars-counted_bars,Bars-1); if (counted_bars==0) {limit--; limit-=10;} else limit++;
Вместо этого
Поставьте вот это и будет вам счастье))
Так а Вы проверьте, прежде, чем советовать )) Никакого счастья не будет ;) Проблема ведь не в этом участке кода, а в строке цикла. Сначала нужно узнать, какая была цель изменения цикла и почему было решено, что тип double в целочисленном цикле это нормально.
Так а Вы проверьте, прежде, чем советовать )) Никакого счастья не будет ;) Проблема ведь не в этом участке кода, а в строке цикла. Сначала нужно узнать, какая была цель изменения цикла и почему было решено, что тип double в целочисленном цикле это нормально.
Цикла пробовал менять из кода #property strict, после того как его добавил индикатор исчез из графики, если убрать #property strict все наладится а с кодом не хочет!
Цикла пробовал менять из кода #property strict, после того как его добавил индикатор исчез из графики, если убрать #property strict все наладится а с кодом не хочет!
Когда индикатор без директивы #property strict, то терминал не обращает внимания на критические ошибки при выполнении программы. С этой же директивой проверяет и реагирует. В журнале появляется такая запись:
2021.05.28 12:14:26.522 Test CHFJPY,H1: array out of range in 'Test.mq4' (78,41)
Это выход за пределы массива-таймсерии Low. Чтобы не было такой ошибки, нужно либо передать корректный индекс бара, либо проверить корректность индекса элемента массива перед его использованием. Второй вариант, конечно, предпочтительнее, но в данном случае намного проще сразу позаботиться о передаче корректного значения. Для этого в первом варианте кода строку:
limit=Bars-counted_bars;
заменить на:
limit = int(fmin(Bars - counted_bars, Bars - CCIperiod));
2021.05.28 12:14:26.522 Test CHFJPY,H1: array out of range in 'Test.mq4' (78,41)
да именно такая запись было, поменял и все заработала . Спасибо большое за помощь .Благодарю )
Здравствуйте , помогите пожалуйста разобраться , где допускаю ошибку ?
сам код, на графике перестал показывать
на это
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте , помогите пожалуйста разобраться , где допускаю ошибку ?
сам код, на графике перестал показывать
на это