Mi enfoque. El núcleo es el motor. - página 25

 
Yuriy Asaulenko:

Tampoco tiene una devolución de llamada en MT. Todo se hace mediante eventos predefinidos en MT, que de una vez por todas.

Seguirá enviando eventos de terminal a la DLL, y no importa dónde los procese, en MT o en la DLL.

Este es un ejemplo de mi interfaz de conexión:

Aquí es donde todo está ya pensado.

Archivos adjuntos:
 
Реter Konow:

Incluso si uno imagina que la verificación constante de los mensajes de Sharp por parte de la aplicación ICL no es una molestia, el desarrollo de un formato de interacción es una tarea muy voluminosa.

Esta tarea incluye lo siguiente:

1. La organización de la memoria compartida.

2. Implementar la interacción de las tres partes.

3. Pruebas sincronizadas de los tres lados (Sharp, DLL, aplicación MT).

Requiere mucho tiempo.


En mi caso, el usuario recibe el archivo y lo rellena. Y la conexión funciona.

No te lo inventes. Llevo 8 años haciendo esto con diferentes terminales y lenguajes, desde VBA Excel hasta C++, y no sé nada de estos problemas).

Ya he escrito que su sistema es probablemente aplicable por los vendedores del mercado o por personas distintas de MT-MQL que no conocen la existencia de otros lenguajes y entornos de programación.

 
Yuriy Asaulenko:

No te lo inventes. Llevo 8 años haciendo esto con diferentes terminales y lenguajes, desde VBA Excel hasta C++, y no sé nada de estos problemas).

Echa un vistazo a mi archivo de conexión.

El usuario simplemente conecta este archivo a través de un inline a su EA. Y lo rellena. Y todo funciona...
 
Yuriy Asaulenko:

...

Ya escribí que su sistema es probablemente aplicable por los vendedores del mercado o por personas distintas de MT-MQL que no conocen la existencia de otros lenguajes y entornos de programación.

Por cierto, actualmente estoy desarrollando conexiones GUI con el EA en el probador. La GUI estará en un gráfico y el EA se ejecutará en el probador. Y se comunicarán entre sí. El Asesor Experto en el Probador de Estrategias responderá a las acciones del usuario en un gráfico diferente que interactuará con la GUI.

Ya he descubierto cómo ponerlo en práctica.

Pero para establecer la comunicación entre el Asesor Experto en el Probador de Estrategias y el Sharp a través de la DLL... No parece que sea posible.

 
Реter Konow:

Y para establecer un enlace entre el EA en el probador y Sharpe a través de la DLL... No creo que puedas.

Parece que es posible. El probador, por lo que sé, no impone ninguna restricción a la comunicación con la DLL. Sin embargo, yo no lo he probado.

 
Yuriy Asaulenko:

Parece que es posible. El probador, que yo sepa, no impone ninguna restricción a la comunicación con la DLL. Sin embargo, yo no lo he probado.

Sí, es posible, por supuesto. Asegúrate de que los DLL están permitidos y ya está.
 
Bueno, tal vez puedas... Sin embargo, la elección "masoquista" hacia Sharp es muy evidente). Hay tantos matices... Pero cuando no tienes elección, por supuesto.
 
Реter Konow:
Bueno, tal vez puedas... Sin embargo, la elección "masoquista" hacia Sharp es muy evidente))) Hay tantos matices ahí... Pero cuando no hay opción, por supuesto.

Nunca he escrito en Sharpe, no tenía ningún interés, pero hace unos 5 años utilicé Delphi para conectar .dll con botones y formularios, todo funcionaba sin problemas, e incluso escribí todo el proyecto en Delphi durante un día, además me pasé medio día intentando encontrar la razón por la que los formularios estándar no funcionaban, y cuando lo conecté a través de la llamada a las ventanas del sistema todo funcionaba correctamente, pero MT4 era muy lento entonces, ahora se queda volando

no tengo ningún problema para conectar la .dll, sincronizar con los mutex estándar - iniciar un hilo para conectarse a la terminal y eso es todo, entonces todo va por sí mismo - por separado un formulario en la .dll, por separado MT nadie está esperando a nadie

SZS: ten en cuenta, que Delphi no es lo suficientemente práctico para crear .dll, pero lo que tenía a mano (lo que estaba sentado en ese momento) que he utilizado )))


Pero en cuanto a la esencia, no entiendo por qué no pueden usar clases estándar del toolkit de MT. A lo sumo sería interesante unificar el proceso de creación de gráficos, quizás sería un include universal donde se podrían comentar botones/diálogos, etc.

 
Peter, no creas que tu enfoque es algo nuevo.
A qué trucos recurrían los programadores cuando no había OOP.
Puedes verlo tú mismo, en programas C con código abierto.
Todas tus afirmaciones de que OOP puede y no puede no tienen nada que ver con la realidad.
No estás hablando de POO, estás hablando de tus ideas sobre POO. Es sorprendente que se hable tanto de ello,
pero no te has molestado en averiguar cuál es.

Por alguna razón descuidas la experiencia de otras personas, y existe.
Es una tontería estudiar durante cuatro meses lo que puedes encontrar en google y aún así aprender mucho más.
Al inventar su propio lenguaje de marcado, por alguna razón no quiso estudiar también la experiencia de otras personas.
Por ejemplo, hay un Diseñador QT gratuito. Utiliza un lenguaje de marcado basado en XML.
Delphi, C++ Builder también utilizan XML hoy en día.
También existe el editor de recursos en MS Visusl Studio. Permite editar cuadros de diálogo y ponerlos en recursos.
También tiene su propio lenguaje de marcado.

Por mi experiencia con la interfaz gráfica de usuario:
Una buena biblioteca GUI facilita mucho el trabajo con la interfaz gráfica de usuario.
Un editor visual añade muy poca comodidad. De hecho, es un señuelo para los principiantes.
Los lenguajes de marcado suelen utilizarse para almacenar formularios en el editor visual. Sin ella, un lenguaje de marcado es innecesario.
Con una biblioteca, es más fácil para un programador crear una interfaz gráfica en código en lugar de utilizar un lenguaje de marcas.
Creo que estás imponiendo tu lenguaje de marcado porque quieres ocultar el código.

 
Igor Makanu:

¿Puede sugerir un constructor de GUI gratuito que permita escribir el código MQL para los gráficos?

Quiero hacer algo similar a Delphi Drag-and-Drop, pero no he encontrado un constructor de GUI libre, que permita introducir el código MQL.

Los constructores de GUI están hechos para una biblioteca gráfica específica. Si hubiera un constructor de GUI para MQL, estaría aquí.