¿Cómo codificar? - página 295

 

este tipo de indicador sobre el Exponente de Hurst

mladen:
Esta parte :

for (i=limit-1;i>=0;i--)

{

for (int j=0;j<n;j--)

{

for (i=limit-1;0<=i<=j;i--) // you are alrady using "i" variable in in the outer loop

{

double B=0,SUM[]; // Sum is an un-initialized array and shoulde be created out of this loop.

B=B+A;

SUM[j]=B;

}

}

H=MathLog((SUM[ArrayMaximum(SUM,n,0)]-SUM[ArrayMinimum(SUM,n,0)])/S)/MathLog(n/2);

}
Comentado donde está el error. Sin la descripción no puedo decir lo que está tratando de lograr con ese código, así que no puedo alterarlo.

En el trading armónico utilizamos el Exponente de Hurst como una estimación de

previsibilidad de un flujo de datos de precios. Indica si la acción del precio es

probable que tenga

Persistencia - valor 0,5 - 1 (es decir, lo que está sucediendo ahora es

lo que está ocurriendo ahora, es probable que continúe)

Antipersistencia - valor 0 - 0,5 (es decir, lo que está ocurriendo ahora

es probable que se invierta)

Aleatoriedad - valor alrededor de 0,5 (es decir, es probable que vaya en cualquier

dirección)

Estimado mladen,lo siento,el inglés no es mi lengua materna,Puedes ayudar a escribir el código completo con las siguientes ideas de cálculo?

Paso_A、X= MathLog(Close/Close)

{ el valor de H de un solo R/S eg:

Paso1、E = (1/n)*[X(0)+X(1)+X(2)+...+X(n-1) ] //din n>=10

Paso2、A(0) = X(0) - E

A(1) = X(1) - E

A(2) = X(2) - E

...

A(n-1) = X(n-1) - E

Paso3、SUMA(0) = A(0)

SUMA(1) = A(0)+ A(1)

SUMA(2) = A(0)+A(1) + A(2)

...

SUM(n-1) = A(0)+A(1) + A(2) + ...+ A(n-1)

Paso4、R= Máximo(SUM,n) - Mínimo(SUM,n)

Paso5、H = log(R/S)/log(n/2) // Sea s la desviación estándar del conjunto de { X(0),X(1), X(2), ... X(n-1)}

}

Paso_B、calcular H del conjunto de { X(i),X(i+1), X(i+2), ... X(i+n-1)}

Paso_C、Calcular la media móvil exponencial de H, Que sea suave ,si la media móvil exponencial de H es igual a 0,5 entonces alerta "lookout"

Y hacer este indicador puede trabajar en Multi Time Frime, por favor, gracias

 

...

chenairbin

Te recomiendo que leas este post : https://www.mql5.com/en/forum/173010/page19 para obtener información adicional

Dado que en ese post no se adjuntan Sevciks (el que tiene un problema del que hablaba) ni el índice de dimensión fractal corregido (corrección hecha por Alex Matulich) ni el exponente de Hurst aquí están también

Además, te darás cuenta de que esas versiones no coinciden exactamente con la equidad del índice de dimensión Fractal 2, pero decidí dejarlas como están en lugar de forzar que sean exactamente iguales

chenairbin:
En el comercio armónico utilizamos el exponente de Hurst como una estimación de

predictibilidad de un flujo de datos de precios. Indica si la acción del precio es

probable que tenga:-

Persistencia - valor 0,5 - 1 (es decir, lo que está sucediendo ahora es

lo que está ocurriendo ahora, es probable que continúe)

Antipersistencia - valor 0 - 0,5 (es decir, lo que está ocurriendo ahora

es probable que se invierta)

Aleatoriedad - valor alrededor de 0,5 (es decir, es probable que vaya en cualquier

dirección)

Estimado mladen,lo siento,el inglés no es mi lengua materna,Puedes ayudar a escribir el código completo con las siguientes ideas de cálculo?

Paso_A、X= MathLog(Close/Close)

{ el valor de H de un solo R/S eg:

Paso1、E = (1/n)*[X(0)+X(1)+X(2)+...+X(n-1) ] //din n>=10

Paso2、A(0) = X(0) - E

A(1) = X(1) - E

A(2) = X(2) - E

...

A(n-1) = X(n-1) - E

Paso3、SUMA(0) = A(0)

SUMA(1) = A(0)+ A(1)

SUMA(2) = A(0)+A(1) + A(2)

...

SUM(n-1) = A(0)+A(1) + A(2) + ...+ A(n-1)

Paso4、R= Máximo(SUM,n) - Mínimo(SUM,n)

Paso5、H = log(R/S)/log(n/2) // Sea s la desviación estándar del conjunto de { X(0),X(1), X(2), ... X(n-1)}

}

