Discusión sobre "Cómo escribir una DLL para MQL5 e intercambiar datos en 10 minutos". - página 9
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
Debes mejorar tu nivel técnico.
Para los programas de 64 bits se necesitan bibliotecas de 64 bits y no hay forma de conectar razonablemente bibliotecas de 32 bits. Para instalar la versión de 32 bits, el instalador debe ejecutarse con el interruptor /32
Voy a reescribir el artículo y añadir características interesantes que se han implementado desde hace tiempo en MetaEditor y plataformas MT4 y MT5. Muchos desarrolladores no conocen las nuevas características.
Y veo que Microsoft empezó a comprimir C++. En el último compilador incluso han eliminado la posibilidad de trabajar con formularios en C++. Y cuando pregunté ¿por qué? La respuesta es por qué no pruebas el nuevo y mejorado C++. Por lo tanto, si miras al futuro, también deberías tenerlo en cuenta.
Bueno, Microsoft es un notorio asesino tecnológico, y últimamente ha estado cavando su propia tumba tras tumba.
Por qué interferir en él, déjalo caer en su propio agujero. Es así, en sentido figurado, para no perder el tiempo en detalles técnicos. Quién quiere detalles - hay miles de ellos en Internet. Después de "mejor C#" no tengo otras palabras.
Debes mejorar tu nivel técnico.
Para los programas de 64 bits se necesitan bibliotecas de 64 bits y no hay forma de conectar razonablemente bibliotecas de 32 bits. Para instalar la versión de 32 bits hay que ejecutar el instalador con el interruptor /32.
Voy a reescribir el artículo y añadir características interesantes que se han implementado desde hace tiempo en MetaEditor y plataformas MT4 y MT5. Muchos desarrolladores no conocen las nuevas características.
Resultó ser fácil.
Instalé el Visual Studio Community 2015 gratuito (exactamente Community, ya que tiene soporte x64, a diferencia de Express) Las versiones de pago también tienen x64, por supuesto, pero estaba mirando las opciones gratuitas. El instalador web me dio un error, así que instalé desde la imagen ISO. Al instalar, seleccione la instalación "personalizada" y marque C++ (no está instalado por defecto).
Luego hice todo como se describe en el artículo, es decir, creé un proyecto Win32. Hice un montaje, que el terminal x64 se negó a aceptar (como era de esperar).
Luego en la pestaña "Build" -> "Configuration Manager" cambié la plataforma a x64, (también puedes cambiar la "Plataforma de la Solución Activa" a x64)
Construido de nuevo. La nueva dll resultó estar en la carpeta \x64\Debug (la compilación final estará en x64\Release\), que el terminal x64 procesó sin problemas y devolvió la siguiente salida:
19:29:01.883 dll_test (EURUSD.e,H1) Tiempo 16 mseg, int: -752584127 double: 17247836076609.0
19:29:01.883 dll_test (EURUSD.e,H1) Conjunto: 0 1 2 3 4 5 6 7 8 9
19:29:01.883 dll_test (EURUSD.e,H1) Reemplazar: Un gato marrón rápido salta sobre el perro perezoso
19:29:01.886 dll_test (EURUSD.e,H1) Violación de acceso en 0x000007FEFB0F176F escribir en 0x0000000000000000 en '...\MQL5\Libraries\ConsoleApplication1.dll'
y una mayor descripción del error interceptado
Es decir, ¡¡¡todo funciona!!!
Nota:
Al transferir la DLL a otro ordenador, se negaba a funcionar porque utilizaba componentes del propio VS. El problema se resuelve en Proyecto -> Propiedades -> Usar MFC, puesto en "Usar MFC en la biblioteca estática". Después de eso reconstruir y recompilar la DLL
Lo encontré en el foro:
Es posible optimizar los EA con DLL no sólo en el ordenador local, sino también en una red local. Para ello, en los ordenadores de la red, añada la clave /dlls al registro de los agentes de prueba. Llamar al editor del registro: regedit
Renat Fatkhullin:
En el caso de los agentes ya instalados, los comandos de inicio sólo pueden cambiarse a través del registro en las ramas HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MetaTester-XXXX
Simplemente haga clic en cada parámetro de ImagePath y añada /dlls al final de la línea
Estoy en el proceso de vincular ZeroMQ a MT4 a través de DLL.
Es muy malo de alguna manera. El terminal se bloquea todo el tiempo al iniciar el indicador o al descargar. Y no aparece en el modo de depuración, así que no sé qué está pasando.
Buenas tardes.
Por alguna razón, cuando ejecuto el ejemplo de prueba, el script se bloquea en la primera llamada a la función importada
2016.07.30 23:30:14.088 Scripts script mql5dll_test (EURUSD,H1) eliminado
¿Qué estoy haciendo mal?
Buenas tardes.
Por alguna razón, cuando ejecuto el ejemplo de prueba, el script se bloquea en la primera llamada a la función importada
2016.07.30 23:30:14.088 Scripts script mql5dll_test (EURUSD,H1) eliminado
¿Qué estoy haciendo mal?
este artículo es de hace 6 años, algo debe haber cambiado.
¿Cuál es el código de error?