Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Классы. Пространства имён, на крайний случай.
вот такая проблемка - запускаю эксперта на визуале,
нажимаю на кнопку открыть сделку - панель стоит на оффлайн графике - нажимаю кнопку - открывается на счете :-)
Внутри классов тоже есть внешние переменные относительно внутренних.
Но они неглобальные.
Сейчас в С++ проверил. Ошибок и предупреждений на уровне 4 нет.
Значит так было проще сделать в компиляторе MQL4, чем усложнять. Когда происходила инициализация в теле функции, ещё можно было понять, но при отсутствии инициализации. Не понятно...
У меня ниразу не было такой проблемы в MQL.
у емня норм ванклик пашет, свой собственный. а ВЫ не про это?
Да рынок стопориться когда ордер пытается открыться - согласен.
свой собственный оно понятно, что работает
фокус покус:
слева - моя папка с терминала
справа - сохраняю эксперта в этой папке
Фокус: в папке эксперта нет, а компилятор его видит как уже есть он.
Но они неглобальные.
Сейчас в С++ проверил. Ошибок и предупреждений на уровне 4 нет.
Значит так было проще сделать в компиляторе MQL4, чем усложнять. Когда происходила инициализация в теле функции, ещё можно было понять, но при отсутствии инициализации. Не понятно...
У меня ниразу не было такой проблемы в MQL.
Какой тут конфликт? Редактор ругается на декларацию новой переменной хотя этого тут нет и в помине.
Компилятор не ругается ни о чём. Он вас предупреждает. А предупреждает он вот о чём:
Так как у вас есть глобальная переменная с именем num, то она должна быть видна во всех функциях программы. В одной из функций программы вы объявляете переменную с таким же именем num. Так как видимость этой переменной ограничено пределами функции, в которой она объявлена, то компилятор вас предупреждает, что в данной функции от вас будет скрыто значение глобальной переменной num - так как в этой функции есть такая же переменная и будет использоваться значение именно этой локальной переменной.
А ведь компилятор не знает значение какой именно переменной вы желаете использовать в этой функции - глобальной, или той, что объявлена локально. Посему он вас предупреждает - значение глобальной переменной внутри этой функции для вас скрыто, а доступно значение локальной переменной. Вам решать правильно вы используете эту переменную, или нет. Но компилятор видит вероятный конфликт и сообщает об этом.
Всё верно он делает.
Компилятор не ругается ни о чём. Он вас предупреждает. А предупреждает он вот о чём:
Так как у вас есть глобальная переменная с именем num, то она должна быть видна во всех функциях программы. В одной из функций программы вы объявляете переменную с таким же именем num. Так как видимость этой переменной ограничено пределами функции, в которой она объявлена, то компилятор вас предупреждает, что в данной функции от вас будет скрыто значение глобальной переменной num - так как в этой функции есть такая же переменная и будет использоваться значение именно этой локальной переменной.
А ведь компилятор не знает значение какой именно переменной вы желаете использовать в этой функции - глобальной, или той, что объявлена локально. Посему он вас предупреждает - значение глобальной переменной внутри этой функции для вас скрыто, а доступно значение локальной переменной. Вам решать правильно вы используете эту переменную, или нет. Но компилятор видит вероятный конфликт и сообщает об этом.
Всё верно он делает.
До меня дошло, а чём Андрей говорит.
В С++ это правило. Предупреждений никаких нет. Типа, это и так все знают.
В MQL4 сделали такое предупреждение на всякий случай. Сервис такой. Андрею он не нравится :-)