Herramientas de no-agotamiento - página 46

 

No entiendo dónde está mi error

pi = 3.1415926535

Cicloe=4

Longitud=9

Coeff = 3*pi

Fase = Longitud-1

Len = Longitud*Cicloe + Fase

para i=0 a Len-1

si i<=Fase-1 entonces

t = 1,0*i/(Fase-1)

si no

t = 1,0 + (i-Fase+1)*(2,0*Cicloe-1,0)/(Cicloe*Longitud-1,0)

endif

beta = Cos(pi*t)

g = 1,0/(Coeff*t+1)

si t <= 0.5 entonces

g = 1

endif

alfa = g * beta

siguiente

 
zilliq:
No entiendo dónde está mi error

pi = 3,1415926535

Cicloe=4

Longitud=9

Coeff = 3*pi

Fase = Longitud-1

Len = Longitud*Cicloe + Fase

para i=0 a Len-1

si i<=Fase-1 entonces

t = 1,0*i/(Fase-1)

si no

t = 1,0 + (i-Fase+1)*(2,0*Cicloe-1,0)/(Cicloe*Longitud-1,0)

endif

beta = Cos(pi*t)

g = 1,0/(Coeff*t+1)

si t <= 0.5 entonces

g = 1

endif

alfa = g * beta

siguiente

zilliq

Debes tener un array de alfas

 

Gracias Mladen,

¿pero qué significa una "matriz de alfas"?

Algo curioso no veo donde incluir el precio

Gracias por tu siguiente respuesta

Zilliq

 
zilliq:
Gracias Mladen,

¿Pero qué significa una "matriz de alfas"?

Algo curioso no veo donde incluir el precio

Gracias por tu siguiente respuesta

Zilliq

Zilliq

Mira esta parte del código :

double sum = 0, sumw = 0;

for (k=0; k =0; k++) { sum += nlmalphas[k]*nlmprices[r-k]; sumw += nlmalphas[k]; }

if (sumw!=0)

return(sum/sumw);

else return(price);

Ahí es donde se usan los precios (cada uno con su propio alhpa - a cada precio en el len array de precios se le aplica su propio alfa como coeficiente de ponderación - por eso estás almacenando un array de alphas de diferentes valores en un array - para poder aplicarlo al precio correspondiente)

 

Siempre tan rápido para responder

Ok creo que lo entenderé, no será fácil de codificar, pero lo intentaré

Gracias por todo y que tengan un buen día

Zilliq

 
zilliq:
Siempre tan rápido para responder

Ok creo que lo entenderé, no será fácil de codificar, pero lo intentaré

Gracias por todo y que tengan un buen día

Zilliq

Feliz codificación

 

Sobres Nonlag ma.

Versión actualizada publicada aquí : https://www.mql5.com/en/forum/general

Archivos adjuntos:
 

Esta versión de NonLag MA histo con alertas actualizado también para utilizar la nueva forma de NonLag ma cálculo : nonlag_ma_histo_mtfalerts-1_nmc.mq4

Originalmente fue publicado aquí : https://www.mql5.com/en/forum/general

Archivos adjuntos:
 

Hola Mladen,

Parece que está bien, pero puedes confirmar que al final del código

1/ Hay que añadir todos los alfa*precios

y

2/ Dividimos esta suma por la suma de todos los alfa*precios

con i=0 a Len-1

Muchas gracias y que tengas un buen día

Zilliq

mladen:
Feliz codificación
Archivos adjuntos:
cac40_index.png  30 kb
 
zilliq:
Hola Mladen,

Parece que está bien, pero puedes confirmar que al final del código

1/ Tenemos que añadir todos los alfa*precios

y

2/ Dividimos esta suma por la suma de todos los alfa*precios

con i=0 a Len-1

Muchas gracias y que tengas un buen día

Zilliq

Sí, dividimos esa suma por la suma de los alfa utilizados (de esa manera los más antiguos están teniendo un valor lógico también - una especie de escala en del indicador).

NonLag ma es simplemente una especie de filtro digital con coeficientes para cada precio en una determinada posición (como SMA es un filtro digital con todos los coeficientes establecidos en 1). Si recuerdas eso, entonces es más fácil saber lo que estás haciendo

Razón de la queja: