Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Тут доказывать особо нечего, поскольку еще с МТ3 повелось заимствование алгоритмов расчета индикаторов из TradeStation(TS) как одного из законодателей мод в торговых платформах.
Ниже привожу описание Smoothed Average (SMMA) в TS:
The Smoothed Average function further smoothes an average of the last x bars. It does this by using the previous value of itself.
Use the function in the same way you would use the Average function.
Function
SmoothedAverage(PRICE,LENGTH)
Parameters
PRICE specifies which price of the asset of interest is to be used
LENGTH specifies the number of trailing bars to consider
Returns
A numeric value containing the current Smoothed Average.
Usage
On the first bar, this function adds together all the values returned by the parameter PRICE for the specified LENGTH, divides the sum by the LENGTH,
then stores the value in a variable called SUM. Only on the first bar is the SmoothedAverage function equal to the value stored in SUM.
SUM = Summation(PRICE, LENGTH)
On each bar there after, the function uses a different equation.
SmoothedAverage = (Sum[1] - SmoothedAverage[1] + Price)/Length
Из приведенного надеюсь видно, что формулы в описаниях идентичны, но реализация в коде отличается. Все дело в сумме,а не в значении средней на предыдущем баре.
Вывод:
Либо MQ должно поменять описание SMMA в документации, либо поменять алгоритм расчета в коде, либо добавить еще одно сглаживание по Вайлдеру, что впрочем имеет место в VT. Кроме того, неплохо бы было изменить и ADX, приведя его в соответствие оригиналу.
Понятно, igorad, большое спасибо за критику и дискуссию. Боюсь, теперь без вмешательства или хотя бы комментария разработчиков вопрос так и останется подвешенным в пустоте.
SmoothedAverage = (Sum[1] - SmoothedAverage[1] + Price)/Length
Из приведенного надеюсь видно, что формулы в описаниях идентичны, но реализация в коде отличается. Все дело в сумме,а не в значении средней на предыдущем баре.
Вывод:
Либо MQ должно поменять описание SMMA в документации, либо поменять алгоритм расчета в коде, либо добавить еще одно сглаживание по Вайлдеру, что впрочем имеет место в VT. Кроме того, неплохо бы было изменить и ADX, приведя его в соответствие оригиналу.
Разговор об одном и том же. Я в свое время тоже возился с этим сглаживанием, Смотрим:
Sum[1] =SmoothedAverage[1]*Length, поэтому пишем Sum[1] - SmoothedAverage[1]=SmoothedAverage[1]*Length-SmoothedAverage[1]=SmoothedAverage[1](]*Length-1)
Далее: SmoothedAverage[0]=(SmoothedAverage[1]*(Length-1)+Price[0])/Length
Интересно, что сам дед Билл в обеих своих рептилиях настаивает именно на SMMA. Вот это и настораживает...
Разговор об одном и том же. Я в свое время тоже возился с этим сглаживанием, Смотрим:
Sum[1] =SmoothedAverage[1]*Length, поэтому пишем Sum[1] - SmoothedAverage[1]=SmoothedAverage[1]*Length-SmoothedAverage[1]=SmoothedAverage[1](]*Length-1)
Далее: SmoothedAverage[0]=(SmoothedAverage[1]*(Length-1)+Price[0])/Length
Твоя формула работает при условии Sum = SMMA*Length, но в данном случае Sum = SMA*Length, т.е. формулу SMMA можно привести к виду:
SMMA = (SMA[1]*Length - SMMA[1] + Price)/Length.
Твоя формула работает при условии Sum = SMMA*Length, но в данном случае Sum = SMA*Length, т.е. формулу SMMA можно привести к виду:
SMMA = (SMA[1]*Length - SMMA[1] + Price)/Length.
Разговор об одном и том же. Я в свое время тоже возился с этим сглаживанием, Смотрим:
Sum[1] =SmoothedAverage[1]*Length, поэтому пишем Sum[1] - SmoothedAverage[1]=SmoothedAverage[1]*Length-SmoothedAverage[1]=SmoothedAverage[1](]*Length-1)
Далее: SmoothedAverage[0]=(SmoothedAverage[1]*(Length-1)+Price[0])/Length
Твоя формула работает при условии Sum = SMMA*Length, но в данном случае Sum = SMA*Length, т.е. формулу SMMA можно привести к виду:
SMMA = (SMA[1]*Length - SMMA[1] + Price)/Length.
Разговор об одном и том же. Я в свое время тоже возился с этим сглаживанием, Смотрим:
Sum[1] =SmoothedAverage[1]*Length, поэтому пишем Sum[1] - SmoothedAverage[1]=SmoothedAverage[1]*Length-SmoothedAverage[1]=SmoothedAverage[1](]*Length-1)
Далее: SmoothedAverage[0]=(SmoothedAverage[1]*(Length-1)+Price[0])/Length
Твоя формула работает при условии Sum = SMMA*Length, но в данном случае Sum = SMA*Length, т.е. формулу SMMA можно привести к виду:
SMMA = (SMA[1]*Length - SMMA[1] + Price)/Length.
я что-то не пойму куда ты клонишь. Для проверки верности своего умозаключения тебе надо поставит Омегу и повесить на график SMMA и посмотреть на что она похожа. Вид индикатора представляет собой сглаженную SMA. Просто вам(MQ) надо с этим разобраться и что-то подкорректировать - или формулу (тогда надо изменить код индикатора), или описание(тогда это будет не SMMA, а средняя Вайлдера).
Желтая- EMA(27), Magenta - SMA(14), Aqua - SMMA(14)
Да, интересно девки пляшут. Я увидел ошибочность своих выкладок: логичнее считать, что на каждом следующем шаге в первом слагаемом используется именно простой мувинг. igorad, похоже, прав, а корректная рекуррентная формула такова:
Здесь увеличение индекса соответствует движению в будущее.
Это уже нечто совсем другое, совсем не EMA, но все же мувинг. И совсем он не похож на EMA. Значит, реализация в МТ неверна, так как в бесконечности она сходится к ЕМА, и ее нужно править.