Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 496

 
Alexey Kozitsyn:

Отработается он так, как я написал выше.

А компилятор на то и предупреждает, чтобы пользователь не ленился и ставил скобки, дабы избежать возможных не очевидных ошибок. 

Потому я и не забиваю свою микросхему памяти этими приоритетами, поставил скобки и уверен что работать будет так как я задумал.
 
Alexey Viktorov:
Потому я и не забиваю свою микросхему памяти этими приоритетами, поставил скобки и уверен что работать будет так как я задумал.
Я с Вами полностью в этом согласен, делаю так же. Но раз уж задали вопрос...
 
pako:
Так попробуйте

Так мне не надо - зачем мне 365 дней?


Alexey Viktorov:

Ну по сути, да, предупреждение не ошибка. Но как отработает начальный вариант if( Low[X]>PriceBuy && High[X]>PriceBuy || Low[X]<PriceBuy && High[X]<PriceBuy ) ? Или руки обломятся поставить пару скобок?

Руки то не обломятся, просто не думал, что в этом есть необходимость - или может изменится логика приоритетов компилятора и это нужно что б код продолжил правильно работать?


Artyom Trishkin:

А какая компилятору тут польза, ведь значение по прежнему может быть отрицательно!?

Вообще компилятор на любимый многими "i" вопит не меньше ;)

 
-Aleks-:

Так мне не надо - зачем мне 365 дней?


Руки то не обломятся, просто не думал, что в этом есть необходимость - или может изменится логика приоритетов компилятора и это нужно что б код продолжил правильно работать?


А какая компилятору тут польза, ведь значение по прежнему может быть отрицательно!?

Вообще компилятор на любимый многими "i" вопит не меньше ;)

Если Low[X] всегда меньше High[X], достаточно писать

if (Low[X]>PriceBuy || High[X]<PriceBuy), что и быстрее работало бы!

 
Boris:

Если Low[X] всегда меньше High[X], достаточно писать

if (Low[X]>PriceBuy || High[X]<PriceBuy), что и быстрее работало бы!

Согласен - можно короче, просто когда пишу не думаю над оптимизацией - откладываю на потом... спасибо. 
 
-Aleks-:

Так мне не надо - зачем мне 365 дней?


Руки то не обломятся, просто не думал, что в этом есть необходимость - или может изменится логика приоритетов компилятора и это нужно что б код продолжил правильно работать?


А какая компилятору тут польза, ведь значение по прежнему может быть отрицательно!?

Вообще компилятор на любимый многими "i" вопит не меньше ;)

Если меньше ноля, то и цикла не будет. Вы всё бездумно делаете?
 
-Aleks-:

Так мне не надо - зачем мне 365 дней?

Вообще компилятор на любимый многими "i" вопит не меньше ;)

Пишите правильно , воплей не будет
 
Artyom Trishkin:
Если меньше ноля, то и цикла не будет. Вы всё бездумно делаете?

А чем мой вариант отличается от Вашего в таком случае?

Я не мог бы всё делать бездумно, но иногда этого хотелось бы...


pako:
Пишите правильно , воплей не будет

Как правильно? Я вот только учусь азам - поэтому и вопросы тут задаю, зачем мне говорить "правильно делай", если я не знаю как оно должно быть правильно? ;)

Так как избежать предупреждения об ошибке, если в циклах обычно происходит инициализация переменной "i"?

 
-Aleks-:

А чем мой вариант отличается от Вашего в таком случае?

Я не мог бы всё делать бездумно, но иногда этого хотелось бы...


Как правильно? Я вот только учусь азам - поэтому и вопросы тут задаю, зачем мне говорить "правильно делай", если я не знаю как оно должно быть правильно? ;)

Так как избежать предупреждения об ошибке, если в циклах обычно происходит инициализация переменной "i"?

Читайте справку о видимости переменных.
 
-Aleks-:

Как правильно? Я вот только учусь азам - поэтому и вопросы тут задаю, зачем мне говорить "правильно делай", если я не знаю как оно должно быть правильно? ;)

Так как избежать предупреждения об ошибке, если в циклах обычно происходит инициализация переменной "i"?

здесь русским по белому написано https://docs.mql4.com/ru/basis/operators/for

 

                                               

Оператор цикла for - Документация на MQL4
  • docs.mql4.com
Оператор цикла for - Документация на MQL4
Причина обращения: