У меня, если выставляю любой период сглаживания, отличный от 50, индикатор пропадает с графика. Почему такое может происходить?
В этом индикаторе есть ошибка, при вводе значения от 21 до 49 в параметр "глубина сглаживания" положение линии LSMA будет смещено вверх. Также имеется опечатка в одном лишнем символе в метке вертикального сдвига:
input int PriceShift=0; // вертикальный сдвиг индикатора в пунктахх
xtemer вертикального сдвига:
Я не уверен, действительно ли это баг в старом индикаторе, или же это измененное поведение компилятора / внутренних вычислений MT (Metaquotes любит это делать ;)
Проблема здесь заключается в делении 2 int на double, где результат всегда округляется до int-значения, например, с точкой получается int 51:
double length = (period + 1) / 3; // (51 + 1) / 3 = 17,0, пока double length = (period + 1) / 3.0; // (51 + 1) / 3.0 = 17.3333...
В любом случае, вы можете использовать мою версию , пока не появится исправление.
Файлы:
LSMA.mq5
10 kb
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
LSMA:
Типичный мувинг
Рис.1 Индикатор LSMA
Автор: Nikolay Kositsin