Как проверить возвращаемое значение

 

Есть код:

void BuyOrder4()

{

double SL = Ask - BuyStoploss4*PipValue*Point;

if (BuyStoploss4 == 0) SL = 0;

double TP = Ask + BuyTakeprofit4*PipValue*Point;

if (BuyTakeprofit4 == 0) TP = 0;

int ticket = -1;

if (true)

ticket = OrderSend(Symbol(), OP_BUY, BuyLots4, Ask, 4, 0, 0, "My Expert", 1, 0, Blue);

else

ticket = OrderSend(Symbol(), OP_BUY, BuyLots4, Ask, 4, SL, TP, "My Expert", 1, 0, Blue);

if (ticket > -1)

{

if (true)

{

OrderSelect(ticket, SELECT_BY_TICKET); // вот здесь выдаёт предупреждение: return value of 'OrderSelect' should be checked

// Возвращаемое значение 'OrderSelect "должны быть проверены

bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue);

if (ret == false)

Print("OrderModify() error - ", ErrorDescription(GetLastError()));

}

}

else

{

Print("OrderSend() error - ", ErrorDescription(GetLastError()));

}

}

Компилятор выдаёт предупреждение: return value of 'OrderSelect' should be checked

Возвращаемое значение 'OrderSelect "должны быть проверены

Как это сделать?

 
Иди туда https://forum.mql4.com/ru/62037
 
OrderSelect(ticket, SELECT_BY_TICKET); // вот здесь выдаёт предупреждение: return value of 'OrderSelect' should be checked

Так

if(OrderSelect(ticket, SELECT_BY_TICKET))

{  

...

} 
 
OrderSelect(ticket, SELECT_BY_TICKET); // вот здесь выдаёт предупреждение: return value of 'OrderSelect' should be checked

Так

if(OrderSelect(ticket, SELECT_BY_TICKET))

{  

...

}
Прошу прощения, но ваш вариант не прошел. И сё дело оказалось в том, что OrderSelect(ticket, SELECT_BY_TICKET); вообще нужно убрать из-за излишества кода. В новой версии редактора теперь усилена проверка на корректность написания кода. И эта строчка оказалась лишней. Предупреждения исчезли советник работает как часы. Спасибо за уделённое внимание.
 

Было такое, поменял все орущие ошибки на

bool or=OrderSelect(...);

 
reterwer:

Прошу прощения, но ваш вариант не прошел. И сё дело оказалось в том, что OrderSelect(ticket, SELECT_BY_TICKET); вообще нужно убрать из-за излишества кода. В новой версии редактора теперь усилена проверка на корректность написания кода. И эта строчка оказалась лишней. Предупреждения исчезли советник работает как часы. Спасибо за уделённое внимание.

Если такой вариант не прошёл, значит было сделано не так как предложено...
Тебе повезло, что твой код работает только с одним ордером. Но в дальнкейшем ты столкнёшься с более серьёзными ошибками которые компилятор не определяет.
 
AlexeyVik:
Если такой вариант не прошёл, значит было сделано не так как предложено...
Тебе повезло, что твой код работает только с одним ордером. Но в дальнкейшем ты столкнёшься с более серьёзными ошибками которые компилятор не определяет.


Спасибо, все проходит. Предупреждения после вставки проверки пропали.

Было так в старом коде мкл4: OrderSelect(ticket, SELECT_BY_TICKET);

В новом действительно проходит только так, можно конечно и с предупреждением было оставить, но как то некрасиво)

if(OrderSelect(ticket, SELECT_BY_TICKET))

{  

...
 

}