![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это не баг. Это именно так и реализовано с самого начала. А именно: "Обновление значения переменной, передаваемой по ссылке, происходит только после выхода из функции."
И это поведение не будет меняться.
Кстати проверил это утверждение и оно ошибочно - после выхода из функции обновления переменной не происходит и все расчеты становятся напрасными. На распечатке будет func1: x=1,func2: x=2,func1: x=1
Кстати проверил это утверждение и оно ошибочно - после выхода из функции обновления переменной не происходит и все расчеты становятся напрасными. На распечатке будет func1: x=1,func2: x=2,func1: x=1
Что это Вы представили в качестве примера?
В функции func2 переменная x глобальна (так как нет её ни среди локальных переменных, ни среди параметров)
В функции func1 переменная x локальна. По факту - это совершенно разные переменные.
То что Вы продемонстрировали, никак не противоречит моему утверждению: "переменная, переданная по ссылке, обновляется только после выхода из функции". Вы вызываете функцию func2, ещё не выйдя из функции func1.
В функции func1 переменная x локальна. По факту - это совершенно разные переменные.
Чтобы х была локальна внутри func1, нужно либо объявить внутри функции новую переменную х либо передать копию глобальной, но тогда это описывается func1(int x).
Если же она была бы локальна и была бы другой переменной, то она не должна была никак влиять на глобальную переменную х, которая изменяется внутри func1.
хватит уже флудить, объяснили как работает, вот и используйте, не нравится - напишите свою версию mql41/2 и пользуйтесь ей..
вот еще баг компилятора с видимостью переменных. на распечатке будет func1:x=1, func2:x=0 хотя это та же самая переменная.
вместо флуда лучше бы вы объяснили как это работает, если поняли, а то все объяснения пока что не подтвердились на практике.
Я думаю что так:
Новая версия... Новая версия... = головная боль трейдерам.
На моём стареньком нетбуке последняя версия уже вопще не запускается даже.
Хотелось бы взглянуть на минимальные требования к железу.
Почему их не указывают, и при выпуске каждой следующей версии в том числе ?
Если новая версия челу уже не подходит по железу - у пользователя должен быть выбор, обновляться или продолжать
работу на той версии, что у него уже работает.
Ведь железо человек обновляет раз в год, а то и в пятилетку,
а вы шлёпаете обновления, как пирожки на привокзальной площади... - за вами попросту не угнаться.
И как я вижу по коментам пользователей - либо вовсе их не обкатываете, либо этот процесс выполняется весьма частичноусловно...
...
Купите "железное" феррари и катайтесь на нём вплоть до МТ8! :-)
Нет баблеца на мин требования по железу? - слушайте А.Герчика - он фигню не скажет: "Идите работать на стройку или таксистом. Позже приходите, как будете нам интересны."
Например каждые 50 пипсов относительно круглых уровней и полностью отменить сетку по вертикали,
достаточно уже имеющихся разделителей периодов.
Если "нет" то сделайте это возможным в будущих версиях (можно и через ini файл).