Обсуждение статьи "Как перенести расчетную часть любого индикатора в код эксперта" - страница 3

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Решил поделиться доработанным под себя Indicator.mqh, может кому сэкономит время при переводе индикатора в класс.
Опубликована новая статья Внедрение расчетов индикатора в код эксперта:
Автор: Дмитрий Гизлык
Взрыв из прошлого.
Действительно, очень интересная статья! Продуманная и красивая концепция... но боюсь, что в распространяемом ПО есть ошибка, а оставлять ошибки вокруг себя нехорошо.
Метод GetData. Распространенный код:
Исправленный код должен быть:
Индекс массива начинается с 0 и последний элемент имеет индекс (m_data_len - 1), а не m_data_len, не так ли?
рф, раздел Работа с пользовательскими индикаторами https://www.mql5.com/ru/articles/261
Спасибо за статью! Изучаю для ухода от нестабильных обычных индикаторов.
Но мне важна возможность визуализации индикаторов на графике. Кто-нибудь реализовавал?
Опубликована статья Как перенести расчетную часть любого индикатора в код эксперта:
Автор: Dmitriy Gizlyk
А зачем вообще переносить расчеты из индикатора в советник?
Очень многие используют индикаторы вовсе без советника.
Можно просто разбить расчеты на этапы.
Например так:
А зачем вообще переносить расчеты из индикатора в советник?
Очень многие используют индикаторы вовсе без советника.
Можно просто разбить расчеты на этапы.
Например так:
Из-за того, что штатный механизм индикаторов работает через пень-колоду, например: https://www.mql5.com/ru/forum/372612 и это обусловлено их реализацией.
С ростом сложности индикаторов мой советник "увяз в болоте". В тестере я словил еще много других багов в работе индикаторов, но не стал их описывать, т.к. бесполезно.
Я не понял вашу идею.
Из-за того, что штатный механизм индикаторов работает через пень-колоду, например: https://www.mql5.com/ru/forum/372612 и это обусловлено их реализацией.
С ростом сложности индикаторов мой советник "увяз в болоте". В тестере я словил еще много других багов в работе индикаторов, но не стал их описывать, т.к. бесполезно.
Я не понял вашу идею.
Начнем с того, что у Вас не совсем корректный код.
Я бы написал так:
Далее, т.к функции в индикаторах должны выполняться с минимальными задержками, то сложные процессы (загрузка истории, сложные расчеты и т.п)
разбиваются на несколько частей, возвращая в
OnCalculate
нулевое значение (return(0) ), т.е индикатор находится в начальной стадии, пока мы не выполним все необходимые нам действия с минимальными задержками в каждой стадии.
В архитектуре MetaTrader 5 организован асинхронный доступ к значениям индикаторов. Иными словами, при получении хэндла индикатора он прикрепляется к графику. Далее этот индикатор производит свои расчеты вне потока советника. Они взаимодействуют лишь на этапе передачи данных, аналогично получению данных тайм-серий. Поэтому и время на выполнение этих операций сопоставимо.
То есть получается в реале все же icustom будет быстрее?! -Ведь в реальности так и будет. Эксперт в одном треде, индикатор в другом (и может даже на разных ядрах). Это только если из засунуть в последовательную обработку получается медленнее - но это ведь только искуственное ограничение из-за тестера стратегий