Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 472

 
Pr0t0tip:

Здравствуйте, у меня проблема следующая. Журнал при тесте выдает OrderModify 130, помогите найти выход. Вот код советника:


SL = NormalizeDouble(Bid+StopLoss*Point, Digits);

SL = NormalizeDouble(Bid-TakeProfit*Point, Digits);     Здесь поменяй   SL  на   TP
SL = NormalizeDouble(Ask-StopLoss*Point, Digits);

SL = NormalizeDouble(Ask+TakeProfit*Point, Digits);     И здесь
 

'}' - not all control paths return a value

выделяет такую ошибку в функции.....хоть она и возвращает значение и вполне нормально работает в другом индикаторе без этой ошибки


 
Zver4991:

'}' - not all control paths return a value

выделяет такую ошибку в функции.....хоть она и возвращает значение и вполне нормально работает в другом индикаторе без этой ошибки



Открой в новом редакторе, выдели первую скобку и проверь последнюю, все будет сразу видно.
 

Подскажите, возможно ли организовать пошаговый прогон программы в режиме отладки? И добавить еще переменные для слежения

 
Zver4991:

'}' - not all control paths return a value

выделяет такую ошибку в функции.....хоть она и возвращает значение и вполне нормально работает в другом индикаторе без этой ошибки


Это сообщение о том, что в функции есть варианты ветвления, когда она может ничего не возвращать. Например:

//+----------------------------------------------------------------------------+
int TestFunc(int a) {
   if(a>2 || a<0) a=2;
   if(a==0) return(1);
   else if(a==1) return(2);
   else if(a==2) return(3);
}
//+----------------------------------------------------------------------------+

Вроде бы значение переменной a ограничено диапазоном от 0 до 2, но всё-равно компилятор считает это ошибкой.

Поставьте перед закрывающей скобкой тела функции return() с дефолтным значением возврата из функции и всё будет зер гут:

//+----------------------------------------------------------------------------+
int TestFunc(int a) {
   if(a>2 || a<0) a=2;
   if(a==0) return(1);
   else if(a==1) return(2);
   else if(a==2) return(3);
   return(-1);
}
//+----------------------------------------------------------------------------+
 
artmedia70:

Это сообщение о том, что в функции есть варианты ветвления, когда она может ничего не возвращать. Например:

Вроде бы значение переменной a ограничено диапазоном от 0 до 2, но всё-равно компилятор считает это ошибкой.

Поставьте перед закрывающей скобкой тела функции return() с дефолтным значением возврата из функции и всё будет зер гут:


А если тип не int у человека?

тип функции - возвращаемый результат в конце функции

int  - return(-1);

void - return;

bool - return(false);

string - return(""); 
 
artmedia70:

Это сообщение о том, что в функции есть варианты ветвления, когда она может ничего не возвращать. Например:

Вроде бы значение переменной a ограничено диапазоном от 0 до 2, но всё-равно компилятор считает это ошибкой.

Поставьте перед закрывающей скобкой тела функции return() с дефолтным значением возврата из функции и всё будет зер гут:


большое спасибо.....спасли мои нерввы
 
Vladon:


А если тип не int у человека?

тип функции - возвращаемый результат в конце функции


Это к чему? Я ж просто привёл пример - первое, что в голову взбрело. Мог бы написать функцию, возвращающую любой другой тип данных (кроме void)... От этого суть не меняется.
 
artmedia70:
Это к чему? Я ж просто привёл пример - первое, что в голову взбрело. Мог бы написать функцию, возвращающую любой другой тип данных (кроме void)... От этого суть не меняется.


я просто уточнил по типу данных. это ветка вопросов от новичков, стало быть они подумают что в любой функции одинаковый return
 

Помогите с ошибками!

Решил сделать советника под себя на основе примера из справочника mql4. Но ув. вечно какие-то ошибки выдает, уже неделю с ним парюсь ничего не выходит.

Посмотрите скажите что не так может что-то убрать или изменить нужно помимо скоб.

Ошибки:

'}' - unexpected end of program expert.mq4 218 3

'{' - unbalanced parentheses expert.mq4 23 2

Файлы:
expert_1.mq4  9 kb
Причина обращения: