una estrategia de negociación basada en la teoría de las ondas de Elliott - página 45

 
if((H[k-1]<H[k])&&(H[k]>H[k+1])&&(H[k]>curHi)) для минимума аналогично.

Sólo queda justificar la elección de una zona suficiente alrededor del Alto para tomarlo como el Alto de la muestra dada. ¿Supongo que este Alto debe ser un punto máximo dentro de un radio de +-30% de la longitud de la muestra? En caso de que no sea así, es necesario aumentar la muestra para determinar dos cosas juntas: el extremo y la longitud de la muestra... ¿Qué opina al respecto?

Si simplemente seleccionas un extremo en un intervalo determinado (es decir, el máximo (el mínimo)) de tres barras y seleccionas el más alto (el más bajo), deberías obtener básicamente lo que necesitas. Aunque, probablemente, tendría sentido verificar que la longitud de la muestra de dicho extremo es suficiente, es decir, que todos los criterios deberían funcionar. Voy a experimentar

Vladislav, ¿crees que corregirás el código del indicador Murray a la luz de la nueva información? ¡Estamos esperando la nueva versión ;o)!


Sí, no es difícil de enderezar. Sin embargo, si es necesario, lo arreglaré.

Buena suerte y buena suerte con el paso de las tendencias.
 
Si simplemente seleccionamos un extremo (es decir, el máximo (mínimo)) de tres barras en un intervalo dado y elegimos la más alta (la más baja), deberíamos, en principio, obtener lo que necesitamos.


Encontrar lo que se necesita puede hacerse de forma muy sencilla ordenando una matriz bidimensional.
Hay 2 columnas en la matriz: La 1ª = Alta, y en la 2ª escribimos el número de compás.
La ordenación (en MQL, va por la primera columna) pone el máximo en el primer lugar, y el mínimo en el último (o viceversa),
y el mínimo en la última posición (o viceversa, según el modo de clasificación).
El número de compás se lee en la segunda columna.

Sin embargo, no sé cuánto tiempo llevará esto.
 
Saludos a todos los pocos miembros activos de este interesantísimo hilo :-)
En este momento estoy tratando de averiguar el método que Vladislav generosamente nos dio, lo que significa buscar a través de las 23 páginas. Mientras busco, por supuesto, examino los trozos de código que los panelistas han decidido publicar. Entiendo que el código de la pág. Pero no obstante, por si acaso, quiero llamar la atención sobre el hecho de que creo que la función de cálculo de la dispersión de errores contiene un error que hace que el cálculo no sea coherente con la fórmula y provoca posibles errores de división por cero en tiempo de ejecución.
double dispercia_oshibok(double data[], double centr) { int k,size; double disper=0; size=ArraySize(data); for(k=size-1;k>=0;k--) disper=disper+MathPow((data[k]-centr),2); if(size>1) disper=disper/(size-2); return(disper); }



Tal vez la línea if(size>1) disper=disper/(size-2); se escribiría más correctamente como if(size>1) disper=disper/(size-1);

Por favor, confirme o refute mi conclusión, ya que, lamentablemente, no puedo seguir adelante sin averiguar los más mínimos detalles. :-) Gracias de antemano.

 
Siga leyendo: responderá a la pregunta.
 
Oh... caballeros. Basta con decir "así" o "no así". :-) He leído todo el hilo. Probablemente se me pasó, así que buscaré de nuevo. Buscando encontré un sitio interesante con varios algoritmos: http: //alglib.sources.ru/ Espero que no lo considere una publicidad. :-)
 
En nuestro caso el tamaño>=30 y la fórmula es disper=disper/(tamaño)

ZS ¿Esto es mejor? :)
 
En nuestro caso size>=30 y la fórmula sería disper=disper/(size)<br / translate="no">
¿SZZ que mejor? :)


En absoluto. :-) Ahora tengo que arreglar el "techo" con urgencia, porque el sufrido Bulashev en "4.3 Estimación de la dispersión y la desviación estándar" en la fórmula para calcular la dispersión en el divisor está presente N-1.
¿De dónde viene la madera, Rosh? :-)
 
ee. :-) Ahora tengo que arreglar el "techo" urgentemente, porque el sufrido Bulashev en "4.3. Estimación de la varianza y la desviación estándar." tiene N-1 en la fórmula para calcular la varianza en el divisor. <br / translate="no"> ¿De dónde viene la madera, Rosh? :-)

De hecho, cuando estamos estimando la varianza de los errores de aproximación, en lugar de la propia muestra de datos, el denominador debería ser, por supuesto, N-2. https://c.mql5.com/mql4/forum/2006/06/disp_oshibok.zip
Bulashev incluso da un ejemplo concreto en su libro sobre este punto.
 
<br / translate="no"> En realidad, cuando estamos estimando la varianza de los errores de aproximación, no la muestra de datos en sí, el denominador debe ser, por supuesto, N-2.


Sí, gracias. Ya lo tengo. Voy a leer este artículo con más atención.
En este caso es mejor escribir la condición como "if(size>2)" para no tentar a la suerte. El código debe ser estable :-)
 
En ese caso, la condición debería escribirse como "if(size>2)", para no tentar a la suerte. El código debe ser estable :-)

Está más claro que el agua!:o)))
Ese guión hecho a medida se publicó como una pregunta para Valadislav y no para su uso práctico.
En el código que tengo actualmente la varianza se calcula sin llamar a una función especial para ahorrar el tiempo de cálculo y además comprueba
if(size-2!=0) disper=disper/(size-2);
en general creo que no merece la pena discutir en este hilo estas trivialidades de programación.