Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Значит модификатор static в отношении переменных глобальной видимости не работает.
Вы неправильно понимаете static.
Особенно лишне употребляя его в описании глобальной (не путать со специальными Global Variables) переменной вне функций.
Смена настроек вызывает переинициализацию индикатора. И это правильно. Вот проверочный код:
Вот результат - при смене настроек индикатор полностью штатно переинициализируется. Все абсолютно коррекно.
Господа, сегодняшние разбирательства явно указывают, что вы явные двоишники. Уровень ваших знаний и практических умений просто катастрофичен :(
в МТ-4 что либо изменять кроме документации необходимости нет и нежелательно, т.к. к этому привыкли.
Однако, этот же баг в понимании видимости и статичности при переходе к МТ-5 может создать проблемы.
Ваш уровень знаний катастрофичен для Вас и Ваших экспертов.
В любом случае, положитесь на наших разработчиков - мы всегда стараемся сделать хорошие решения. Мы делаем массу ошибок, публично их разбираем, признаем и исправляем. Это наша работа.
to Renat
нам то что, - мне как слесарю-компьютологу не в первый раз, и не в таком копались,
А вот Вы создаете Новый Язык для программирования торговых систем,
и кроме Вас мало кто на всей Планете занимается такими торговыми языками на Вашем же уровне
- МТ-4/MQL-4 ставим твердую тройку, и эту твердую тройку обсуждаем на этом форуме.
Однако Ждем от Вас МТ-5 с оценокй "Отлично".
прошу прощения - опоздал к разборкам...
мой вопрос на самом деле был вызван простой необходимостью: мне нужны действительно статические переменные, которые инитятся только один раз в момент старта индикатора\эксперта и дальше живут до тех пор, пока он не уберется с графика. Вы правильно пишете что "руки надо мыть" но зачем это делать за меня в моем присуттствии?!
Для меня была бы понятна и естественна следующая реализация:
- статическая переменная создается в момент присоединения индикатора\эксперта к графику и удаляется вместе с его удалением.
- при любых изменениях (смене счета, тайма, символа) она остается неизменной т.е. именно статической (и никто ее не переинитивает принудительно).
Если мне нужно - я сам отловлю факт смены и проинитю ее заново. А в нынешней реализации у меня негде сохранить ее значение чтобы восстановить его после не нужного мне принудительного переинита (глобальные переменные - не предлагать! гемор тот еще в случае хотябы десятка разных графиков).возможно простым решением "затыкающим" эту проблему станет использование модификатора static именно к глобальным переменным? я думаю это будет совсем не сложно реализовать ;) одна проверка перед переинитом каждой переменной: если есть static у глобальной переменной - просто не трогаем ее.
Правда здесь возниктнет проблемма с поддержкой разных билдов, тогда надо бы добавить еще функцию которая возвращает номер билда в котором запущен процесс, чтобы я мог решить что мне делать при работе на билдах где эта фишка еще не поддерживается.