Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сделайте Print в начале OnDeinit и после закрытия клиентского терминала посмотрите лог экспертов и убедитесь, что OnDeinit был вызван!
Вот Ваша ошибка
Вы чётко знаете те объекты, которые создавали сами.
Сохраняйте их имена и удаляйте их без обращения к ObjectsTotal и ObjectName
PS в новом билде была добавлена функция удаления группы объектов по префиксу. Это Вам поможет, если Вы будете именовать свои объекты с использованием одного и того же уникального префикса в их имени
Сделайте Print в начале OnDeinit и после закрытия клиентского терминала посмотрите лог экспертов и убедитесь, что OnDeinit был вызван!
Вот Ваша ошибка
Вы чётко знаете те объекты, которые создавали сами.
Сохраняйте их имена и удаляйте их без обращения к ObjectsTotal и ObjectName
PS в новом билде была добавлена функция удаления группы объектов по префиксу. Это Вам поможет, если Вы будете именовать свои объекты с использованием одного и того же уникального префикса в их имени
Вообще-то деинит во всех программах вызывается при закрытии терминала.
Есть даже специальный код причины деинициализации. REASON_CLOSE
И обнуляет буферы индикаторов или нет?
И обнуляет буферы индикаторов или нет?
Ситуацию с Вашим индикатором разобрали.
Дело вот в чём - индикатор рассчитывается не только на приходе тиков, но и на первой отрисовке и на приходе недостающей истории.
1. Пришёл свежий тик - индикатор рассчитался
2. Пришла недостающая история, которая заткнула дыру между последними данными с прошлого запуска терминала и последним тиком. Индикатор рассчитался. Но при этом состояния нового бара нет!
Чтобы решить эту проблему Вам необходимо проверять количество баров. Примерно так
Засунул блок инициализации буферов пустым значением и в инит и в деинит. Результат тот же. Тоесть его нету.
Жду коментариев разработчиков.
Все обнуляет. Ведь терминал закрывается )))
Эмм. Блок инициализации буферов EMPTY_VALUE поставил в Инит.
Зачем? В ините буфера ещё могут быть не распределены.
А как быть в том случае, когда буфер сильно прирос (пришла новая порция исторических данных)?
В таких случаях инициализацию буферов делают перед расчётом индикатора, когда понятно, что будет пересчитан весь индикатор
Зачем? В ините буфера ещё могут быть не распределены.
А как быть в том случае, когда буфер сильно прирос (пришла новая порция исторических данных)?
В таких случаях инициализацию буферов делают перед расчётом индикатора, когда понятно, что будет пересчитан весь индикатор