Discusión sobre el artículo "Tablas en el paradigma MVC en MQL5: integramos el componente Model en el componente View"

 

Artículo publicado Tablas en el paradigma MVC en MQL5: integramos el componente Model en el componente View:

En este artículo crearemos la primera versión del control TableControl (TableView). Se tratará de una tabla estática sencilla, creada a partir de los datos de entrada definidos por dos arrays: un array de datos y un array de encabezados de columnas.s

En el artículo «Clases de tabla y de encabezado basadas en el modelo de la tabla en MQL5: aplicación del concepto MVC», hemos completado la creación de la clase del modelo de la tabla (en el concepto MVC, el componente Modelo). A continuación, nos dedicamos a desarrollar una biblioteca de controles simples que permiten crear, a partir de ellos, controles completamente distintos en cuanto a finalidad y complejidad. En concreto, el componente Vista para crear el control TableView.

Este artículo estará dedicado a la implementación de la interacción entre el componente Modelo y el componente Vista. En otras palabras: hoy vamos a unir los datos tabulares con su representación gráfica en un único control.

El control se creará a partir de la clase del objeto Panel y estará compuesto por varios elementos:

  1. Panel: la base o soporte al que se adjuntan el encabezado de la tabla y el área de datos de la tabla;
  2. Panel: el encabezado de la tabla, compuesto por una serie de elementos —encabezados de columnas— creados a partir de la clase del objeto Button;
  3. Container: contenedor de datos tabulares con posibilidad de desplazamiento por su contenido;
  4. Panel: panel para colocar en él las filas de la tabla (adjunto al contenedor (punto 3) y, al salir de los límites del contenedor, se desplaza mediante las barras de desplazamiento del contenedor);
  5. Panel: fila de la tabla; panel para dibujar en él las celdas de la tabla, adjunto al panel (punto 4); se crean tantos objetos de este tipo como filas tenga la tabla;
  6. La clase de celda de la tabla es una nueva clase que permite dibujar en las coordenadas especificadas sobre el lienzo indicado (CCanvas). Un objeto de este tipo se adjunta a un objeto de fila de la tabla (punto 5); los lienzos del objeto de fila de la tabla se especifican como elementos de dibujo, y la celda de la tabla se dibuja en este panel en las coordenadas indicadas. El área de cada celda de la tabla se define en el objeto de fila de la tabla (punto 5) mediante una instancia de la clase CBound, y a este objeto se le fija un objeto de la clase de celda de la tabla.


Autor: Artyom Trishkin

 

Excelente explicación del modelo MVC, pero ¿cómo mejora exactamente esta complejidad el trading, que es para lo que realmente estamos aquí?

¿Se han resuelto ya todos los demás retos del trading, quedando solo la interfaz de usuario?

A veces olvidamos para qué sirve realmente una herramienta —o nos frustramos cuando no funciona como queremos— y acabamos intentando que haga cosas para las que nunca fue diseñada y que nunca hará.

 
Alireza #:

Es una descripción excelente del modelo MVC, pero ¿cómo mejora exactamente esta complejidad el comercio, que es, en realidad, el motivo por el que nos hemos reunido aquí?

¿Acaso se han resuelto todos los demás problemas del comercio y solo queda la interfaz de usuario?

A veces olvidamos para qué sirve realmente una herramienta, o nos frustramos cuando no funciona como queremos y, al final, intentamos obligarla a hacer algo para lo que nunca fue diseñada y que nunca hará.

Sí, claro, las ganancias no las genera la interfaz. Pero la interfaz es como el panel de instrumentos de un avión: no te enseña a volar, pero te ayuda a no estrellarte en la niebla. Cuando los problemas clave del trading ya están resueltos, la arquitectura del código y la facilidad de uso de la plataforma se convierten en el factor que permite ampliar el éxito, en lugar de ahogarse en la rutina.