Paso_B、calcular H a partir del conjunto de { X(i),X(i+1), X(i+2), ... X(i+n-1)}

Paso_C、Calcular la media móvil exponencial de H, Que sea suave ,si la media móvil exponencial de H es igual a 0,5 entonces alerta "lookout"

Y hacer este indicador puede trabajar en Multi Time Frime, por favor, gracias
 

mladen

mladen:
chenairbin

Te recomiendo que leas este post : https://www.mql5.com/en/forum/173010/page19 para obtener información adicional

Ya que en ese post no se adjuntan Sevciks (el que tiene un problema del que hablaba) ni el índice de dimensión fractal corregido (corrección hecha por Alex Matulich) ni el exponente de Hurst aquí están también

Además, te darás cuenta de que esas versiones no coinciden exactamente con la equidad de índice de dimensión 2- Fractal, pero decidí dejarlas como están en lugar de forzar que sean exactamente iguales

el cod en Hurst cofficient.mq4

PrecioAplicado = PRECIO_CIERRE

maxY = MathMax(y[k],maxY);

minY = MathMin(y[k],minY);

debería ser

PrecioAplicado=In(precio/precio)

maxY = y[ArrayMaximum(y,HurstLength,i)];

minY = y[ArrayMinimum(y,HurstLength,i)];

y luego hay que modificar el coeficiente de Hurst ,Hazme un favor,Muchas gracias!

 

...

chenairbin

Ese código es sólo una parte del código de cálculo de Hurst

Todo el bloque de código es este :
for (k=1; k<HurstLength; k++)

{

y[k] = y[k-1] + x[k];

maxY = MathMax(y[k],maxY);

minY = MathMin(y[k],minY);

}

Como puedes ver es un bucle que es funcionalmente equivalente a ArrayMaximim() y ArrayMinimum() que propones, No puedes mirar esas 2 líneas de código (el MathMin() y MathMax()) descuidando el bucle en el que se ejecutan

El precio aplicado se refiere al precio que se va a utilizar en el cálculo (los habituales : cierre, apertura, máximo, mínimo, mediana, típico y ponderado) Su diferencia se calcula de otra manera (no existe el precio In(precio/precio))

chenairbin:
el bacalao en el coeficiente de Hurst.mq4

Precio aplicado = PRECIO_CIERRE

maxY = MathMax(y[k],maxY);

minY = MathMin(y[k],minY);

debería ser

PrecioAplicado=In(precio/precio)

maxY = y[ArrayMaximum(y,HurstLength,i)];

minY = y[ArrayMinimum(y,HurstLength,i)];

y luego hay que modificar el coeficiente de Hurst , Hazme un favor, Muchas gracias!
 

mladen

mladen:
chenairbin

Ese código es sólo una parte del código de cálculo de Hurst

El bloque de código completo es este :
for (k=1; k<HurstLength; k++)

{

y[k] = y[k-1] + x[k];

maxY = MathMax(y[k],maxY);

minY = MathMin(y[k],minY);

}

Como puedes ver es un bucle que es funcionalmente equivalente a ArrayMaximim() y ArrayMinimum() que propones, No puedes mirar esas 2 líneas de código (el MathMin() y MathMax()) descuidando el bucle en el que se ejecutan

El precio aplicado se refiere al precio que se va a utilizar en el cálculo (los habituales : cierre, apertura, alta, baja, mediana, típica y ponderada) Su diferencia se calcula de otra manera (no hay tal precio como In(precio/precio))

Erik Long dijo en este sitio Índice de dimensión fractal por Erik T. Long

También podemos estimar el valor de H a partir de un único valor de R/S mediante

H = log(R/S)/log(n/2) // es correcto ?

Para los mercados, utilizo rendimientos logarítmicos en lugar de cambios porcentuales en los precios:

St = ln(Pt/P(t-1))

Donde St = rendimiento logarítmico un tiempo t Pt = Precio en el tiempo t /tanto precio como In(Close/Close)

puedes fijar el cod junto con Erik Long

