Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Похоже потерялся сам смысл задачи. А он заключается в следующем. В индикаторе есть начальные параметры показа / скрытия графических объектов после их расчета. Но в процессе работы индикатора, пользователь сам может их скрывать / показывать через гор. клавиши. И статус этих объектов в конкретный момент должен быть сохранен, чтобы при следующей инициализации (Запуска терминала / OnInit / prev_calculated == 0) эти объекты отобразились также как пользователь их "накликал".
Это легко решается если при накидывании индикатора, вручную задать "magic" и он бы выступал идентификатором индикатора, по которому и сохранять статусы гр. объектов в моменте.
Так вот задача в том чтобы заменить этот ручной "magic" на автоматический при накидывании индикатора на график пользователем.
тут проще и можно обойтись без magic - граф. объекты независимо сохраняются при рестарте индикатора. В профиле.
просто не удаляйте их в OnDeinit (в зависимости от причин выгрузки)
В индикаторе при инициализации можно проверить наличие объекта, их аттрибуты и прочее. Можно в точности восстановить состояние которое накликал пользователь.
OnDeinit (в зависимости
Как написал выше - гр. объекты не статичны, они считаются (изменяются)
при следующей инициализации (Запуска терминала
т.е. переинициализация - это перезапуск терминала?
т.е. переинициализация - это перезапуск терминала?
в том числе. этого достаточно чтобы индикатор должен знать свой "magic"
в том числе. этого достаточно чтобы индикатор должен знать свой "magic"
Для Id используйте ChartID() + номер подокна + порядковый номер индикатора в подокне (либо имя). В OnDeinit() сохраняйте настройки под этим Id в нужных случаях, в остальных - удаляйте. В OnInit() считывайте настройки под этим Id, если есть.
порядковый номер индикатора
порядковый номер индикатора после перезапуска терминала не изменяется?
Похоже потерялся сам смысл задачи. А он заключается в следующем. В индикаторе есть начальные параметры показа / скрытия графических объектов после их расчета. Но в процессе работы индикатора, пользователь сам может их скрывать / показывать через гор. клавиши. И статус этих объектов в конкретный момент должен быть сохранен, чтобы при следующей инициализации (Запуска терминала / OnInit / prev_calculated == 0) эти объекты отобразились также как пользователь их "накликал".
Это легко решается если при накидывании индикатора, вручную задать "magic" и он бы выступал идентификатором индикатора, по которому и сохранять статусы гр. объектов в моменте.
Так вот задача в том чтобы заменить этот ручной "magic" на автоматический при накидывании индикатора на график пользователем.
По моему вы перемудрили. Если на графике есть какие-то графические объекты ГО и при деинициализации индикатора их не удалять, то при следующем запуске, хоть индикатора, хоть всего терминала то в индикаторе достаточно просто проверять наличие ГО с таким именем и заново его не создавать и не менять его свойства.
зы. Ну да, я не посмотрел, что есть ещё страница и там есть такое предложение.
при деинициализации индикатора их не удалять,
он их удаляет и рассчитывает заново. эти ГО имеют свои группы. Вот эти группы и могут скрываться или отображаться.
Вариант предложенный Иваном Т. - подходи. Т.е. если в окне только один индикатор, то достаточно одного ChartID() . Если несколько, то нужно добавить порядковый номер индикатора на графике (если он постоянен после перезагрузки).
Похоже потерялся сам смысл задачи. А он заключается в следующем. В индикаторе есть начальные параметры показа / скрытия графических объектов после их расчета. Но в процессе работы индикатора, пользователь сам может их скрывать / показывать через гор. клавиши. И статус этих объектов в конкретный момент должен быть сохранен, чтобы при следующей инициализации (Запуска терминала / OnInit / prev_calculated == 0) эти объекты отобразились также как пользователь их "накликал".
Это легко решается если при накидывании индикатора, вручную задать "magic" и он бы выступал идентификатором индикатора, по которому и сохранять статусы гр. объектов в моменте.
Так вот задача в том чтобы заменить этот ручной "magic" на автоматический при накидывании индикатора на график пользователем.
То есть индикатор должен сгенерировать ID только в том случае, если он только что был подключен к чарту, а если произошла его переинициализация (все причины деинициализации, кроме ручного удаления индикатора с графика), то новый ID генерировать не нужно. Так стоит задача? Если так, то решение тоже есть, просто оно в другой плоскости.
То есть индикатор должен сгенерировать ID только в том случае, если он только что был подключен к чарту
да именно в этом. Аналог magic в советнике