Discusión sobre el artículo "Interfaces gráficas II: Control "Elemento del menú" (Capítulo 2)"

 

Artículo publicado Interfaces gráficas II: Control "Elemento del menú" (Capítulo 1):

En la segunda parte de la serie demostraremos el proceso del desarrollo de los controles como el menú principal y el menú contextual. Además, trataremos la cuestión del dibujo de los controles, y para ello vamos a crear una clase especial. También aclararemos detalladamente la cuestión de la gestión de los eventos del programa, inclusive los eventos del usuario.

Menú principal del programa

Es complicado encontrar un programa que no tenga el menú principal. En los terminales MetaTrader, este elemento de la interfaz también está presente (véase la captura de pantalla más abajo). En la mayoría de los casos, el menú se ubica en la parte superior de la ventana del programa y se compone de varios elementos. Al hacer clic izquierdo en un elemento del menú, debajo de este elemento aparece una lista con las opciones del programa.


Fig. 1. Menú principal en el terminal MetaTrader 5

Esta lista desplegable se llama “Menú contextual” y puede incluir varios tipos de elementos. Vamos a examinar cada uno de ellos con más detalles:

  • Elemento botón. Esté es el elemento más sencillo en el menú contextual. En la mayoría de los casos, al hacer clic izquierdo en este elemento, se abre una ventana con las funcionalidades ampliadas para la configuración del programa, o la ventana que contiene alguna información. Pero pueden ser las funciones más simples que, tras el clic en el elemento botón, cambian algo en seguida en la apariencia de la interfaz del programa.
  • Elemento con dos estados tipo “Casilla de verificación” (check box en inglés). Usando este elemento se puede activar algún proceso o abrir (hacer visible) alguna parte de la interfaz del programa. En este caso, el elemento cambia su apariencia, es decir muestra al usuario de la aplicación en qué estado se encuentra.
  • Grupo de elementos entre los cuales sólo uno puede estar habilitado. Este tipo de controles se llama “botones de opción” o “botones de radio” (radio button en inglés). En nuestro artículo vamos a llamarlos “elementos de radio”.
  • Elemento de la llamada del menú contextual. O sea, en el menú contextual que ha sido llamado desde el menú principal del programa pueden haber elementos que contienen otro menú contextual. Después de pinchar en este elemento, el menú contextual va a aparecer a la derecha de él.

Autor: Anatoli Kazharski

[Eliminado]  
Para autónomos y vendedores (Market) la creación de una interfaz gráfica es de gran importancia, ya que permite atraer a potenciales clientes/compradores.

Para el resto de nosotros la utilidad y necesidad no está del todo clara. Así que, por favor, pregunta al autor. ¿Podrías hacer un vídeo de la interfaz gráfica más trucada (teniendo en cuenta todos los futuros artículos sobre el tema), mostrando todas las características que hay en ella?

Ya que casi nadie leerá y entenderá un material tan extenso sin entender por qué es necesario. Y en video-demostración cada uno decidirá por sí mismo si lo necesita o no. E incluso si no lo necesitan ahora, se harán una idea de las posibilidades en las que se puede hacer hincapié en el futuro. Y si, efectivamente, están interesados, leerán atentamente los artículos y harán preguntas al respecto.

Por favor, en nombre de NO autónomos y vendedores.
 
zaskok3:
Para autónomos y vendedores (Market) la creación de una interfaz gráfica es de gran importancia, ya que permite atraer a potenciales clientes/compradores.

Para el resto de nosotros la utilidad y necesidad no está del todo clara. Así que, por favor, pregunta al autor. ¿Podrías hacer un vídeo de la interfaz gráfica más trucada (teniendo en cuenta todos los futuros artículos sobre el tema), mostrando todas las características que hay en ella?

Ya que casi nadie leerá y entenderá un material tan extenso sin entender por qué es necesario. Y en video-demostración cada uno decidirá por sí mismo si lo necesita o no. E incluso si no lo necesitan ahora, se harán una idea de las posibilidades en las que se puede hacer hincapié en el futuro. Y si están realmente interesados, leerán atentamente los artículos y harán preguntas sobre el tema.

Por favor, en nombre de NO autónomos y vendedores.

Para los que están aprendiendo MQL y programación orientada a objetos, creo que será interesante leerlo. Es mucho más fácil aprender un lenguaje de programación en tales proyectos, en lugar de en algunos ejemplos abstractos, que realmente muy a menudo no responden a la pregunta: "¿Y dónde se puede aplicar esto?".

Yo, por ejemplo, realmente necesitaba una biblioteca de este tipo, pero de lo que se ofrecía a la comunidad MQL, me faltaban muchas cosas para un uso cómodo.

