Кстати, функция "WindowFind()" теперь не работает в init(). Возвращает "-1".
Чудеса!!! Что это было?
Кстати, функция "WindowFind()" теперь не работает в init(). Возвращает "-1".
Чудеса!!! Что это было?
Кое что нашёл!
Дескриптор окна равен нулю при загрузке из профиля.
//+------------------------------------------------------------------+ //| CheckingDescriptor.mq4 | //| Copyright © Zhunko | //| vadim@zhunko.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © Zhunko" #property link "vadim@zhunko.ru" #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void init() { Comment ("Descriptor = ", WindowHandle (Symbol(), Period())); } //-------------------------------------------------------------------Этот индикатор всегда показывает ноль при загрузке из профиля.
Вот ещё вариант. Он показывает, что дескриптор окна не появляется даже в фукции "start()" на первом тике!!!
На втором появляется.
За одно показывает, что у функции "WindowFind ()" не предусмотрено возвращение номера основного окна.
Она постоянно возвращает "-1".
//+------------------------------------------------------------------+ //| CheckingDescriptor.mq4 | //| Copyright © Zhunko | //| vadim@zhunko.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © Zhunko" #property link "vadim@zhunko.ru" #property indicator_chart_window int i = 0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void init() { IndicatorShortName ("CheckingDescriptor"); } void start() { i++; int Window = WindowFind ("CheckingDescriptor"); if (i == 1) Comment ("Window = ", Window, "\nWindowDescriptor = ", WindowHandle (Symbol(), Period())); } //-------------------------------------------------------------------
Метаквоты молчат...
Может кто-нибудь знает, как отличить загрузку из профиля от загрузки из шаблона и от загрузки из навигатора?
Как понять откуда был загружен индикатор?
:-(
Может кто-нибудь из Метаквотов ответит?
Спасибо. Понятно.
Может, всё-таки, доделаете функцию "WindowFind ()"?
Весьма криво работает. Нужная функция. Много проблем решает. Но воспользоваться невозможно ей. Там, где она нужна, она не работает. Например в init(). Чтобы показывала номер окна без зависимости от количества в нём индикаторов.
Вот теперь при загрузке из профиля ещё новые проблемы...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть какое-нибудь отличие загрузки индикатора из профиля от загрузки из навигатора или из шаблона?
У меня почему-то при загрузке из профиля не работают файловые функции в init().
Ещё есть такая функция:
int WindowFind (string name)
Возвращает номер подокна графика, содержащего индикатор с указанным именем name, если он найден, иначе возвращается -1.
WindowFind() возвращает -1, если пользовательский индикатор ищет сам себя в процессе инициализации init().
Она вполне работает из init(). Даже возвращает номер окна при самопоиске, но не при загрузке из профиля.
Может профиль не при чём? Есть какие-нибудь ограничения?
Что-то изменил в коде, уже не помню что. Изменения не относятся к init(). До изменений всё работало.