Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нашел ошибку, это из-за строки Comment(""); при деините.
Можно проверить на стандартном эксперте Moving Average.mq4, просто добавляем:
и всё, подвисание гарантировано.
если убираем, то всё работает ок.
нет.
Comment нет в коде (индикатор и эксперт)
причина не в этом.
зависание происходит при : использовании ChartSetInteger и ObjectDelete (ObjectsDeleteAll)
нет.
Comment нет в коде (индикатор и эксперт)
причина не в этом.
зависание происходит при : использовании ChartSetInteger и ObjectDelete (ObjectsDeleteAll)
Зачем говорить впустую?
без "коммента" всё переключается отличновозьмите индикаторы которые выложил Vitaliy Kuznetsov, и стандартный эксперт, добавьте в него строку и вы все сами увидите.
Зачем говорить впустую?
без "коммента" всё переключается отличновозьмите индикаторы которые выложил Vitaliy Kuznetsov, и стандартный эксперт, добавьте в него строку и вы все сами увидите.
Но речь про ПАНЕЛИ и кнопки в экспертах и индикаторах! При чем здесь стандартный эксперт(в нем нет кнопок)?
Можно вместо Comment(""); поставить ObjectsDeleteAll(); всё также подвисает.
В общем очевиден баг в МТ4.
Но речь про ПАНЕЛИ и кнопки в экспертах и индикаторах! При чем здесь стандартный эксперт?
при том чтобы выявить ошибку и показать ее разработчикам.
Можно вместо Comment(""); поставить ObjectsDeleteAll(); всё также подвисает.
В общем очевиден баг в МТ4.
воооот :-)
теперь Вы тоже в "теме"
воооот :-)
теперь Вы тоже в "теме"
так я и до этого был "в теме"))
про что мои посты?так я и до этого был "в теме"))
Теперь как минимум нас 3, которые видят этот явный баг, который возник примерно год назад...
Сейчас еще кто-нибудь "поймет"
Например у меня в эксперте, если отключить все удаление объектов и обращение к ChartSet/Get..... то зависания нет ))))
т.е. проблема явная в ChartSetSymbolPeriod в индикаторах, при ее использовании - эксперт деинициализируется и снова не инициализируется (Если в нем есть Работа с чартом и объектами.)
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 4 build 1350
Taras Slobodyanik, 2021.11.15 17:05
Можно вместо Comment(""); поставить ObjectsDeleteAll(); всё также подвисает.
В общем очевиден баг в МТ4.
Для воспроизведения:
Индикатор PrototypeCanvasMulti_IND_dn.mq4 Нанести на график
В стандартный советник (любой) добвить:
При нажатии на кнопку DN - происходит зависание.
Это повторяется с любыми парами : Эксперт + индикатор (С функций переключения графика ТФ/Символа )
Уважаемая Администрация @MetaQuotes Пожалуйста, обратите на это внимание.
Теперь как минимум нас 3, которые видят этот явный баг, который возник примерно год назад...
Сейчас еще кто-нибудь "поймет"
Например у меня в эксперте, если отключить все удаление объектов и обращение к ChartSet/Get..... то зависания нет ))))
т.е. проблема явная в ChartSetSymbolPeriod в индикаторах, при ее использовании - эксперт деинициализируется и снова не инициализируется (Если в нем есть Работа с чартом и объектами.)
Для воспроизведения:
Индикатор PrototypeCanvasMulti_IND_dn.mq4 Нанести на график
В стандартный советник (любой) добвить:
При нажатии на кнопку DN - происходит зависание.
Это повторяется с любыми парами : Эксперт + индикатор (С функций переключения графика ТФ/Символа )
Уважаемая Администрация @MetaQuotes Пожалуйста, обратите на это внимание.
при переключении таймфреймов/символа/применения_шаблона были (наверное и сейчас есть) ситуации когда OnInit нового экземпляра начинает работать ранее завершения OnDeinit прежнего.
Именно поэтому в OnInit не стоит создавать объекты (и ресурсы) которые должны пристреливаться в OnDeinit.
Если просто спокойно подумать, то процедуры смены_символа, смены_таймфрейма,применения_шаблона они мягко говоря отличаются.
И к тому индикаторы (все) живут и работают в одном потоке, советники (каждый) в других.
Ради отстрела пятки сделали венигрет - таймфрейм меняется из индикатора, символ из советника. Ещё поди ресурсы и имена имеются общие. Что вы ожидаете ???
при переключении таймфреймов/символа/применения_шаблона были (наверное и сейчас есть) ситуации когда OnInit нового экземпляра начинает работать ранее завершения OnDeinit прежнего.
Именно поэтому в OnInit не стоит создавать объекты (и ресурсы) которые должны пристреливаться в OnDeinit.
Если просто спокойно подумать, то процедуры смены_символа, смены_таймфрейма,применения_шаблона они мягко говоря отличаются.
И к тому индикаторы (все) живут и работают в одном потоке, советники (каждый) в других.
Ради отстрела пятки сделали венигрет - таймфрейм меняется из индикатора, символ из советника. Ещё поди ресурсы и имена имеются общие. Что вы ожидаете ???
к сожалению Вы не разобрались в примерах выше.
Посмотрите их и напишите еще раз, но с полными данными, которые выкладывали не один раз...
Естественно всё "сделано" как "нужно"
В примере выше видно, что советник Mooving - стандартный. Без объектов! но в него добавляем ObjectDeleteALL
В втором индикаторе только 1 объект - кнопка.
Никаких одинаковых названий.
Или как тогда объяснить поведение, что OnDeinit - удаляет один объект - и весь терминал зависает наглухо.
Ну я бы еще поверил, если бы там было +_100500 объектов.
Но пример выше показывает, что это явно "ненормальное поведение терминала"