Где живёт индикатор...? Продолжение темы:Где живёт индикатор созданный в режиме тестирования без визуализации? - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Из логов видно что хэндлы одинаковы.
Первый запуск:
Создание.
Удаление.
Второй запуск:
Создание.
Удаление.
Однако при повторном запуске индикатор даже не появляется на чарте и в списке индикаторов чарта. Хотя операции создания индикатора и размещения на чарт выдают признаки удачного завершения.
А если попробовать такой костыль, сначала создать второй индикатор, он получит другой хендл, а потом удалить предыдущий?
Или вопрос поставлен принципиально, удалён, значит должен быть убит?
А если попробовать такой костыль, сначала создать второй индикатор, он получит другой хендл, а потом удалить предыдущий?
Или вопрос поставлен принципиально, удалён, значит должен быть убит?
К вопросу убит-не убит. Например мой индикатор принтует строку. Если я его удалил, должна ли это строка продолжать принтоваться?
Что значит создать второй индикатор? С другим именем? А потом третий создавать и так далее что ли?
При создании индикатора в повторном запуске советника, хендл создаётся тот-же, что и при первом запуске.
Советник тупо не видит остатков индикатора в памяти. Но разместить вновь созданный индикатор на чарт не может.
Хотя операция размещения говорит - ок! размещено!
Решение получено!
С подсказки fxsaber что ChartIndicatorGet() изменяет счетчик индикатора на +1 и после вызова
необходимо использовать IndicatorRelease() для его изменения на -1
IndicatorRelease(ThisIndicatorHandle);
Однако остался нерешенный вопрос:
Где взять список какие функции и насколько увеличивают/уменьшают счетчик индикатора?
Пока известен следующий список.
Опечатка? ChartIndicatorGet должно быть +1?
Спасибо, поправил.
Решение получено!
С подсказки fxsaber что ChartIndicatorGet() изменяет счетчик индикатора на +1 и после вызова
необходимо использовать IndicatorRelease() для его изменения на -1
Однако остался нерешенный вопрос:
Где взять список какие функции и насколько увеличивают/уменьшают счетчик индикатора?
Пока известен следующий список.
то есть, чтобы надежно убить индикатор, надо прописать в код эту конструкцию? Я так понимаю, 1-й в инит, 2-й в деинит?