Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 496
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Так попробуйте
Так мне не надо - зачем мне 365 дней?
Ну по сути, да, предупреждение не ошибка. Но как отработает начальный вариант if( Low[X]>PriceBuy && High[X]>PriceBuy || Low[X]<PriceBuy && High[X]<PriceBuy ) ? Или руки обломятся поставить пару скобок?
Руки то не обломятся, просто не думал, что в этом есть необходимость - или может изменится логика приоритетов компилятора и это нужно что б код продолжил правильно работать?
А какая компилятору тут польза, ведь значение по прежнему может быть отрицательно!?
Вообще компилятор на любимый многими "i" вопит не меньше ;)
Так мне не надо - зачем мне 365 дней?
Руки то не обломятся, просто не думал, что в этом есть необходимость - или может изменится логика приоритетов компилятора и это нужно что б код продолжил правильно работать?
А какая компилятору тут польза, ведь значение по прежнему может быть отрицательно!?
Вообще компилятор на любимый многими "i" вопит не меньше ;)
Если Low[X] всегда меньше High[X], достаточно писать
if (Low[X]>PriceBuy || High[X]<PriceBuy), что и быстрее работало бы!
Если Low[X] всегда меньше High[X], достаточно писать
if (Low[X]>PriceBuy || High[X]<PriceBuy), что и быстрее работало бы!
Так мне не надо - зачем мне 365 дней?
Руки то не обломятся, просто не думал, что в этом есть необходимость - или может изменится логика приоритетов компилятора и это нужно что б код продолжил правильно работать?
А какая компилятору тут польза, ведь значение по прежнему может быть отрицательно!?
Вообще компилятор на любимый многими "i" вопит не меньше ;)
Так мне не надо - зачем мне 365 дней?
Вообще компилятор на любимый многими "i" вопит не меньше ;)
Если меньше ноля, то и цикла не будет. Вы всё бездумно делаете?
А чем мой вариант отличается от Вашего в таком случае?
Я не мог бы всё делать бездумно, но иногда этого хотелось бы...
Пишите правильно , воплей не будет
Как правильно? Я вот только учусь азам - поэтому и вопросы тут задаю, зачем мне говорить "правильно делай", если я не знаю как оно должно быть правильно? ;)
Так как избежать предупреждения об ошибке, если в циклах обычно происходит инициализация переменной "i"?
А чем мой вариант отличается от Вашего в таком случае?
Я не мог бы всё делать бездумно, но иногда этого хотелось бы...
Как правильно? Я вот только учусь азам - поэтому и вопросы тут задаю, зачем мне говорить "правильно делай", если я не знаю как оно должно быть правильно? ;)
Так как избежать предупреждения об ошибке, если в циклах обычно происходит инициализация переменной "i"?
Как правильно? Я вот только учусь азам - поэтому и вопросы тут задаю, зачем мне говорить "правильно делай", если я не знаю как оно должно быть правильно? ;)
Так как избежать предупреждения об ошибке, если в циклах обычно происходит инициализация переменной "i"?
здесь русским по белому написано https://docs.mql4.com/ru/basis/operators/for
здесь русским по белому написано https://docs.mql4.com/ru/basis/operators/for
https://docs.mql4.com/ru/basis/variables/variable_scope
Спасибо, но первую ссылку я ранее читал, а вторая подтвердила логику которой я пользовался при написании кода.
Однако смущает это утверждение из второй ссылки "... за пределами этого цикла действует другая переменная с тем же именем...", из неё следует, что значение глобальной переменной останется прежним не смотря на то, что внутри блока будет объявлена новая переменная с таким же именем, но сие бред так как если объявить новую переменную, то значение прежней затрется, тогда мне не ясно, какой тут смысл использовать и хранить две разных переменных (локальную и глобальную), но с одинаковым значением?
Спасибо, но первую ссылку я ранее читал, а вторая подтвердила логику которой я пользовался при написании кода.
Однако смущает это утверждение из второй ссылки "... за пределами этого цикла действует другая переменная с тем же именем...", из неё следует, что значение глобальной переменной останется прежним не смотря на то, что внутри блока будет объявлена новая переменная с таким же именем, но сие бред так как если объявить новую переменную, то значение прежней затрется, тогда мне не ясно, какой тут смысл использовать и хранить две разных переменных (локальную и глобальную), но с одинаковым значением?
По-моему, вы бред пишите. Если объявить локальную переменную внутри цикла ли, функции ли, то значение глобальной переменной с тем же именем не затрётся, а останется прежним, но компилятор вас предупредит, что вы объявили локальную переменную с таким же именем, как и уже существующая глобальная, и работа внутри функции или блока кода, в пределы видимости которого входит вновь объявленная переменная, не повлияет на значение глобальной переменной. Он вас предупреждает об этом, чтобы вы понимали, что это новая переменная, и чтобы вы не ожидали изменения значения глобальной переменной после выхода за пределы видимости блока, в котором объявили новую переменную с таким же именем, как уже существующая глобальная.
По-простому: всё, что находится внутри квартиры - всё относится ко всем комнатам и во всех комнатах оно обще-квартирное (глобальная переменная). А всё, что находится внутри комнаты - то относится только к комнате, и не видно из других комнат (это локальные переменные).
Ещё проще? Пожалуйста:
Если вы испортили воздух в туалете (локально), то он именно там и испорчен. При этом во всей квартире (глобально) знают (результат ваших туалетных опытов), что в туалет лучше не соваться... Но воздух - понятие для всей квартиры, и все жильцы знают об испорченном воздухе в туалете. При этом лишь счастливчик, находящийся в туалете, может в полной мере ощутить все прелести изменения локальной обстановки в пределах замкнутого пространства (локальное влияние значения переменной). Остальные об этом знают, но не ощущают. Когда же вы покидаете туалет, то теряете ощущения (локальные значения), которые испытывали в туалете, и начинаете дышать свежим воздухом (получаете глобальные значения воздуха), при этом, как и все остальные, зная, что в толчке пипец (результат работы функции заражения воздуха, влияющий на общий процесс жизнедеятельности всей квартиры)...
Надеюсь, понятно рассказал