Не могу разобраться, при #property strict выдаёт 4 ошибки и как исправить не пойму.
Индикатор МТ4. Нужна помощь!!
В ретурне нельзя ставить условия, возвращайте только значение.
Например, return(true)
В ретурне нельзя ставить условия, возвращайте только значение.
Например, return(true)
Но только тип функции придётся поменять. Или возвращать тру-фалс.
Эт как?)) Но значение надо вернуть.
Ну например так
{
bool r=false;
for(int k=count-1; k>=0; k--)
if(Low[i+count]>=Low[i+k]) {break;r=true;}
return(r);
}
З.Ы.: извиняюсь, ошибочка была, исправил.
По-моему в коде слишком много break )))
И в главном цикле лучше на одну итерацию меньше делать, а то ругатся на вылет за пределы массива будет - for(i=limit-1; i>=0; i--)
Ну например так
Не работает так, все сигналы пропадают.
Также если просто заменить на return(0); сигналы тоже пропадают вообще
Надо как то вернуть значение.
Не работает так, все сигналы пропадают.
Также если просто заменить на return(0); сигналы тоже пропадают вообще
Надо как то вернуть значение.
Код написан так, чтобы в условии сравнивать результат на правдивость. Значит возвращать нужно тру-фалс, как я написал.
Чтобы возвращать что-то другое, нужно будет поменять тип функций и условия.
Опишите словами, что вы хотите от этого индикатора.Например, что вы ожидаете получить с этого?
if(High[i]){}???
Мойа не понимать...
И в главном цикле лучше на одну итерацию меньше делать, а то ругаться на вылет за пределы массива будет - for(i=limit-1; i>=0; i--)
Тут же есть -1
for(i=limit; i>=0; i--) {
Тут же есть -1
for(i=limit; i>=0; i--) {
Например, что вы ожидаете получить с этого?
if(High[i]){}???
Мойа не понимать...
Сами условия для сигналов в коде убраны (конспирация)
надо только исправить ошибки, но не терять возвращаемое значение))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Не могу разобраться, при #property strict выдаёт 4 ошибки и как исправить не пойму.
Ошибки на return(k==-1); и return(k > 0);
Просто поменять на return(0); нельзя!!!
for (int k=count-1; k>=0; k--)
if (Low[i+count] >= Low[i+k]) break;
return(k==-1);
}
//-------------------------------------+
bool checkLowRef (int count, int i) {
for (int k=count-1; k> 0; k--)
if (Low[i+k] < Low[i]) break;
return(k > 0);
}