Уважаемые разработчики,
в последних версиях терминала ( наверное с полгода уже )
была изменена переинициализация глобальных и статических переменных в индикаторах.
Этот вопрос уже поднимался ( отвечал мне stringo), было как то исправлено (помоему даже 2 раза ) и опять вернулись к старой проблеме.
Дело заключается в том, что на данный момент, переинициализация глобальных и статических переменных в индикаторах
происходит постоянно при смене периода графика, смене символа и в других подобных случаях.
С самого начала существования MQL4 такого небыло и переинициализация происходила как в экспертах.
После появлиния этой особенности приходилось пользоваться костылями, чтобы добиться решения какой-либо задачи, но это не всегда получается.
На данный момент не существует никакой возможности сохранить состояние переменной в индикаторах при смене периода графика и в других подобных случаях.
Верните пожалуйста эту возможность - сильно не хватает!
Насчет переинициализации статических переменных можно подробнее?
Переключаем период графика или меняем символ графика
А может ты просто не правильно понимаешь назначение глобальных и статических переменных?
Разве при смене символа или даже периода не должно быть нового запуска индикатора??? А как при перезагрузке МТ, тоже надо сохранять??? Так получится, что если надо пересчитать значения индикатора по новому периоду придётся снимать его с графика и ставить по-новой? Иначе будет пересчёт с какими-то оставшимися не нужными значениями.... Зачем это надо? Можешь доходчиво объяснить?
Уважаемые разработчики,
в последних версиях терминала ( наверное с полгода уже )
была изменена переинициализация глобальных и статических переменных в индикаторах.
Этот вопрос уже поднимался ( отвечал мне stringo), было как то исправлено (помоему даже 2 раза ) и опять вернулись к старой проблеме.
Вы можете привести ссылку нашего диалога? Я не могу найти
к примеру здесь
А может ты просто не правильно понимаешь назначение глобальных и статических переменных?
Разве при смене символа или даже периода не должно быть нового запуска индикатора??? А как при перезагрузке МТ, тоже надо сохранять??? Так получится, что если надо пересчитать значения индикатора по новому периоду придётся снимать его с графика и ставить по-новой? Иначе будет пересчёт с какими-то оставшимися не нужными значениями.... Зачем это надо? Можешь доходчиво объяснить?
Пример.
Индикатор грузит новости с сайта и запоминает время загрузки в глобальной переменной, для того чтобы произвести следующую загрузку новостей например через час.
При изменении символа или таймфрейма чарта глобальная переменная будет обнуляться и сайт с новостями будет постоянно грузиться. :)
Спасибо.
То исправление, о котором идёт речь, откатили уже 5 февраля 2014 года. То есть, оно прожило всего 2 недели.
Тогда откатили по той самой причине, чтобы осталось поведение индикаторов 509 билда (а в 509 билде инициализация-деинициализация работали именно так). Вот посмотрите ещё одну ссылку из той же темы
https://www.mql5.com/ru/forum/148850/page58#901460 В результате этого запроса и был сделан откат
И это поведение не полгода, а уже почти 2 года
Пример.
Индикатор грузит новости с сайта и запоминает время загрузки в глобальной переменной, для того чтобы произвести следующую загрузку новостей например через час.
При изменении символа или таймфрейма чарта глобальная переменная будет обнуляться и сайт с новостями будет постоянно грузиться. :)
Понятно. А не проще такие переменные засовывать в GV?
Может я чего-то не понимаю, но не получится так, что исправив это получим другую проблему? Тогда ведь придётся явно обнулять все переменные во всех индикаторах. Работа с новостными сайтами используется гораздо реже чем обычные индикаторы со статическими и глобальными переменными.
Следующий пример:
Собираются данные ( к примеру по совершенным сделкам ) в массив,
при просмотре на другом периоде все сбрасывается, не смешно.
Примеров может быть куча.
Для переинициализации существует функция OnInit() - этого достаточно, что бы там обнулить переменные.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Уважаемые разработчики,
в последних версиях терминала ( наверное с полгода уже )
была изменена переинициализация глобальных и статических переменных в индикаторах.
Этот вопрос уже поднимался ( отвечал мне stringo), было как то исправлено (помоему даже 2 раза ) и опять вернулись к старой проблеме.
Дело заключается в том, что на данный момент, переинициализация глобальных и статических переменных в индикаторах
происходит постоянно при смене периода графика, смене символа и в других подобных случаях.
С самого начала существования MQL4 такого небыло и переинициализация происходила как в экспертах.
После появлиния этой особенности приходилось пользоваться костылями, чтобы добиться решения какой-либо задачи, но это не всегда получается.
На данный момент не существует никакой возможности сохранить состояние переменной в индикаторах при смене периода графика и в других подобных случаях.
Верните пожалуйста эту возможность - сильно не хватает!