Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1759

 
Nikolay Ivanov #:

qué, dónde y cuándo y de dónde a dónde, la respuesta es clara.

Se conoce el tamaño del gráfico en píxeles, el número de velas mostradas, sus fechas, los sangrados, se obtienen los precios máximos y mínimos. ¿Cuál es el problema?

 
Vitaly Muzichenko #:

Intentaré ser más específico.

¿Debe comprobarse si la línea tiene un extremo en qué barra, en 0 o en 1, o en qué otra barra?

 
Andrey Sokolov #:

Se conoce el tamaño del gráfico en píxeles, se conoce el número de velas, sus fechas, los sangrados, se obtienen los precios máximos y mínimos. ¿Cuál es el problema?

Puedo esbozar 2 problemas a simple vista...

1) Si tienes 1 píxel corresponde a 10 puntos (por ejemplo). ¿Cuántos píxeles necesitaría para cubrir 15 puntos?

2) Si el mínimo y el máximo del gráfico se modifican al desplazarse, o al cambiar la TF o la escala, ¿se cumplirá el requisito de que el círculo debe corresponder a un número determinado de puntos?

 
Nikolay Ivanov #:

Se me ocurren dos problemas...

1) Si tienes 1 píxel que corresponde a 10 puntos (por ejemplo)... Entonces, ¿cuántos píxeles serían necesarios para cubrir 15 puntos?

2) Si el gráfico de mínimos y máximos se modifica mediante el desplazamiento, o el cambio de TF o de escala, ¿se cumplirá el requisito de que el círculo debe corresponder a un número determinado de puntos?

1 - ¿Puedes redondear a números enteros?

2 - No está prohibido recalcular según el evento en el gráfico

¿Tienes problemas reales o inventados?
 
Vitaly Muzichenko #:

Intentaré ser más específico.

Momento actual: Vemos 2 líneas en la parte superior y 2 en la inferior

Uno de los superiores dio una señal, y uno de los inferiores dio una señal-el segundo desde el fondo (fractura)


¿Y? ¿Qué tiene de malo el ZigZag? - Siempre mostrará la dirección de la última ruptura.

y te librarás inmediatamente de la siguiente tarea - filtrar las pausas en un par de puntos - Ajuste de la desviación


y otra tarea futura para la gente como su TS - encontrar cuántas barras hace fue la ruptura - en mi ejemplo, también puede devolver tal valor

Y una vez más - mi código ZZ debe hacerse en una función separada y calcular ZZ para cada línea en cada tick y recordar para cada línea la última dirección de ZZ y el número de barra donde fue el último cálculo - el cálculo será rápido, puede ejecutarlo en el probador



si quieres, haz lo que dicen en los foros - si Buf[1] > Buf[2] && Buf[2] > Buf[3].... probablemente MA va hacia abajo....

 
Nikolay Ivanov #:

No, nadie ha dicho nada de encajar. Se necesita que el diámetro del círculo sea siempre igual a un número determinado en puntos.

Puede que lo haya entendido mal, pero ¿qué tiene de difícil fijar el diámetro en pips?


 
Nikolay Ivanov #:

¿Debe comprobarse si la línea tiene un extremo en qué barra, en 0 o en 1, o en qué otra barra?

A cero.

Unade las dos líneasbajas = Bar[1] <Bar[0], una de las dos líneas altas =Bar[1] >Bar[0]

Busca en las dos líneas superiores y en las dos inferiores

En cualquier momento puede haber una ruptura en la segunda más alta y la primera más baja, o en la más baja y la más alta, o en la primera más alta y la segunda más baja. O en ambos a la vez.

 
Andrey Sokolov #:

1 - ¿Puedes redondear a números enteros?

2 - No está prohibido recalcular a un evento en el gráfico.

1) No es redondeo es un error... y muy grande... en mi ejemplo es 10, pero en algunos instrumentos podría ser 100, 1000, 10000, etc... bonito redondeo...

2) Así que le dirás al cliente que es posible, y luego harás que su procesador 24 por 7 compruebe todos los iconos de todos los gráficos cada segundo para ver si el tamaño del círculo puede cambiar allí... + Tendrá que asegurarse de que su código esté siempre encendido. Creo que es un sabotaje :)

En resumen... Al principio dijiste que la tarea se puede resolver, pero luego resultó que los valores serán aproximados y tendrán un gran margen de error, y el código del watchdog debe estar funcionando para fijar y ajustar los valores colgando el procesador...

¿Y crees que a esto se le llama resolver el problema? Se llama agarrar sin pensar, y luego convencer/probar/cuestionar que es lo correcto...

 
Igor Makanu #:

¿Y? ¿Qué tiene de malo el ZigZag? - Siempre mostrará la dirección de la última fractura

y te librarás inmediatamente de la siguiente tarea - filtrar las pausas en un par de puntos - Ajuste de la desviación


y otra tarea futura para la gente como su TS - encontrar cuántas barras hace fue la ruptura - en mi ejemplo, también puede devolver tal valor

Y una vez más - mi código ZZ debe hacerse en una función separada y calcular ZZ para cada línea en cada tick y recordar para cada línea la última dirección de ZZ y el número de barra donde fue el último cálculo - el cálculo será rápido, puede ejecutarlo en el probador


si quieres, haz lo que dicen en los foros - si Buf[1] > Buf[2] && Buf[2] > Buf[3].... probablemente MA va hacia abajo....

Miré de nuevo, cómo aplicar a mi problema - no he descubierto todavía.

 
Vitaly Muzichenko #:

A cero.

Una de las dos líneas bajas= Bar[1] <Bar[0], una de las dos líneas altas=Bar[1] >Bar[0].

Buscamos a lo largo de las 2 líneas superiores y las 2 líneas inferiores

En cualquier momento puede haber una ruptura en la segunda más alta y la primera más baja, o en la más baja y la más alta, o en la primera más alta y la segunda más baja. O en ambos a la vez.

1)Busque fracturas en todas las líneas.

2) De los que hay una ruptura, seleccionamos el que tiene el extremo de 0 barras...

¿Funciona este algoritmo?