- www.mql5.com
Это понятно, здесь речь идет о свойствах (в том числе о видимости) графических объектов. Мне же нужно получить область видимости индикатора в целом, чтобы потом установить область видимости графических объектов.
Это понятно, здесь речь идет о свойствах (в том числе о видимости) графических объектов. Мне же нужно получить область видимости индикатора в целом, чтобы потом установить область видимости графических объектов.
Похоже, что такие свойства для пользовательского индикатора задать нельзя:
Но, применительно к Вашей задаче - как я понял Вы хотите вслед за индикатором рисовать объекты?
Так как при смене периода графика для индикатора вызываются события OnInit() и DeInit() нужно просто рисовать объекты в OnIOnit() и удалять их в DeInit().
Это понятно, здесь речь идет о свойствах (в том числе о видимости) графических объектов. Мне же нужно получить область видимости индикатора в целом, чтобы потом установить область видимости графических объектов.
Выделенное растолкуйте, как понимать.
Индикатор в своем окне? Размер окна?
Разве?
---
Вопрос интересный, тоже хотелось бы знать. Если не для 4 то для 5
Выделенное растолкуйте, как понимать.
Индикатор в своем окне? Размер окна?
PERIOD_M1 | PERIOD_M5 | PERIOD_H1Эти таймфреймы можно задавать, как показано на скринах выше. А вот можно ли программно прочитать эту информацию в процессе выполнения?
Похоже, что такие свойства для пользовательского индикатора задать нельзя:
Но, применительно к Вашей задаче - как я понял Вы хотите вслед за индикатором рисовать объекты?
Так как при смене периода графика для индикатора вызываются события OnInit() и DeInit() нужно просто рисовать объекты в OnIOnit() и удалять их в DeInit().
Похоже, что такие свойства для пользовательского индикатора задать нельзя:
Но, применительно к Вашей задаче - как я понял Вы хотите вслед за индикатором рисовать объекты?
Так как при смене периода графика для индикатора вызываются события OnInit() и DeInit() нужно просто рисовать объекты в OnIOnit() и удалять их в DeInit().
Поясню про постановку задачи.
Есть индикатор, который создает графический объект (FiboTimeZone), а затем строит собственно линию индикатора.
Если при смене таймфрейма я попадаю на "запрещенный" ТФ, линия индикатора исчезает, не строится, а вот ФибоТайм остается и загромождает график. В функции DeInit() предусмотрено уничтожение графического объекта, но это не помогает.
Увы - нет. При смене периода не вызывается функция DeInit().... ИМХО.
Вот проверочный код для OnDeinit() индикатора:
void OnDeinit(const int reason) //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ { Print(__FUNCTION__); }
и для OnInit() индикатора:
void OnInit() { Print(__FUNCTION__); //--- тут Ваш код }
При смене периода происходит OnDeinit(), после загрузки периода происходит OnInit().
"Областью видимости индикатора" я назвал совокупность таймфреймов, на которых он должен отображаться, например: Эти таймфреймы можно задавать, как показано на скринах выше. А вот можно ли программно прочитать эту информацию в процессе выполнения?
"Целиком" для индикатора, по моему, нет. Напишите предложение в сервисдеск.
Увы - нет. При смене периода не вызывается функция DeInit().... ИМХО.
Вызывается
https://www.mql5.com/ru/docs/runtime/running
REASON_CHARTCHANGE |
3 |
Символ или период графика был изменен |
https://www.mql5.com/ru/docs/constants/namedconstants/uninit
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите пожалуйста, как внутри индикатора можно прочитать его маску видимости, т.е. то, на каких таймфреймах он отображается? Это нужно для своевременного изменения маски видимости у графических объектов, которые создает этот индикатор.
Заранее спасибо. Просьба сильно не ругаться, если спросил очевидное. Реально не смог найти в хэлпе