No voy a hacer un video todavía, y todavía hay mucho trabajo que hacer sin ella. Además, una interfaz gráfica sin contenido, por muy elegante que sea, no tiene sentido, es decir, no responderá a tu pregunta en absoluto. Cada uno tiene que tener una idea de por qué la necesita. Y si no hay ideas, resulta que no es necesaria.

Supongamos que tiene alguna idea para desarrollar una estrategia de negociación compleja. Que sean varias estrategias de trading. Es conveniente crear una interfaz gráfica para gestionarlas. O que sea su propio probador, que en su opinión es mejor que el estándar. O que su programa necesite especificar algunos datos del sandbox de ficheros del terminal, pero no introduciendo una cadena que contenga la ruta completa al fichero, sino a través de un navegador de ficheros, que puede crearse con la ayuda de esta librería de forma fácil y sencilla. Tal vez se trate de algún tipo de programa analítico para realizar investigaciones o cálculos con visualización de datos inmediatamente en un gráfico en el terminal. Construya sus propios gráficos que no estén vinculados a la escala temporal del gráfico donde se encuentra el programa. Se necesita una interfaz gráfica para gestionar cómodamente toda esta "orquesta". Al fin y al cabo, a veces puede que necesites cambiar los valores de algunos parámetros sobre la marcha, cambiar a otro modo, abrir y visualizar algunos datos. Y en lugar de entrar constantemente en el código o en los parámetros externos del programa, lo que en mi opinión es muy incómodo, si la aplicación es todo un complejo, basta con crear una interfaz gráfica compacta.

[Eliminado]  
Gracias, a partir de tu respuesta me he dado cuenta de dónde podría utilizarlo:
Durante el comercio en tiempo real quiero ver cómo sería el comercio en el probador - en tiempo real. Es decir, veo el entorno de combate por medios normales. Y puedo ver el entorno en tiempo real del probador utilizando sus herramientas de visualización. Al mismo tiempo, puedo ver el historial en este probador virtual y el gráfico de operaciones.

Esto le permitirá analizar rápidamente las razones de las discrepancias entre el probador y el real: recotizaciones, rejacks y otros matices. ¿Es capaz su biblioteca de crear fácilmente una interfaz como la de la imagen de este artículo?

¿Dibujará la biblioteca gráficos en 2D?
 

zaskok3:

Durante el comercio en tiempo real, quiero ver cómo sería el comercio en el probador - en tiempo real. Es decir, puedo ver el entorno de combate utilizando herramientas estándar. Y veo el entorno del probador en tiempo real utilizando sus herramientas de visualización. Al mismo tiempo, puedo ver el historial en este probador virtual y el gráfico de operaciones.

Sí, pero si usted mismo escribe tal probador. Y con la ayuda de esta biblioteca se puede crear una interfaz gráfica para ello.

zaskok3:

Esto le permitirá analizar rápidamente las razones de la divergencia entre el probador y el real: requotes, re-jacks y otros matices. ¿Su biblioteca es capaz de crear fácilmente una interfaz como la de la imagen de este artículo?

Sí, es posible. Pero habrá que esperar a que se publique toda la biblioteca. Habrá unos 20 artículos en total, puede que incluso más. De momento sólo se han publicado 6 artículos de la serie.

zaskok3:

¿La biblioteca dibujará gráficos en 2D?

Ya tengo una clase-elemento de este tipo y puede ser suficiente para ti. Pero es sólo una clase ligeramente modificada de la biblioteca estándar. Por supuesto, no es suficiente para mi también y planeo crear mi propia librería para dibujar gráficos. A menos que alguien la escriba antes que yo. ) Me gustaría algo similar a tal cual está implementado, por ejemplo, en Excel.

[Eliminado]  
Anatoli Kazharski:
Gracias por las respuestas tan detalladas. Ahora tengo una idea de donde puede ser útil para un comerciante-desarrollador para sus necesidades reales, no por el bien de florituras. Los artículos son muy informativos, pero voy a mirar en detalle y probarlo cuando tengo la capacidad. Los gráficos 2D son particularmente buenos....
[Eliminado]  
Anatoli Kazharski:

Por favor, añada enlaces a la lista de artículos de la segunda parte:

Список статей (глав) второй части:

Графические интерфейсы II: Элемент "Elemento del menú". (Глава 1)
Графические интерфейсы II: Элементы "Línea divisoria". и "Menú contextual". (Глава 2)
Графические интерфейсы II: Настройка обработчиков событий библиотеки (Глава 3)
Графические интерфейсы II: Элемент "Menú principal". (Глава 4)

Ahora mismo sólo se puede hacer clic en el primero (capítulo 1). Del mismo modo, me gustaría ver todos los enlaces al final de los capítulos 2 y 3.

 
Estoy recibiendo estos errores, y no sé por qué :(