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

 
Реter Konow:

Sí, lo entiendo. Estaba intimidado, intimidado por Do sostenido... :)))))

En realidad, estabas intimidado con razón. El Do sostenido no es nada sencillo si profundizas en él e intentas hacer algo bueno.

 

¿Mostrar de forma realista un ejemplo de utilización de, por ejemplo, esta biblioteca?

 

El artículo es estupendo.

 

¡Este artículo es excelente !

Cualquier programador MQL ya puede utilizarlo para hacer una GUI en un editor profesional y estable. Y repetidamente y no sólo en MT utilizar el resultado de su trabajo.

Y si es posible hacer clases derivadas de Controller, será "chocolate" en general - Expert Advisor se comunicará con Controller por paquetes de alto nivel ("abrir orden #NN con opciones") Controller dará sus mensajes al formulario ("añadir una fila con campos a la tabla"). Y de esta manera la actividad se separa en las partes correctas. Y el EA sólo comercia, y la GUI muestra. Y se pueden hacer/cambiar/hacer por separado, incluso por diferentes proyectos e incluso por diferentes personas.

¡¡¡Respeto al autor !!!


 
Maxim Kuznetsov:

Y si puedes hacer clases derivadas de Controller, entonces

puedes simplemente añadir tu propia función de intercambio de datos a la fuente y llamarla ;)

 
Igor Makanu:

puedes simplemente añadir tu propia función de intercambio de datos a la fuente y llamarla ;)

por supuesto que puedes...pero esta forma de hacerlo sin complicaciones resulta en fideos de código y un montón de proyectos marchitos :-) La programación orientada a objetos está hecha para evitar estas cosas.

La "física" de la comunicación con EA y la forma deben concentrarse en el Controlador original. Y las formas de hacer derivados.

Por cierto, ¿cómo se comportará todo este paquete cuando se sustituya el formulario?

En mi opinión, lo más destacado de la tecnología es que el Asesor Experto siga funcionando como lo hacía (sin recompilación, y preferiblemente sin pararse), y se pueda cambiar el formulario.

El requisito principal es que el EA opere. Está relacionado con el dinero y debe tocarse lo menos posible.

 
Maxim Kuznetsov:

Por supuesto que se puede... pero esta forma tan poco complicada de hacerlo resulta en fideos de código y un montón de proyectos marchitos :-) La programación orientada a objetos está diseñada para evitar estas cosas.

desde un punto de vista perfeccionista tienes razón al 100%, pero desgraciadamente hay casos en los que al intentar conseguir la universalidad del código en todo obtenemos un resultado perfectamente lento, pero se tendrán en cuenta todas las posibles situaciones y excepciones.

SUS: Acabo de dejar datagridview de VS2017 para ponerlo a punto para que no se ralentice al trabajar con big data y actualizando al menos una vez en 1 seg...sigue siendo aburrido, pero cuantas clases ha recogido en sí mismo y es una muestra de perfecta adherencia a los principios de la POO ;)

PD: datagridview fuente, sólo 7000 líneas, ¿cuánto más tira de sí mismo código adicional, no quiero ni contar.

https:// referencesource.microsoft.com/#system.windows.forms/winforms/managed/system/winforms/DataGridView.cs


)))

 
Igor Makanu:

Desde el punto de vista de un perfeccionista tienes razón al 100%, pero por desgracia hay casos en los que al intentar conseguir un código universal en todo obtenemos un resultado perfectamente lento, pero se tendrán en cuenta todas las posibles situaciones y excepciones.

SUS: Acabo de renunciar a configurar datagridview desde VS2017 para que no se ralentizara al trabajar con datos grandes y actualizarse al menos una vez cada 1 seg... sigue ralentizándose, pero cuántas clases ha recogido en sí mismo y es una muestra de perfecta adherencia a los principios de la POO ;)

PD: datagridview fuente, sólo 7000 líneas, ¿cuánto más tira para sí código adicional, no quiero ni contar.

https:// referencesource.microsoft.com/#system.windows.forms/winforms/managed/system/winforms/DataGridView.cs


)))

no se puede discutir aquí - Microsoft es un maestro de hacer software por delante de las capacidades de hardware :-))

---

desviandonos del tema - aqui los niños preguntaron "queremos hacer un juguete nosotros mismos" y tuvieron que buscar algo visual. Dibujar con un ratón, establecer reglas sencillas sin recurrir a python/lisp/sharp - y trabajar de una vez.

Con toda la riqueza de elección, sólo Kodu de microsoft era adecuado. Es genial, bonito, claro, el ideal de "cómo debería ser la programación visual". Pero saca tantas cosas de Sharp y ralentiza tanto... que tendré que comprarme un ordenador nuevo :-)

 

Hola, ¡gran artículo!

Me han surgido varias preguntas en relación con lo anterior:

1) Del texto del artículo me ha dado la impresión de que no sólo las interfaces gráficas pueden organizarse de la misma manera, sino también la implementación de casi cualquier API que "no quepa" en MQL5.

2) Por lo que tengo entendido, utilizando la plataforma .Net se pueden escribir programas en diferentes lenguajes, no sólo en C#. En concreto, en C++. Yo estoy mucho más cerca de este lenguaje por varias razones.
Mi pregunta es si es posible escribir una librería .Net en C++ (entiendo que usando C++/CLR) de forma que MQL5 pudiera entender su código .Net de la misma forma que en su motor GuiController. Quiero decir que #include "...dll" y sin declaración de funciones importadas?


El ejemplo práctico que me interesa es el siguiente. Hoy en día hay posibilidades de integrar librerías opsensoriales sobre machine learning con VS2017, y por ejemplo TensorFlow proporciona API en C++ con soporte para GPU computing. Su artículo proporciona una gran oportunidad para integrar la implementación de C ++ de TensorFloW (o cualquier otra biblioteca de aprendizaje automático) directamente en MQL5, que parece muy conveniente para mí. El problema es que por alguna razón ni siquiera puedo importar una dll de C++ de prueba en MQL5 utilizando el método mencionado aquí.


 
AikAcrobatt: El problema es que por alguna razón ni siquiera puedo importar una dll de C++ de prueba en MQL5 usando el método especificado aquí.

el articulo indica una forma completamente diferente de interactuar MT5 con el "mundo exterior", necesitas describir firmas de funciones C++ en codigo MT5 y llamarlas como una dll normal, aqui hay un ejemplo que funciona, lo comprobé hace un mes.

https://www.mql5.com/es/articles/18

HI: tensorflow c# es perfectamente googleable, aquí hay soluciones listas para C# https://nugetmusthaves.com/Tag/tensorflow

Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
  • www.mql5.com
Так уж сложилось, что сейчас мало кто из разработчиков помнит, как написать простую DLL библиотеку и в чем особенности связывания разнородных систем. Я постараюсь за 10 минут на примерах показать весь процесс создания простых DLL библиотек и раскрою некоторые технические детали нашей реализации связывания. Демонстрация будет на примере Visual...