На мой взгляд, это просто пустая трата вычислительных мощностей и памяти! Среднее значение нескольких скользящих средних - это просто еще одна скользящая средняя с соответствующим эквивалентным периодом. Таким образом, индикатор, по сути, просто показывает разницу между двумя скользящими средними.
Было бы эффективнее сначала вычислить эквивалентный период в OnInit() для всех перечисленных периодов, а затем просто выполнить расчеты только для двух скользящих средних.
Еще лучше, если пользователь даже не будет заморачиваться с составлением списка нескольких периодов и просто выберет два (быстрый и медленный период), что, в конечном счете, просто вернет его к очень старому и хорошо известному индикатору, а именно MACD (Moving Average Convergence/Divergence) и всем его вариантам.
Это похоже на MACD, но из-за вычислений множественных разниц и их накопления, это не является и не будет являться MACD (который, по определению Джеральда Аппеля, его изобретателя, является разницей быстрой и медленной EMA, следовательно, ничто, что не является разницей только 2 EMA, не является MACD).
Что касается остального: проверьте свою математику, прежде чем делать сообщение
Да, я знаю, что оригинальный MACD основан только на экспоненциальной скользящей средней, но есть много вариантов MACD, которые используют различные типы скользящих средних.
Я действительно проверил математику перед публикацией! Как я уже говорил, среднее значение нескольких скользящих средних одного типа приводит к одной эквивалентной скользящей средней (то же самое относится и к среднему значению разницы).
Однако я не пытаюсь разжечь войну. Я просто высказал свое мнение. Другие могут иметь другое мнение, и это их прерогатива.
Он похож на MACD, но из-за вычислений и накопления множественных разниц, это не является и не будет являться MACD (который, по определению Джеральда Аппеля, его изобретателя, является разницей быстрой и медленной EMA, следовательно, ничто, что не является разницей только 2 EMA, не является MACD).
Что касается остального: проверяйте свою математику, прежде чем делать сообщение.
Я решил переделать математику еще раз, и, похоже, мое мнение действительно верно по большей части, но не для SMA (Standard Moving Average).
Оно справедливо для SMMA (сглаженная скользящая средняя), EMA (экспоненциальная скользящая средняя) и LWMA (линейно-взвешенная скользящая средняя), но не справедливо для SMA (стандартная скользящая средняя).
Таким образом, мое предложение повысить эффективность индикатора, вычисляя эквивалентный период в OnInit(), все еще актуально для типов, которые имеют единственную эквивалентную возможность.
EDIT: Например, при списке периодов "2;3;8;21;34", для EMA это будет эквивалентно "2;8.193", а для SMMA - "2;7.472". Я не стал приводить пример для LWMA, так как математика там немного сложнее, и мне было лень этим заниматься, но для EMA и SMMA этого достаточно, чтобы проиллюстрировать суть.
EDIT2: Да, я знаю, что функция iMA() использует только целочисленные периоды, а не двойные, но это недостаток реализации функции, а не формулы, лежащей в основе. Вместо iMA() можно использовать правильную реализацию, как это сделано, например, в собственном примере кода MetaQuote "Custom Moving Average.mq5".
Спасибо за отличную работу! Я не очень понимаю математику, но визуально результат намного удобнее для чтения, чем MACD и его различные модификации.
В то время как цвет линии показывает восходящий/нисходящий тренд, не могли бы вы быть настолько любезны, чтобы объяснить, что означает гистограмма? Силу тренда?
И что означает крест 0-линии?
Заранее благодарю за ответ!
- www.mql5.com
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Averages composite trend:
Тренд, состоящий из серии скользящих средних
Автор: Mladen Rakic