Посчитал целесообразным разместить этот индикатор здесь, так как такой инструмент, как МА, применяется во многих торговых системах...
Появилась как-то у меня идея сделать среднюю, характер которой зависел бы от волатильности рынка. То есть на участках с большой волатильностью она вела бы себя как "короткая" средняя, а если волатильность низкая - то как "длинная". Итогом идеи стал индикатор EMA_Adaptive_v22.mq4.
На скриншоте приведены ЕМА(2) - желтая кривая, EMA(48) - голубая кривая и адаптивная EMA (красная), период которой изменяется от 2-х до 48-ми. Хорошо заметно, что адаптивная средняя ведет себя так, как было задумано: практически сливается с длинной EMA на спокойном рынке и стремится к короткой на сильных движениях.
Теперь о самом индикаторе и его параметрах. В нем период средней рассчитывается от MaxPeriod в сторону MinPeriod, пока среднеквадратическое отклонение цены от средней (Standard Deviation) не станет меньше порогового уровня LevelStdDevPoint (в пунктах). То есть параметр LevelStdDevPoint - это параметр чувствительности кривой. Есть возможность использования еще и дополнительнго сглаживания (параметр Smooth). Кому не надо - ставьте Smooth=1.
Но индикатор оказался довольно тяжеловесным, долго не отображался в окне и использовал много ресурсов, особенно когда волатильность на рынке высокая. Поэтому в последней версии был изменен алгоритм перебора периодов - вместо последовательного перебора от максимального периода в сторону минимального, был применен метод деления интервала пополам (кто знаком с численными методами, поймут меня). В результате число итераций сократилось в несколько раз, и индикатор перестал сильно грузить процессор.
Надеюсь, что адаптивная средняя будет полезна участникам форума.
Как применять среднюю, думаю, большинство знает.