Самообучение языку MQL5 с полного нуля - страница 22

 
Реter Konow:
По сути, условие выше всегда истина, как 2 = 2. Поэтому if (оператор условия) здесь не работает, а компилятор выдаст предупреждение на такой код.

Здравствуйте, Петер! Компилятор ни каких предупреждений не выдал.

С уважением, Владимир.

 
MrBrooklin:

Скорее всего чего-то недопонял, раз такая реакция.

В скрипте New6.mq5 мною было записано условие: "Для отложенных ордеров Buy Stop и Sell Stop вместо input применим новую для нас директиву #define. Она позволит нам задавать в коде скрипта нужные типы отложенных ордеров, но при этом они не будут отображаться во входных параметрах скрипта при запуске его в работу. Зададим переменные, определяющие типы отложенных ордеров orderType1 и orderType2. Для этих переменных запишем имена "BUY_STOP" и "SELL_STOP"".

Прошу подсказать, что неправильно сделал в плане реализации данного условия.

С уважением, Владимир.

Все в порядке. Условия по сути нет, как нет условия в выражении if (2 == 2). Тут работает обычная, бытовая логика. :)
 
MrBrooklin:

Скорее всего чего-то недопонял, раз такая реакция.

С уважением, Владимир.

Вам же, уважаемый участник форума Koldun Zloy дал развернутый ответ. Ошибка в макросе. Зачем Вы вообще стали использовать макросы? Вот зачем они в этой задаче? Макросы мощный инструмент, об который можно легко убится. Но первое что Вы далаете, начинаете использовать макросы.

 
MrBrooklin:

Здравствуйте, Петер! Компилятор ни каких предупреждений не выдал.

С уважением, Владимир.

По идеи, должен был выдать предупреждение предлагающее проверить условие. (Желтый треугольник в окне компиляции).
 
Реter Konow:
Все в порядке. Условия по сути нет, как нет условия в выражении if (2 == 2). Тут работает обычная, бытовая логика. :)

Понимаю, что для специалистов в программировании мои ляпы выглядят неуклюже. Может быть не правильно условие по написанию кода для себя составил?

С уважением, Владимир.

 
Vasiliy Sokolov:

Вам же, уважаемый участник форума Koldun Zloy дал развернутый ответ. Ошибка в макросе. Зачем Вы вообще стали использовать макросы? Вот зачем они в этой задаче? Макросы мощный инструмент, об который можно легко убится. Но первое что Вы далаете, начинаете использовать макросы.

Значит, пока не разобрался в данном вопросе и есть над чем работать.

С уважением, Владимир.

 
Реter Konow:
По идеи, должен был выдать предупреждение предлагающее проверить условие. (Желтый треугольник в окне компиляции).

Не должен, справа значение, а слева подстановка, так что все верно.

 
MrBrooklin:

Понимаю, что для специалистов в программировании мои ляпы выглядят неуклюже. Может быть не правильно условие по написанию кода для себя составил?

С уважением, Владимир.

Вы не с того начали обучение. Вы всё понимаете что написано в коде? Все операторы, ключевые слова?

Контрольный вопрос по коду:

Что означают данные строки?

if(!OrderSend(request,result))
      PrintFormat("OrderSend error %d",GetLastError());
 
Реter Konow:
По идеи, должен был выдать предупреждение предлагающее проверить условие. (Желтый треугольник в окне компиляции).

Проверил ещё несколько раз - компилятор ничего не выдает.

С уважением, Владимир.

 
MrBrooklin:

Понимаю, что для специалистов в программировании мои ляпы выглядят неуклюже. Может быть не правильно условие по написанию кода для себя составил?

С уважением, Владимир.

Это условие там вообще не нужно. Какую роль оно играет? Сможете обьяснить?
Причина обращения: