Отсутствие контроля валидности хэндла
А теперь нужно сказать об огромной опасности применения кэширования хэндлов: нигде нет контроля существования хэндла в пользовательском кэше. То есть, никак не обрабатывается ситуация, когда хэндл индикатора удален.
Этой проблемы не существует, т.к. MQL4-style не предусматривает удаления хендлов - там нет такого понятия. Но в общем случае удаление всегда идет через обертку кеширования.
Заключение
Результаты тестирования различных способов доступа к индикаторам показали , что MQL5-стиль доступа к индикаторам по скорости на голову опережает любые MQL4-стили (как без кэширования хэндлов, так и с ним).
MQL5-стиль предполагает, что пользователь заранее знает, какие индикаторы (и их входные параметры) он будет использовать. Это примитивнейшие ТС!
В общем случае ТС вызывает индикаторы с вычисляемыми (а не жестко заданными) входными параметрами. И тут без MQL4-style+cache никак не обойтись.
Думаю, не сложно в КБ найти MT4-советник подобного уровня. Перевод его в то, что называется в статье MQL5-style, будет невозможен.
Поэтому выводы в статье годятся только для примитивнейших ТС, писать которые имеет смысл лишь в учебных целях.
ЗЫ
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
fxsaber, 2018.03.05 18:03
Не понимаю статьи, могущие без воды уместиться в один пост любой ветки форума.
Такая статья будет написана
69 | "Как перенести расчетную часть любого индикатора в код эксперта" NEW #957 | Dmitriy Gizlyk |
То есть если два эксперта на одинаковых графиках (одинаковые символ и таймфрейм) создают индикаторы с одинаковыми входными параметрами — MQL5 в своём внутреннем учёте будет идентифицировать их как два разных хэндла.
это абсолютно неверный вывод. хэндл один и тот же и это подтверждается тем что id совпадает.
первый true результат свидетельствует только о том что уменьшился счетчик ссылок хендла.
это абсолютно неверный вывод. хэндл один и тот же и это подтверждается тем что id совпадает.
первый true результат свидетельствует только о том что уменьшился счетчик ссылок хендла.
Трактовка другая имелась в виду
MQL5 в своём внутреннем учёте будет идентифицировать их как два разных хэндла.
Трактовка другая имелась в виду
я про эту трактовку и говорю
"Внутренний учет" трактовал, как счетчик. Честно говоря, не понял, зачем в статье первая часть - про хендлы? Вроде, все до этого было разжевано не единожды и подано в более удобных формулировках. Вплоть до причин возможности выполняющихся индикаторов в Терминале, где нет открытых чартов.
это абсолютно неверный вывод. хэндл один и тот же и это подтверждается тем что id совпадает.
первый true результат свидетельствует только о том что уменьшился счетчик ссылок хендла.
Да, это ошибка в статье.
Вообще бросать надо придумывать и писать «в MQL4 стиле». MQL5 быстрее и правильнее. Именно понимание костылей и ограничений MQL4 привело нас к созданию нового языка и отказу от совместимости, чтобы не тянуть плохую схему доступа к данным.
Вообще бросать надо придумывать и писать «в MQL4 стиле». MQL5 быстрее и правильнее. Именно понимание костылей и ограничений MQL4 привело нас к созданию нового языка и отказу от совместимости, чтобы не тянуть плохую схему доступа к данным.
Вперед!
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обсуждение статьи "Сравниваем скорость самокэширующихся индикаторов"
fxsaber, 2018.03.07 08:17
В общем случае ТС вызывает индикаторы с вычисляемыми (а не жестко заданными) входными параметрами. И тут без MQL4-style+cache никак не обойтись.
Думаю, не сложно в КБ найти MT4-советник подобного уровня. Перевод его в то, что называется в статье MQL5-style, будет невозможен.
Вперед!
Притянуто за уши.
Не доводПритянуто за уши.
Не доводПродолжайте и дальше ратовать за примитивные ТС.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Сравниваем скорость самокэширующихся индикаторов:
В статье проводится сравнение классического MQL5-доступа к индикаторам с альтернативными способами в стиле MQL4. Рассматриваются несколько вариантов MQL4-стиля доступа к индикаторам: с кэшированием хэндлов индикаторов и без него. Исследован учет хэндлов индикаторов внутри ядра MQL5.
Результаты сравнения стилей доступа к девяти индикаторам (настройки даны на рис. 1):
Рис. 4. Затраты времени на доступ к девяти индикаторам
При сравнении результатов прошу учесть, что тестовый советник многократно усложнил задачу:
Автор: Vladimir Karputov