Indicadores: LSMA

 

LSMA:

Una Media Móvil típica

Fig.1 Indicador LSMA

Autor: Nikolay Kositsin

 
Si establezco un periodo de suavizado distinto de 50, el indicador desaparece del gráfico. ¿Por qué puede ocurrir esto?
 

Clinn:
У меня, если выставляю любой период сглаживания, отличный от 50, индикатор пропадает с графика. Почему такое может происходить?

La cuestión es que el propio algoritmo del autor está jorobado y, por tanto, ¡el muving del gráfico vertical nada mucho!

 

Hay un bug/error en este indicador, introducir un valor numérico entre 21 y 49 a la "profundidad de suavizado" hará que la posición de la línea LSMA se desplace hacia arriba. Además, hay un error tipográfico de un carácter extra en la etiqueta de desplazamiento vertical:

input int PriceShift=0; // desplazamiento vertical del indicador en puntosх
 
xtemer desplazamiento vertical:

No estoy seguro de si esto es realmente un error en este viejo indicador, o si se trata de un comportamiento mientras tanto cambiado del compilador / MT-cálculos internos (Metaquotes le gusta hacer eso ;)

El problema aquí es la división entre 2 int's en un doble, donde el resultado es siempre redondeado al valor int, por ejemplo con un punto es un int de 51:

double length = (period + 1) / 3;   // (51 + 1) / 3 = 17,0, mientras que 
double length = (period + 1) / 3.0; // (51 + 1) / 3.0 = 17.3333...

En cualquier caso, puedes usar mi versión hasta que aparezca una solución.

Archivos adjuntos:
LSMA.mq5  10 kb
 

Este indicador no funciona en varios periodos