It has always been this way. After returning a non-zero value from OnInit (in particular, INIT_FAILED), the indicator remains on the chart, but does not receive Calculate events (that is, OnCalculate does not work). This was done specifically so that the indicators would not disappear from the charts, for example, in the event of a lack of connection with the trading server
Slava # : Так было всегда. После возврата ненулевого значения из OnInit (в частности INIT_FAILED) индикатор остаётся на графике, но не получает событий Calculate (то есть OnCalculate не отрабатывает). Делали специально, чтобы индикаторы не пропадали с графиков, например, в случае отсутствия связи с торговым сервером
Это абсолютно смешно (не вы, я имею в виду MetaQuotes).
Если на МТ4 оно работает корректно, то это не фича — это явный баг. Это даже не объяснено в документации, а объясняется так, как это практикуется в реализации МТ4.
Когда советник выходит из строя, он также удаляется с графика. Почему бы индикатору не следовать той же процедуре?
That is absolutely ridiculous (not you, I mean MetaQuotes).
If it works correctly on MT4, then it is not a feature — it is a blatant bug. It is not even explained in the documentation, and it is explained in the way it is practice in the MT4 implementation.
When an EA fails, it is also removed from the chart. Why would an indicator not follow the same procedure.
Все сделки сделаны советником, а в отчете Manual?
It has always been this way. After returning a non-zero value from OnInit (in particular, INIT_FAILED), the indicator remains on the chart, but does not receive Calculate events (that is, OnCalculate does not work). This was done specifically so that the indicators would not disappear from the charts, for example, in the event of a lack of connection with the trading server
Пожалуйста, посмотрите этот пост:
https://www.mql5.com/en/forum/461408#comment_51952236
Это абсолютно смешно (не вы, я имею в виду MetaQuotes).
Если на МТ4 оно работает корректно, то это не фича — это явный баг. Это даже не объяснено в документации, а объясняется так, как это практикуется в реализации МТ4.
Когда советник выходит из строя, он также удаляется с графика. Почему бы индикатору не следовать той же процедуре?
Это абсолютно смешно
Если индикатор будет выгружаться при INIT_FAILED, то график будет терять индикатор при переключении с рабочего счета на другой и обратно.
Let's say the user has configured his chart with an indicator, where the indicator only works on a certain account.
If the indicator is unloaded at INIT_FAILED, then the chart will lose the indicator when switching from a working account to another and back.
Agree. - But the return value must be reflected in the journal, just like the experts.
Изменить: см. этот пример кода...
Невозможно удалить. OnDeInit не вызывается
Соглашаться. - Но возвращаемая стоимость должна быть отражена в журнале, как и у экспертов.
Перезагружаю терминал и получаю потерю индикатора. Вы так хотите?!
Если индикатор будет выгружаться при INIT_FAILED, то график будет терять индикатор при переключении с рабочего счета на другой и обратно.
И та же логика, которую вы представили, может быть применима и к советнику (EA). Это не убедительный аргумент.
I reboot the terminal and get a loss of the indicator. Is that what you want?!
Нет. Я хочу, чтобы он вел себя последовательно. Также попробуйте мой пример кода.
OnDeInit не вызывается
Результат.
И та же логика, которую вы представили, может быть применима и к советнику (EA).
Советник торгует, у него гораздо выше требования к безопасности, чем у индикатора.
Это не убедительный аргумент.
Это же субъективная вещь.