Discusión sobre el artículo "Desarrollando las interfaces gráficas para los Asesores Expertos e indicadores a base de .Net Framework и C#"

 

Artículo publicado Desarrollando las interfaces gráficas para los Asesores Expertos e indicadores a base de .Net Framework и C#:

Presentamos una manera simple y rápida de crear las ventanas gráficas usando el editor Visual Studio, con la integración posterior en el código MQL del Asesor Experto. Este artículo está destinado para un vasto círculo de lectores y no requiere ningunos conocimientos de C# y tecnología .Net.

El Simulador de Estrategias en MetaTrader 5 tiene una serie de particularidades que deben ser consideradas por el desarrollador de interfaces gráficas en el lenguaje de programación MQL. La principal particularidad consiste en el hecho de que la función del procesamiento de los eventos gráficos OnChartEvent no se invoca en absoluto. Esta particularidad parece lógica, por que el formulario gráfico supone el trabajo con el usuario en tiempo real. Sin embargo, hay un tipo de paneles que sería muy interesante implementar precisamente en el Simulador. Se trata de llamados players comerciales a través de los cuales los usuarios podrían testear sus estrategias comerciales en modo manual. Por ejemplo, el Simulador de Estrategias genera los precios de mercado actuales en el modo de aceleración, mientras que el usuario pulsa los botones de compra o venta, simulando así sus acciones comerciales en el historial. El TradePanel creado por nosotros pertenece precisamente a este tipo de paneles. A pesar de su sencillez, puede ser un buen player comercial simple, con una funcionalidad necesaria. 

Pero vamos a pensar en cómo nuestro panel va a funcionar en el Simulador de Estrategias de MetaTrader 5. La ventana gráfica del panel TradePanel existe en forma de un ensamblado .Net independiente. Por tanto, no depende de ninguna manera del entorno actual de MetaTrader 5, ni del propio terminal. Hablando estrictamente, se puede ejecutarlo desde cualquier programa, y los ensamblados ubicados en el contenedor exe pueden ser iniciados por el usuario.

De esta manera, nuestro programa no tiene que llamar a OnChartEvent. Es más, para actualizar los datos en la ventana y obtener nuevas órdenes de los usuarios se puede usar cualquier función-manipulador de eventos que se ejecuta regularmente en el Simulador. OnTick y OnTimer pertenecen a estas funciones. Nuestro panel opera a través de ellas. Así, nuestro panel también va a funcionar bien en el Simulador, pues ha sido desarrollado para el funcionamiento en tiempo real. No hay que hacer modificaciones para eso. Comprobaremos esta afirmación ejecutando nuestro panel en el Simulador, y realizaremos algunas transacciones en él:

Autor: Vasiliy Sokolov

Razón de la queja: