Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Правильный вариант - считать значение индикатора самому. Никаких хендлов, релизов, и прочего. Более того, в большинстве случаев индикатор от индикатора - математическими преобразованиями может быть приведен к гораздо более простому виду, в котором считать заметно меньше.
Остается.
Видели описание к функции IndicatorRelease цитата: "Удаление хендла производится сразу, удаление расчетной части индикатора производится через некоторое небольшое время (если обращений к ней больше нет)."
Просто, интересно, как разработчик себе представлял, что кто-то вызовет IndicatorRelease по ошибке и поэтому дадим шанс все вернуть.
Остается.
Видели описание к функции IndicatorRelease цитата: "Удаление хендла производится сразу, удаление расчетной части индикатора производится через некоторое небольшое время (если обращений к ней больше нет)."
Просто, интересно, как разработчик себе представлял, что кто-то вызовет IndicatorRelease по ошибке и поэтому дадим шанс все вернуть.
Вы думаете, что вы умнее всех?
Вы думаете, что вы умнее всех?
Просто хочу выяснить как другие реализовали данный момент.
George Merts: - предложил очень интересное решение.
Интересно, как вы обошли это ограничение?
Просто хочу выяснить как другие реализовали данный момент.
George Merts: - предложил очень интересное решение.
Интересно, как вы обошли это ограничение?
Какое "ограничение" ?
Я же написал - стараюсь не использовать стандартные индикаторы, и их значения вычислять самостоятельно.
Но, там где это надо - в функции Init - запрашиваются все необходимые хэндлы, и если все нормально - то они используются. Удаление хэндлов происходит только в функции Deinit() или даже в деструкторе. "Вызывать по ошибке" IndicatorRelease() - просто невозможно, именно потому, что вызов происходит только в специально предназначенных для этого функциях.
ООП - рулит. Деструктор будет вызван автоматически, что гарантирует правильное освобождение выделенных ресурсов. (Речь идет ведь не только об индикаторах, но и о созданных по new объектах)
не в обиду
по моему мизерному опыту хочу сказать, что да, автоматическое изменение настроек индикатора значительно повысит гибкость, но какие бы настойки не были установлены советник все равно не будет работать на полном автомате, так как, допустим, даже если он на автомате будет выбирать период индикатора который работает очень хорошо, все равно покажет в какой то момент не то что ожидаешь, допустим сегодня, ни 1 ни 2 период не годятся, а 3, который нужен. отличается от первого всего на чуть чуть, но это понять только человеку можно
Какое "ограничение" ?
Я же написал - стараюсь не использовать стандартные индикаторы, и их значения вычислять самостоятельно.
Но, там где это надо - в функции Init - запрашиваются все необходимые хэндлы, и если все нормально - то они используются. Удаление хэндлов происходит только в функции Deinit() или даже в деструкторе. "Вызывать по ошибке" IndicatorRelease() - просто невозможно, именно потому, что вызов происходит только в специально предназначенных для этого функциях.
ООП - рулит. Деструктор будет вызван автоматически, что гарантирует правильное освобождение выделенных ресурсов. (Речь идет ведь не только об индикаторах, но и о созданных по new объектах)
Вы не поняли.
Если создавать хендлы "на лету" (вычисляя параметры индикатора во время теста), их невозможно удалить (точнее, удалить возможно, но терминал не освобождает память, которую они использовали).
Предусмотреть все возможные варианты на этапе инициализации невозможно, да и нерационально загружать в память сразу все варианты индикаторов в начале теста.
Поэтому для такой стратегии нужно считать индикаторы с нужными параметрами самому.
Что-то действительно не понял. Зачем создавать хендлы ?
Нужен нам SMA(10) - ну и считаем среднее арифметическое десяти последних цен. Безо всяких индикаторов.
С SМА(10) действительно проблем нет. Они начинаются, когда индикатор более сложный.