Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2711
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
чтоб объявленные внутри функции переменные были доступны по всему коду.
У вас крайне мало опыта в написании программ.
Вы представляете сколько будет конфликтов в программе ниже среднего уровня, уж не говоря о большом проекте.
В общем чтоб не писать отдельно список нужных имен вне функции.
Это и не нужно писать.
Создайте одну структуру, заполните её данными и получайте доступ в любом месте.
Работа со структурой облегчает работу и читаемость кода на ~80%
Это и не нужно писать.
Создайте одну структуру, заполните её данными и получайте доступ в любом месте.
Работа со структурой облегчает работу и читаемость кода на ~80%
У вас крайне мало опыта в написании программ.
Вы представляете сколько будет конфликтов в программе ниже среднего уровня, уж не говоря о большом проекте.
Тут, как и везде, все зависит от прямоты рук.
Именно это вам и сказал Артём
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Artyom Trishkin, 2026.03.10 18:51
Моветон какой-то.
Зачем?
Это говорит о неправильном структурировании.
Работа со структурой облегчает работу и читаемость кода на ~80%
Без возможности поиска с учетом регулярных выражений мне работа со структурой часто осложняет работу.
Вот здесь писал пример https://www.mql5.com/ru/forum/417088/page17#comment_59193518
Именно это вам и сказал Артём
Не правильном структурировании по чьему мнению? Кто тот человек который знает как правильно, и главное - удобно всегда и для всех? Нужны ли разные языки программирования?
Короче - если то что я спрашивал возможно или точно нет - то напишите, пж. Спасиб.Посмотрел Вашу панель. Я подобные делал. Например, в моей панели было поле ввода лота. В изначальных настройках указывался лот, например input double Lot=0.1; (можно на глобальном уровне и без инпута). Затем при создании панели поле ввода лота инициализируется значением переменной Lot. Все дальнейшие обращения к лоту считываем из этого поля ввода (мало ли, трейдер по ходу торга рукам ввёл туда иной лот). В коде не сложно в начале программы составить список начальных параметров. Это устранит проблему поиска искажения областей видимости, сэкономит время и силы.
P.S.
Можно вообще не задавать начальные параметры через переменную - просто при создании того же поля лота вписывать в подпрограмме минимальный лот. Далее по коду инициализация лота такая же: считываем лот из поля ввода. Тут и не нужно чтоб была где-то видна какая-то переменная: если поле ввода существует на графике, то обратиться к нему можно из любой точки кода.
P.P.S.
Подпрограмму создания панелей можно вызвать уже в блоке инициализации. Это значит, что к моменту прихода первого тика у нас уже есть поле ввода, из которого можно считать значение из любой дальнейшей строки кода.
То есть получается, что в Вашем случае переменная вообще не нужна. Нужно помнить имена меток. Например, имя поля лота можно обозначить как Lbl_Lot (лейбл лот). А вот если Вы имена эти генерируете автоматически, то тут Вы приплыли. Это будет тупик. Ну, это конечно, если Вы заранее на глобальном уровне не объявите массив, в который Вы будете вносить сгенерированные имена. Но это приводит к вопросу: а нахрена такие сложности?
В роботе такая панель, в ней много полей ввода. Имена полей ввода формируются непосредственно перед созданием объекта, в котором содержится номер строки.
В общем чтоб не писать отдельно список нужных имен вне функции.
Чтоб не писать кучу переменных использую массив. Удобно тем, что его всегда можно увеличить. С массивом удобно работать в цикле.
Лучше массива, только массив структур.