Иди туда 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)) { ...
}
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть код:
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 "должны быть проверены
Как это сделать?