Мешает ли Вам продолжение работы расчетной части индикатора после его программного закрытия? - страница 4

 
Yury Kirillov:
Пока известен следующий список.

Для таких случаев заведена ветка.

Особенности языка mql5, тонкости и приёмы работы
Особенности языка mql5, тонкости и приёмы работы
  • 2017.02.24
  • www.mql5.com
В данной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач...
 
Yury Kirillov:

После прекращения работы советника:

1. Расчетная часть индикатора остается в памяти и бесконечно долго продолжает отрабатывать вызовы OnCalculate() однако игнорируя вызовы OnTimer().

2. Индикатор невозможно обнаружить по хэндлу.

3. Индикатор невозможно обнаружить поиском по окну.

4. Невозможно получить данные буфера Индикатора.

После повторного запуска советника:

1. Индикатор не появляется на чарте.

2. Не инициализируется  - не получает начальный набор исходных данных.

3. Выполняет расчетную часть OnCalculate(), игнорируя вызовы OnTimer().

4. Индикатор невозможно обнаружить по хэндлу.

5. Индикатор невозможно обнаружить поиском по окну.

6. Невозможно получить данные буфера Индикатора.

А в остальном - какая разница...

Удаление остатков индикатора из памяти возможно только перекомпиляцией индикатора или перезапуском терминала.

А вы индикатор создаете или советника и называете его индикатор? Зачем столько лишних телодвижений? Зачем OnTimer в индикаторе? Индикатор просто рассчитывает пару-тройку значений и ВСЕ. Остальное это советник или скрипт (или сервис, когда появится). 
 
https://www.mql5.com/ru/docs/series/indicatorcreate
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorCreate
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorCreate
  • www.mql5.com
[in]  Количество параметров, передаваемых в массиве parameters_array[]. Элементы массива имеют специальный тип структуры MqlParam. По умолчанию нулевое значение - параметры не передаются. Если указано ненулевое количество параметров, то параметр первого элемента должно содержать имя пользовательского индикатора. Пользовательский индикатор...
 
Uladzimir Kirychenka:
А вы индикатор создаете или советника и называете его индикатор? Зачем столько лишних телодвижений? Зачем OnTimer в индикаторе? Индикатор просто рассчитывает пару-тройку значений и ВСЕ. Остальное это советник или скрипт (или сервис, когда появится). 

1. Изначально разрабатывался комплекс из двух индикаторов, затем советник+2 индикатора https://www.mql5.com/ru/forum/216157. Причём индикаторы взаимно используют друг-друга. Разработка была прервана при обнаружении ошибки связанной с инициализацией-удалением индикатора.

2. OnTimer() использован в основном для отладки по выходным, когда нет рынка.

3. Индикаторы ещё иногда и выводят информацию на экран. И это явно не пара-тройка значений.

4. Каждый распределяет задачи между советниками и индикаторами как хочет, мне захотелось так.

Информационный индикатор позиций, сделок и ордеров.
Информационный индикатор позиций, сделок и ордеров.
  • 2017.09.23
  • www.mql5.com
Выкладываю на всеобщее обозрение индикатор выводящий информацию о позициях, сделках и ордерах...
Причина обращения: