Alex Renko:
if(resultText != "XXX") { return INIT_FAILED; ChartIndicatorDelete(CH_ID,window,indicatorName); // как было определено выше }
if(resultText != "XXX") { return INIT_FAILED; ChartIndicatorDelete(CH_ID,window,indicatorName); // как было определено выше }
if(resultText != "XXX") { return INIT_FAILED; ChartIndicatorDelete(CH_ID,window,indicatorName); // как было определено выше }
Сначала уходите из OnInit(), а потом уже бесполезно удалять что-либо - уже ушли.
Это не баг. Индикатор нужно удалять в OnDeinit. В своем индикаторе так это делаю (лишнее удалил).
void OnDeinit( const int Reason ) { if (Reason == REASON_INITFAILED) { const string ShortName = __FILE__; if (IndicatorSetString(INDICATOR_SHORTNAME, ShortName)) ChartIndicatorDelete(0, 0, ShortName); } }

if(resultText != "XXX") { ChartIndicatorDelete(CH_ID,window,indicatorName); // как было определено выше return INIT_FAILED; }
Если так то индикатор продолжает банально работу и даже отрисовывает все
fxsaber #:
Это не баг. Индикатор нужно удалять в OnDeinit. В своем индикаторе так это делаю (лишнее удалил).
Это не баг. Индикатор нужно удалять в OnDeinit. В своем индикаторе так это делаю (лишнее удалил).
Благодарю! Ваша конструкция заработала!

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Какой то баг платформы. Такая конструкция не работает - Индикатор перестает прорисовываться, но сам файл индикатора продолжает висеть на чарте. Почему?
Мало того пишет в журнале Remooved и даже выполняет очистку всех обьектов из функции Deinit... Разрабы проверьте.
2024.04.16 21:37:21.101 XX (EURUSD,M5) 128968169024912129 0 XX.mq5
2024.04.16 21:37:21.101 XX (EURUSD,M5) Deinit Clear All
С роботом без проблем - ExpertRemove и нет его на чарте. А с индикаторами как? Уже танцы с бубном всех народов перетанцевал