Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
extern удобен тем что его можно модифицировать.
Иначе приходится дублировать переменные, чтобы проверить(изменить) правильность ввода.
extern не виден в мт5, а писать НЕ кроссплатформенные коды - это высший пилотаж программирования :)
extern не виден в мт5, а писать НЕ кроссплатформенные коды - это высший пилотаж программирования :)
ну, кому "страшный сон", кому "высший пилотаж" )
просто удобство, которое убрали в МТ5ну, кому "страшный сон", кому "высший пилотаж" )
просто удобство, которое убрали в МТ5Да действительно... зачем сделали что вылет за пределы массива получается... Как было хорошо, можно не заморачиваться правильностью написания. Кого в MQ набрали???
Да действительно... зачем сделали что вылет за пределы массива получается... Как было хорошо, можно не заморачиваться правильностью написания. Кого в MQ набрали???
Я правильно понимаю, в МТ5 вводимые данные по input изменять по ходу работы программы нельзя, и необходимо переназначение?
Я правильно понимаю, в МТ5 вводимые данные по input изменять по ходу работы программы нельзя, и необходимо переназначение?
Да, всё верно. И логично. Входная переменная на то и входная, что должна остаться такой, какой её ввёл пользователь, а не меняться программой как ей вздумается.
Соответственно, для входных переменных есть дополнительные "вкусности", в отличии от extern-переменных, как пример - облегчающих хранение программы в разных файлах.
Ещё одним плюсом невозможности программного изменения введённого значения input-переменной является то, что всегда можно вернуть одним нажатием кнопки мышки программу к её состоянию "как при запуске": введённые значения в OnInit() копируются в обычные глобальные переменные (при этом ещё и проводится контроль ввода ошибочных значений), а затем - уже программно - значения переменных-копий можно менять по логике программы. Но всегда можно заново назначить для них введённые при запуске программы значения, например - нажатием на кнопку в GUI программы.
ну, кому "страшный сон", кому "высший пилотаж" )
просто удобство, которое убрали в МТ5Поясните пожалуйста в чём удобство затирания введённых пользователем значений?
Представьте, что терминал сам поменяет значения настроек, которые вы выполнили вручную. Удобно?
А почему mql-программа должна иметь право сама изменять настройки, введённые пользователем?
Да, всё верно. И логично. Входная переменная на то и входная, что должна остаться такой, какой её ввёл пользователь, а не меняться программой как ей вздумается.
Соответственно, для входных переменных есть дополнительные "вкусности", в отличии от extern-переменных, как пример - облегчающих хранение программы в разных файлах.
Ещё одним плюсом невозможности программного изменения введённого значения input-переменной является то, что всегда можно вернуть одним нажатием кнопки мышки программу к её состоянию "как при запуске": введённые значения в OnInit() копируются в обычные глобальные переменные (при этом ещё и проводится контроль ввода ошибочных значений), а затем - уже программно - значения переменных-копий можно менять по логике программы. Но всегда можно заново назначить для них введённые при запуске программы значения, например - нажатием на кнопку в GUI программы.
Поясните пожалуйста в чём удобство затирания введённых пользователем значений?
Представьте, что терминал сам поменяет значения настроек, которые вы выполнили вручную. Удобно?
А почему mql-программа должна иметь право сама изменять настройки, введённые пользователем?
Удобство у всех разное. А у разработчиков пользователей и других групп имеет коренные отличия обычно))) К тому же все имеет стоимость. Сохранение вводимых данных бесспорно. Но любое сохранение требует переменных. В общем логика понятна, не всем приятна, но как есть. Главное что бы логика была понятна. Вопрос про привидение типов. Можно ли привести типы без ввода технических переменных. double n1; string ns1=string (n1); Можно ли как то вставить в текстовую переменную числовую без дополнительных переменных.
Поясните пожалуйста в чём удобство затирания введённых пользователем значений?
Представьте, что терминал сам поменяет значения настроек, которые вы выполнили вручную. Удобно?
А почему mql-программа должна иметь право сама изменять настройки, введённые пользователем?
именно об удобстве и идет речь)
Например:
- индикатор что-то рисует на чарте, а при рестарте читает эти данные в те же переменные, а не делает копии.
- или имена шаблонов для ТФ, пользователю удобней ввести просто имя, без расширения. То есть нужно или сразу "подправить", добавить .tpl или потом каждый раз делать проверку и добавлять при открытии чарта.
- ну и проверка переменных, чтобы не выходили за нужные пределы.
Это жеж не супер-навороченый ооп-проект, а простой робот. Именно удобство делает мт4 до сих пор популярным.
именно об удобстве и идет речь)
Например:
- индикатор что-то рисует на чарте, а при рестарте читает эти данные в те же переменные, а не делает копии.
- или имена шаблонов для ТФ, пользователю удобней ввести просто имя, без расширения. То есть нужно или сразу "подправить", добавить .tpl или потом каждый раз делать проверку и добавлять при открытии чарта.
- ну и проверка переменных, чтобы не выходили за нужные пределы.
Это жеж не супер-навороченый ооп-проект, а простой робот. Именно удобство делает мт4 до сих пор популярным.
Вопрос про привидение типов. Он тоже требует дополнительных переменных. Удобно же в наименовании объекта на графике видеть так же какие то данные. Можно ли привести типы без ввода технических переменных.
double n1; string ns1=string (n1); string Nmaxbar = "Nmaxbar = " + ns1;
Можно ли как то вставить в текстовую переменную числовую без дополнительных переменных.
"Удобно" только для "сам для себя". Но с введением и развитием маркета, любой начал пытаться продавать то, что для себя слепил. Но тут-то и наступает ответственность. За свою программу. Не перед собой, а перед покупателями. И наступает совсем иной уровень той самой ответственности, выливающийся в качество программы с её усложнением. При этом нужно забыть про "ай, и так сойдёт"
Не думаю что дело в маркете. Погоня за возможностями почти всегда приводит к усложнению и желанию убрать лишнее. Но в случае МТ4 -> МТ5 для меня, и судя по всему не только для меня, тоже не все логично.