expression not boolean

 
//+----------------------------------------------------------------------------+
bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) {
  int i, k=OrdersTotal();
  

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (ot<=OrderOpenTime()) return(True);
            }
          }
        }
      }
    }
  }
  return(False);
}
//+----------------------------------------------------------------------------+

mt4 нужен метод решения ошибки expression not boolean   ...

 

на True и  False ругается компилятор, почему то сейчас нужно писать строчными буквами

замените на true и  false

 
Забавненько. Надо заменить True на true и False на false.
 
Dmitry Fedoseev:
Забавненько. Надо заменить True на true и False на false.

ага, как и TRUE и FALSE теперь тоже "вне закона"  )))

 
Если не хотите менять, то определите макросы
#define True true
#define TRUE true
#define False false
#define FALSE false
 
Спасибо вам огромное ребятишки! Помогли как никогда, я чуть было всю голову не сломал, а оказывается ларчик просто открывался... Век живи - век учись!
 
Вот ведь. Факт, и в справочнике поменяли. В маркете ладно, там компилированные файлы, а вот кодобазу править придется.
 
Valeriy Yastremskiy:
Вот ведь. Факт, и в справочнике поменяли. В маркете ладно, там компилированные файлы, а вот кодобазу править придется.

И странно в if(c==True){....};

Не ругается, а на return(True); ругается.

 
Denis Babayan:

mt4 нужен метод решения ошибки expression not boolean   ...

а в некоторых местах такая КРАСНАЯ стрелочка указывает к выходу. Остерегайтесь такого кода, вы не сможете его поддержать/сопровождать, по крайней мере это сильно затрудненно

Причина обращения: