Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 573
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Veré lo que puedo averiguar. Gracias.
De nada. Simplemente guarda todos los altos en un array, y luego imprime todos los datos guardados en el array en el registro en un bucle.
Este script no necesariamente hace exactamente lo que necesitas que haga. Simplemente muestra cómo se almacenan los datos en la matriz.
En absoluto. Simplemente guarda todas las altas en un array y luego imprime todos los datos guardados en el array en un bucle en el diario.
Este script no necesariamente hace exactamente lo que necesitas. Sólo muestra el principio de guardar datos en un array.
Eso es exactamente lo que estaba buscando. Necesitaba que, de alguna manera, guardara los datos en un array para el periodo que eligiera. Esa es la parte que entendí de ti.
Ahora mi pregunta es, ¿CÓMO puedo acceder y comparar los datos registrados en la matriz?
Aquí resulta iterar, escribir el array paso a paso. Esto es bueno. Pero ahora tenemos que comparar los elementos entre sí.
¿Es necesario declarar un nuevo recuento de iteraciones y luego recuperar los datos y compararlos de alguna manera? Pero esto de nuevo tiene que escribir los resultados en alguna parte y ... todo se repite al final.
A grandes rasgos, si el período de comparación es de 5 a 7 velas, entonces la primera debe ser comparada con otras 6, luego la segunda y así sucesivamente.... Y si dos o más de ellos tienen un Alto igual, entonces en primer lugar, debe calcular este Alto, y en segundo lugar, debe encontrar la vela con el Bajo más bajo. Es decir, la función de llamar a velas concretas al final para obtener todos sus parámetros.
¿Es posible hacer esto en general?
eso es exactamente lo que estaba buscando. Lo que necesitaba era guardar de alguna manera los datos en un array para el periodo que estaba seleccionando. Entendí esa parte.
Ahora mi pregunta es, ¿CÓMO puedo acceder y comparar los datos registrados en la matriz?
Aquí resulta iterar, escribir el array paso a paso. Esto es bueno. Pero ahora tenemos que comparar los elementos entre sí.
¿Es necesario declarar un nuevo recuento de iteraciones y luego recuperar los datos y compararlos de alguna manera? Pero esto de nuevo tiene que escribir los resultados en alguna parte y ... todo se repite al final.
A grandes rasgos, si el período de comparación es de 5 a 7 velas, entonces la primera debe ser comparada con otras 6, luego la segunda y así sucesivamente.... Y si dos o más de ellos tienen un Alto igual, entonces en primer lugar, debe calcular este Alto, y en segundo lugar, debe encontrar la vela con el Bajo más bajo. Es decir, la función de llamar a velas concretas al final para obtener todos sus parámetros.
¿Pero es posible hacerlo?
Aquí sólo estamos interrogando a la matriz guardada y mostrando todos los datos guardados en el registro:
Seamos más específicos sobre la tarea:
Tenemos que encontrar... ¿qué es exactamente lo que hay en la matriz guardada?
Aquí se interroga a la matriz guardada y se registran todos los datos guardados:
Seamos específicos sobre la tarea:
Necesitamos encontrar en la matriz guardada... ¿qué exactamente?
Necesito registrar una matriz de datos para todas las velas cerradas (es decir, la actual no se cuenta) - velas altas, bajas, abiertas y cerradas (4 parámetros) para el período que se especifica en la configuración. - lo es.
A continuación, tengo que comparar los parámetros. Supongamos que el periodo de búsqueda es igual a 10 velas. Aquí tenemos que comprobar todos los altos para el período de 10 velas. Si hay dos o más coincidencias, debemos volver:
1. Bandera - "Hay una coincidencia".
1. El valor alto en el que los candelabros tienen el mismo valor.
2. Números de estos candeleros, para que podamos referirnos a ellos y encontrar los parámetros de Low, Close, Open para ellos.
En general, entiendo mucho de este cómo hacerlo.
Lo que no está claro es cómo referirse a las velas que forman el nivel. Lo ideal sería que al recalcular, pudiéramos memorizar el número de iteración (i) pero antes hay un recálculo según el cual se escribe el registro y no se puede aplicar.
Y en esa variante, como los registros de salida - aquí, también, no es lo que se requiere.
Entiendo que tengo que tomar primero una vela 1 y compararla con otras 9, si hay una coincidencia, entonces extraer los números de estas velas y sus parámetros, activar la casilla. A continuación, compruebe la vela 2 con las otras y así hasta la mitad de la muestra, ya que entonces irán duplicados de comparaciones sólo desde el otro lado.
Si el número de velas fuera fijo, lo habría escrito así: aproximadamente 5 ciclos de comparación. Pero esa es la cuestión: cómo hacer posible ese recálculo para cualquier tamaño de muestra.
Necesito escribir una matriz de datos para todas las velas cerradas (es decir, la actual no se cuenta) - velas altas, bajas, abiertas y cerradas (4 parámetros) para el período especificado en la configuración. - lo es.
A continuación, tengo que comparar los parámetros. Supongamos que el periodo de búsqueda es igual a 10 velas. Aquí tenemos que comprobar todos los altos para el período de 10 velas. Si hay dos o más coincidencias, debemos volver:
1. Bandera - "Hay una coincidencia".
1. El valor alto en el que los candelabros tienen el mismo valor.
2. Números de estos candeleros, para que podamos referirnos a ellos y encontrar los parámetros de Low, Close, Open para ellos.
En general, entiendo mucho de este cómo hacerlo.
Lo que no está claro es cómo referirse a las velas que forman el nivel. Lo ideal sería que al recalcular, pudiéramos memorizar el número de iteración (i) pero antes hay un recálculo según el cual se escribe el registro y no se puede aplicar.
Y en esa variante, como registra el registro de salida, tampoco es lo que se requiere.
Entiendo que tengo que tomar primero una vela 1 y compararla con otras 9, si hay una coincidencia, entonces extraer los números de estas velas y sus parámetros, activar la casilla. A continuación, compruebe la vela 2 con las otras y así hasta la mitad de la muestra, ya que entonces irán duplicados de comparaciones sólo desde el otro lado.
Si el número de velas fuera fijo, lo habría escrito así: aproximadamente 5 ciclos de comparación. Pero esa es la cuestión: cómo hacer posible ese recálculo para cualquier tamaño de muestra.
Y, por cierto, es poco probable que la coincidencia exacta de los valores de los precios sea frecuente. Tenemos que fijar un delta, y considerar que es una coincidencia si los precios no difieren más de este valor.
Necesito escribir una matriz de datos para todas las velas cerradas (es decir, la actual no se cuenta) - velas altas, bajas, abiertas y cerradas (4 parámetros) para el período especificado en la configuración. - lo es.
A continuación, tengo que comparar los parámetros. Supongamos que el periodo de búsqueda es igual a 10 velas. Aquí tenemos que comprobar todos los altos para el período de 10 velas. Si hay dos o más coincidencias, debemos volver:
1. Bandera - "Hay una coincidencia".
1. El valor alto en el que los candelabros tienen el mismo valor.
2. Números de estos candeleros, para que podamos referirnos a ellos y encontrar los parámetros de Low, Close, Open para ellos.
En general, entiendo mucho de este cómo hacerlo.
Lo que no está claro es cómo referirse a las velas que forman el nivel. Lo ideal sería que al recalcular, pudiéramos memorizar el número de iteración (i) pero antes hay un recálculo según el cual se escribe el registro y no se puede aplicar.
Y en esa variante, como los registros de salida - aquí, también, no es lo que se requiere.
Entiendo que tengo que tomar primero una vela 1 y compararla con otras 9, si hay una coincidencia, entonces extraer los números de estas velas y sus parámetros, activar la casilla. A continuación, compruebe la vela 2 con las demás y así hasta la mitad de la muestra, ya que entonces irán duplicados de comparaciones sólo desde el otro lado.
Si el número de velas fuera fijo, lo habría escrito así: aproximadamente 5 ciclos de comparación. Pero esa es la cuestión: cómo permitir ese recálculo para cualquier tamaño de muestra.
En lugar de la bandera "coincidencia" establecer el contador, en el valor alto donde el contador es mayor, hay un nivel
El valor alto puede redondearse, por ejemplo, de 1,23456 a 1,2346
y 1,23462 redondeado a 1,2346
porque es poco probable que de 10 velas, 2 tengan un máximo de 1,23456
así que baila desde el nivel
y el número de velas es fijo, se escribe una cierta cantidad de datos en la estructura
es decir, el número de velas escritas en la estructura es el mismo número de iteraciones
Necesito escribir una matriz de datos para todas las velas cerradas (es decir, la actual no se cuenta) - velas altas, bajas, abiertas y cerradas (4 parámetros) para el período especificado en la configuración. - lo es.
A continuación, tengo que comparar los parámetros. Supongamos que el periodo de búsqueda es igual a 10 velas. Aquí tenemos que comprobar todos los altos para el período de 10 velas. Si hay dos o más coincidencias, debemos volver:
1. Bandera - "Hay una coincidencia".
1. El valor alto en el que los candeleros tienen el mismo valor.
2. Los números de estas velas, para que podamos referirnos a ellos y encontrar los parámetros de Low, Close, Open para ellos.
En general, entiendo mucho de este cómo hacerlo.
Lo que no está claro es cómo referirse a las velas que forman el nivel. Lo ideal sería que al recalcular, pudiéramos memorizar el número de iteración (i) pero antes tenemos un recálculo según el cual se escribe el registro y no se puede aplicar.
Y en esa variante, como los registros de salida - aquí, también, no es lo que se requiere.
Entiendo que tengo que tomar primero una vela 1 y compararla con otras 9, si hay una coincidencia, entonces extraer los números de estas velas y sus parámetros, activar la casilla. A continuación, compruebe la vela 2 con las demás y así hasta la mitad de la muestra, ya que entonces irán duplicados de comparaciones sólo desde el otro lado.
Si el número de velas fuera fijo, lo habría escrito así: aproximadamente 5 ciclos de comparación. Pero aquí está la cuestión: cómo hacer posible ese recálculo para cualquier tamaño de muestra.
Es una tarea interesante, pero tu comprensión de cómo resolver este problema no es correcta, porque hasta ahora no tienes muchos conocimientos de programación.
Mira: tienes un conjunto de citas. Su tarea consiste en elegir de este conjunto sólo las barras que cumplan determinadas condiciones. Por ejemplo, se quiere obtener una colección de barras, cuyos máximos coinciden entre sí. De hecho, puede haber muchas condiciones para la selección, y pueden añadirse con el tiempo. Una vez que tenga una colección de barras, podrá analizar fácilmente cualquiera de sus otros parámetros.
Así que, para su tarea, necesita escribir una función que devuelva un array de barras que satisfagan una determinada condición (pseudocódigo):
Es decir, no hay realmente ningún problema en recordar e iterar algunos datos e índices. No necesitas los índices de las barras en sí, sino una colección específica que satisfaga una condición determinada. Una vez que lo tienes, resuelves muchos problemas de un plumazo.Por lo tanto, si necesitamos una lista diferente de velas coincidentes para cada vela en el rango, trataría de utilizar una matriz de estructuras. Lo pensaré y te lo haré saber.
Pensamiento. Estoy escribiendo un script de prueba:
Intenté describir todos los pasos.
Después de rellenar todas las coincidencias en el bucle, tenemos una matriz que contiene todos los candeleros y sus coincidencias. Después de eso puedes buscar bajas en él. Y puedes organizarlo directamente en el bucle. Es más conveniente para usted.
Pues bien, esta es otra forma de hacerlo: se escriben cerillas para cada vela del rango. En la versión anterior, las coincidencias se escribían sólo para una vela, es decir, no se escribía ninguna coincidencia para la que coincidía con ésta.