Yo uso el siguiente cod en Hurst coeficiente.mq4,y funciona bien con el sitio(http://www.stator-afm.com/hurst-exponent.html) saids

De todos modos, lo que Hurst aparentemente encontró, fue que el gráfico tenía una pendiente más cercana a 0,7 (en lugar de 0,5).

maxY = y[ArrayMaximum(y,HurstLength,0)];

minY = y[ArrayMinimum(y,HurstLength,0)]; }

double iValue = 0; if (sums !=0) iValue = (maxY - minY)/MathSqrt(sums/HurstLength);

double hurst = 0; if (iValue > 0) hurst = MathLog(iValue)/ MathLog(HurstLength/2);

qué tal si se modifica junto con Erik Long?

Para los mercados, utilizo rendimientos logarítmicos en lugar de cambios porcentuales en los precios:

St = ln(Pt/P(t-1))

Donde St = rendimiento logarítmico un tiempo t Pt = Precio en el tiempo t /tanto precio como In(Close/Close)

espero su respuesta ? gracias

 
ymkoh:
¡Gracias por la información!

He probado la mayoría de ellos, pero ninguno puede trabajar.

ejemplos:- EA Trading TF H1 VQ entrada 240.

Sólo funciona en el comercio TF H1 VQ entrada 0 por defecto.

Se adjunta la captura de pantalla muestran ejemplo de comercio TF H1 buysell señal de disparo por VQ indicador H4 marco de tiempo. (No se adjunta EA)

vq7.mq4

Estoy teniendo una dificultad. alguien me ayude..por favor ayúdeme..como codificar?

 

...

Echa un vistazo a esta sección para empezar : Lecciones

april:
Tengo una dificultad. alguien que me ayude..por favor ayúdeme..¿cómo codificar?
 

...

Esto podría ayudar: esta es la descripción original del cálculo del IED (y del exponente de Hurst) por Erik Long, publicada en TASC en mayo de 2003

chenairbin:
Erik Long dijo en este sitio Índice de dimensión fractal por Erik T. Long

También podemos estimar el valor de H a partir de un único valor de R/S mediante

H = log(R/S)/log(n/2) // es correcto ?

Para los mercados, utilizo rendimientos logarítmicos en lugar de cambios porcentuales en los precios:

St = ln(Pt/P(t-1))

Donde St = rendimiento logarítmico un tiempo t Pt = Precio en el tiempo t /tanto precio como In(Close/Close)

puedes arreglar el cod junto con Erik Long

Yo uso el siguiente cod en Hurst coeficiente.mq4,y funciona bien con el sitio(Hurst Exponente) saids

De todos modos, lo que Hurst aparentemente encontró, fue que el gráfico tenía una pendiente más cercana a 0,7 (en lugar de 0,5).

maxY = y[ArrayMaximum(y,HurstLength,0)];

minY = y[ArrayMinimum(y,HurstLength,0)]; }

double iValue = 0; if (sums !=0) iValue = (maxY - minY)/MathSqrt(sums/HurstLength);

double hurst = 0; if (iValue > 0) hurst = MathLog(iValue)/ MathLog(HurstLength/2);

qué tal si se modifica junto con Erik Long?

Para los mercados, utilizo rendimientos logarítmicos en lugar de cambios porcentuales en los precios:

St = ln(Pt/P(t-1))

Donde St = rendimiento logarítmico un tiempo t Pt = Precio en el tiempo t /tanto precio como In(Close/Close)

Espero sus noticias... gracias.
Archivos adjuntos:
fdi.gif  118 kb
 

Una ayuda más sobre Hurst cofficient.mq4

mladen:
Esto podría ayudar : esta es la descripción original del cálculo del IED (y del exponente de Hurst) por Erik Long publicada en TASC mayo 2003

Muchas gracias,i soy más nuevo en el área de mql4 , Por favor, ayudar a mejorar cod con el precio de Erik Long。

Para los mercados, utilizo rendimientos logarítmicos en lugar de cambios porcentuales en los precios:

St = ln(Pt/P(t-1))

Donde St = rendimiento logarítmico a un tiempo t Pt = Precio a un tiempo t /tanto precio como In(Close/Close)

 

¿alguien puede corregir mi código mql 4?

como se mencionó anteriormente,

Acabo de editar mi código mql4, pero parece que no funciona,

hay muchos errores en mi código mql4,

solo deseo que alguien aqui corrija mi codigo mql4.

por favor, necesito su ayuda.