Características del lenguaje mql5, sutilezas y técnicas - página 221
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
No estoy seguro de cómo mantener la funcionalidad (subcampo y método) y la usabilidad. Tal vez esta opción se adapte a sus necesidades.
Aplicación.
Ha sido muy rápido y ahora funciona bien, ¡gracias!
¡A Rusia con amor❤️! ;-)
¿Es esto posible en la versión actual de MQL5? No tuve el ingenio necesario para superar este obstáculo:
Antes era fácil escribir una macro de este tipo en MQL5.
¿Es esto posible en la versión actual de MQL5? No he tenido recursos para superar este obstáculo:
No entiendo la tarea - ¿necesitas que la clase MqlRatest (plantilla para ella) sea declarada dentro de la sustitución de la macro?
No entiendo la tarea - ¿necesitas que la clase MqlRatest (su plantilla) sea declarada dentro de la sustitución de la macro?
No, las clases ya están declaradas. En los comentarios se especifica el resultado que se quiere obtener. La entrada de la macro es un objeto, y la salida es una clase que contiene el nombre del tipo de ese objeto.
Me parece que es necesario tener una macro sustitución diferente para los parámetros de diferentes tipos.
La tarea nació de ésta.
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Peculiaridades de mql5, consejos y trucos
fxsaber, 2022.02.11 15:44
He coloreado el parámetro de entrada, en el que tengo que especificar el tipo. En esta macro obtengo tres parámetros de entrada. Y me gustaría tener dos - sin tipo.
No, las clases ya están declaradas. En los comentarios se especifica el resultado que se quiere obtener. La entrada de la macro es un objeto, y la salida es una clase que contiene el nombre del tipo de ese objeto.
No sé cómo resolver este problema.
Y a ArraySortStruct con dos parámetros - así es como funciona:
Y a ArraySortStruct con dos parámetros - así es como funciona:
Tienes razón, ¡gracias! Me excedí en un punto plano. Dejaré su variante para que la clasifique.
Aplicación.
ZS Es una pena que, por subcampo o método, no funcione.
Si una DLL se utiliza simultáneamente en diferentes programas de MT5,
tenga en cuenta que se carga una vez por el primer programa que la utiliza.
Es decir, el entorno de la DLL está en un proceso común, no importa cuántas veces se importe.
¿Cuál es la trampa? Los punteros globales utilizados en la DLL están todos en el mismo espacio de proceso compartido.
Y esto es muy conveniente.
Tal vez esto no sea una novedad para nadie, pero para mí es inesperado.
Si la DLL se utiliza simultáneamente en diferentes programas MT5,
, tenga en cuenta que se carga una vez por el primer programa que la utiliza.
Es decir, el estado de la DLL está en un proceso común, no importa cuántas veces se importe.
¿Cuál es la trampa? Los punteros globales utilizados en la DLL están todos en el mismo espacio de proceso compartido.
Y esto es muy conveniente.
Esto no es nada nuevo, es la forma en que siempre ha funcionado desde su nacimiento.
Sólo si los datos son mayores que __atomic__, el acceso debe ser envuelto/protegido con secciones críticas (o mutex a la terminal std::thread)