Discusión sobre el artículo "MQL5 para principiantes, protección antivandálica de los objetos gráficos"

 

Artículo publicado MQL5 para principiantes, protección antivandálica de los objetos gráficos:

¿Qué haría si de repente se borraran los paneles gráficos de control, o alguien los modificara? En este artículo enseñamos a evitar las situaciones donde el gráfico se puede quedar con objectos sin dueño. Las controlaremos cuando, tras eliminar la aplicación, los objetos se renombran o se borran programáticamente.

Una de las ventajas del lenguaje de programación MQL5 es que las funciones estándar permiten realizar muchas tareas distintas; por otro lado, usted puede alcanzar los objetivos que se plantee con la ayuda del terminal de trading MetaTrader 5.

Este artículo está escrito con un lenguaje sencillo y contiene dos variantes, a modo de ejemplo, que implementan la respuesta del programa al cambio o eliminación de objetos gráficos. Vamos a asegurarnos de que después de eliminar el programa no quedan objetos sin dueño en el gráfico porque si algo o alguien les cambia el nombre, esta situación puede hacer que el programa pierda el control.

Este ejemplo ilustra un panel de control antes y después de cambiar manualmente las propiedades de sus objetos

Fig. 1. Apariencia del panel de control de ejemplo, antes y después de cambiar manualmente las propiedades de sus objetos

Las acciones de respuesta a las interferencias externas del código que describimos en este artículo no son redundantes en aquellos casos donde, por ejemplo, se lanza un programa externo en el gráfico, y, no estando diseñado expresamente para su limpieza, utiliza una función que borra los objetos (ObjectsDeleteAll () o una función que usted mismo puede crear), operando con los parámetros establecidos en el mismo:

  • la eliminación completa de todos los tipos de objetos gráficos en la misma ventana/subventana, creados manualmente o con otros programas;
  • o la eliminación completa del tipo de objeto que también está presente en el panel de control del programa;
  • o la eliminación, por prefijo, que coincide con el prefijo de los objetos del programa.
Estas opciones también son relevantes para el correcto funcionamiento del programa. Proporcionan acciones para la eliminación accidental o intencionada de los objetos del panel de control, así como para los cambios manuales de las propiedades realizados en el código. Este artículo también servirá de ayuda a los programadores que están aprendiendo a manejar los eventos en la función OnChartEvent().

Autor: Dina Paches

Razón de la queja: