Artyom Trishkin: В справке написано что для чего нужно. И, да, это правильно, что введённый пользователем параметр нельзя программно менять. Хоть что-то принадлежать может пользователю :)
Переменные, объявленные внутри блока (на внутреннем уровне), имеют областью действия блок.
Если блоки вложены и идентификатор во внешнем блоке имеет такое же имя, как идентификатор во внутреннем блоке, идентификатор внешнего блока "невидим" (скрыт) до момента завершения работы внутреннего блока.
Но даже пример из того же справочника не компилируется с этой же ошибкой "variable already defined":
int i=5; // локальная переменная функции
{
int i=10; // переменная функции Print("В блоке i = ",i); // результат i = 10;
}
Print("Вне блока i = ",i); // результат i = 5;
Та же проблема с циклами:
int i=10;
for (int i=1;i<10;i++) ...
Как обойти эту проблему и заставить пример из справочника компилироваться без ошибки "variable already defined"?
Переменные, объявленные внутри блока (на внутреннем уровне), имеют областью действия блок.
Если блоки вложены и идентификатор во внешнем блоке имеет такое же имя, как идентификатор во внутреннем блоке, идентификатор внешнего блока "невидим" (скрыт) до момента завершения работы внутреннего блока.
Но даже пример из того же справочника не компилируется с этой же ошибкой "variable already defined":
Та же проблема с циклами:
Как обойти эту проблему и заставить пример из справочника компилироваться без ошибки "variable already defined"?
Просто я индикаторы для разных советников держу в разных директориях. И слегка переименовываю, чтобы они группировались.
Имя на что-то влияет?
влияет, все обращения к файлам в МТ4 происходят внутри папки MQL4, выход из советников/скриптов/индикаторов за пределы этой папки исключен из соображений безопасности
влияет, все обращения к файлам в МТ4 происходят внутри папки MQL4, выход из советников/скриптов/индикаторов за пределы этой папки исключен из соображений безопасности
Полный путь папки MQL4\Indicators\Used. Вроде бы за пределы папки нет выхода. Но это отклонение от темы - другие советники работают со своими индикаторами в подобных папках без проблем. Но что за беда с этим индикатором - не понимаю. Смотрел его код, но знаний и опыта разобраться не хватает. Есть подозрение, что он считает только последний бар или что-то такое.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
В справке написано что для чего нужно. И, да, это правильно, что введённый пользователем параметр нельзя программно менять. Хоть что-то принадлежать может пользователю :)
Если очень хочется - то можно)
Если очень хочется - то можно)
Часто сталкиваюсь с проблемой. Компилятор ругается ошибкой "variable already defined" на код:
В справочнике по ссылке https://docs.mql4.com/ru/basis/variables/local указано:
Переменные, объявленные внутри блока (на внутреннем уровне), имеют областью действия блок.
Если блоки вложены и идентификатор во внешнем блоке имеет такое же имя, как идентификатор во внутреннем блоке, идентификатор внешнего блока "невидим" (скрыт) до момента завершения работы внутреннего блока.
Но даже пример из того же справочника не компилируется с этой же ошибкой "variable already defined":
Та же проблема с циклами:
Как обойти эту проблему и заставить пример из справочника компилироваться без ошибки "variable already defined"?
Часто сталкиваюсь с проблемой. Компилятор ругается ошибкой "variable already defined" на код:
В справочнике по ссылке https://docs.mql4.com/ru/basis/variables/local указано:
Переменные, объявленные внутри блока (на внутреннем уровне), имеют областью действия блок.
Если блоки вложены и идентификатор во внешнем блоке имеет такое же имя, как идентификатор во внутреннем блоке, идентификатор внешнего блока "невидим" (скрыт) до момента завершения работы внутреннего блока.
Но даже пример из того же справочника не компилируется с этой же ошибкой "variable already defined":
Та же проблема с циклами:
Как обойти эту проблему и заставить пример из справочника компилироваться без ошибки "variable already defined"?
Как обойти эту проблему и заставить пример из справочника компилироваться без ошибки "variable already defined"?
в справочнике давно не все примеры корректно работают
по области видимости в Ваших примерах - видимость в пределах одного оператора локальная, точно должно работать примерно такое:
т.е. видимость в пределах оператора for - это локально, при выходе из него будут утеряны переменные i и x
Попытался искать последний пик индикатора Peak Repainter для обработки советником:
В результате в глобальную переменную записывается 1, даже если на самом деле должна быть -1.
Что не так? С кодом? С индикатором?
Индикатор используется с настройкой по умолчанию.
Попытался искать последний пик индикатора Peak Repainter для обработки советником:
В результате в глобальную переменную записывается 1, даже если на самом деле должна быть -1.
Что не так? С кодом? С индикатором?
Индикатор используется с настройкой по умолчанию.
Почему такое имя индикатора?
Почему такое имя индикатора?
Просто я индикаторы для разных советников держу в разных директориях. И слегка переименовываю, чтобы они группировались.
Имя на что-то влияет?
Просто я индикаторы для разных советников держу в разных директориях. И слегка переименовываю, чтобы они группировались.
Имя на что-то влияет?
влияет, все обращения к файлам в МТ4 происходят внутри папки MQL4, выход из советников/скриптов/индикаторов за пределы этой папки исключен из соображений безопасности
влияет, все обращения к файлам в МТ4 происходят внутри папки MQL4, выход из советников/скриптов/индикаторов за пределы этой папки исключен из соображений безопасности