Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1929
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Ha surgido una pregunta. Cómo saber el número de ventanas abiertas y sus identificaciones. Sólo he encontrado la identificación de la primera, actual y siguiente ventana. Entiendo correctamente que no podemos obtener el total, sino sólo el primero, el no-ext y cómo entender que no hay una ventana siguiente.
No se puede suponer que las ventanas estén abiertas para todas las posiciones abiertas. Por lo tanto, el algoritmo debe buscar la ventana con el símbolo requerido, y si está ausente, abrir la ventana y dibujar la situación. Es decir, los niveles, y luego encontrar en qué SL se produjo la modificación, y eliminar o cambiar el color del nivel.
No se puede suponer que las ventanas estén abiertas para todas las posiciones abiertas. Por lo tanto, el algoritmo debe buscar la ventana con el símbolo requerido, y si está ausente, abrir la ventana y dibujar la situación. Es decir, los niveles, luego encontrar en qué SL se produjo la modificación y eliminar o cambiar el color del nivel.
Poner una bandera, si hay una ventana abierta, a continuación, dibujar, si no hay abierto - saltar. No tiene sentido abrir y dibujar si no se abre/cierra
Poner una bandera si hay una ventana abierta, entonces dibujar, si no hay ninguna ventana abierta, entonces omitirla. No tiene sentido abrir y dibujar si no se sabe que está abierto/cerrado
Abrir o no uno nuevo si el símbolo no está abierto es decisión del cliente. Para mí, con la apertura es un relato más completo de la situación del cliente. En la búsqueda se necesita el identificador de la ventana del símbolo que se busca.A continuación, dibuje en la ventana que está buscando.
Zy corrigió. Esto es una función)))
Abrir o no uno nuevo, si el símbolo no está abierto, depende del cliente. Para mí, la apertura es un relato más completo de la situación del cliente. En la búsqueda, necesita el identificador de la ventana del símbolo que está buscando.A continuación, dibuje en la ventana que está buscando.
Zy corrigió. Es una función)))
Lo ideal es rellenar una matriz visible globalmente de gráficos abiertos y luego trabajar con la matriz
A continuación, ejecútelo en un evento para actualizar el relleno, por ejemplo, cuando cambie el número de puestos
Esto reducirá la carga, no habrá necesidad de ejecutar un bucle inútil
Lo ideal es rellenar una matriz visible globalmente con gráficos abiertos y luego trabajar con la matriz
A continuación, ejecútelo en un evento para refrescar el relleno, por ejemplo, cuando el número de posiciones cambia
Esto reducirá la carga, y no habrá necesidad de bucles inútiles
Tal vez me estoy perdiendo algo, pero no entiendo por qué no se utiliza SYMBOL_SELECT y SYMBOL_VISIBLE para determinar si el gráfico está abierto
Al repasar los pedidos, haga la comprobación
Tal vez me estoy perdiendo algo, pero no entiendo por qué no se utiliza SYMBOL_SELECT y SYMBOL_VISIBLE para determinar la apertura del gráfico
Revisa los pedidos y haz la comprobación
Bueno, esto es de una ópera diferente y tiene que ver con Market Watch, no con los gráficos abiertos. ¿O no?
P.D. Si hay una posición abierta, el símbolo enMarket Watch será visible de todos modos.Bueno eso es de otro hilo y tiene que ver con Market Watch, no con los gráficos abiertos. ¿O no?
P.D. Si hay una posición abierta, el símbolo enMarket Watch será visible de todos modos.SYMBOL_SELECT sí, pero SYMBOL_VISIBLE no es necesario.
Y sí, estoy de acuerdo, no tiene que ser una carta abierta.
Lo ideal es rellenar una matriz visible globalmente con gráficos abiertos y luego trabajar con la matriz
A continuación, ejecútelo en un evento para refrescar el relleno, por ejemplo, cuando el número de posiciones cambia
Esto reducirá la carga, sin necesidad de ejecutar un bucle inútil
No entiendo la lógica. Los eventos de apertura de una posición, modificación del SL, cierre de una posición son monitoreados por unos pocos símbolos. Al abrir una posición, buscamos si una ventana con el símbolo dado está abierta (buscamos el id de la ventana); si lo está, trazamos niveles y seguimos vigilando el arrastre de SL. Si no es así, o bien abrimos una ventana con el símbolo y el marco temporal necesarios y dibujamos los niveles o no la abrimos. El evento de modificación, encuentra la ventana de símbolos requerida, los niveles ya han sido dibujados y cambia el color del nivel o lo elimina y dibuja el nivel de nuevo.
En general, para excluir la influencia del cliente, al principio del trabajo debemos analizar las posiciones y las ventanas y abrir las ventanas para los símbolos con posiciones abiertas y no abiertas.