Discusión sobre "Cómo escribir una DLL para MQL5 e intercambiar datos en 10 minutos". - página 8
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
Declaración de la función DLL
Llamada a una función DLLEn el último ejemplo, también hiciste algunos cambios en la dll, ¿no?
Eso es lo que quiero decir.
Podrías darme una pista también, si no es mucha molestia. Hay un dll, se le pasa un valor de texto, la salida es un número en tipo cadena
Por ejemplo, así:
No puedo arreglar el dll por falta de conocimientos. Por favor, aconsejen cómo hacer un código correcto para pasarlo a dll, y cómo recibirlo correctamente. Tengo la sensación de que mi dll no funcionará en MT5.
Gracias de antemano por la ayuda.
Podrías darme una pista también, si no es mucha molestia. Hay un dll, se le pasa un valor de texto, la salida es un número en tipo cadena
No puedo arreglar el dll por falta de conocimientos. Por favor, aconseja cómo escribir correctamente el código para enviarlo a la dll, y cómo conseguirlo correctamente. Porque mi dll no funciona en MT5 ahora mismo.Gracias de antemano por su ayuda.
Volví a comprobar el trabajo con la cadena de retorno de la DLL y encontré el error en x64 (apareció después de algunas optimizaciones). La corrección se incluirá en la próxima versión.
Si está trabajando en x64, por favor, espere a la publicación de la compilación.
Lo único que puedo añadir, es que recuerde que MQL5 trabaja con cadenas Unicode.
Artículo publicado ¿Cómo escribir una DLL para MQL5 en 10 minutos e intercambiar datos?:
Autor: Renat Fatkhullin
Gracias por el artículo. Ya lo he utilizado.
El consejo es muy bueno. ¡Pero! He tardado 10 minutos en averiguar cómo establecer la ruta de la DLL correctamente en VS2010.
Resultó ser así:
C:\Users\пп\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Libraries
Sugiero copiar la ruta desde el MetaEditor.
O especifique su propia ruta en el entorno (no lo comprobó).
Y otra cosa, ¿cómo se hace con el multithreading?
Gracias por el artículo. Lo repetí en su totalidad, pero quiero decir algunas palabras sobre lo que encontré durante la aplicación: estas cosas aparentemente pequeñas casi me desaniman. Lo que quería aclarar (usando VS2010 + MT5 (32 bit) build 756 + Win 7 Maximum x64):
Por lo demás, no es un mal artículo... ¡Respeto!
En MT5 de 64 bits el ejemplo no funciona. El terminal informa que es una DLL de 32 bits y no la conecta. Pero bajo Win32 (como en este ejemplo y en todos los demás ejemplos - como en Delphi) - todas las DLL son de 32 bits. Al igual que en el post anterior, tengo que desinstalar la versión de 64 bits del terminal e instalar la de 32 bits. También necesito saber cómo hacerlo ya que la versión de 64 bits se instala a la fuerza. Resulta que MT5 64 bits es un terminal muerto, no sé por qué se libera. Estimados desarrolladores, si es posible, por favor hagan posible la conexión de una DLL de 32 bits a МТ5 de 64 bits.
Si esto es técnicamente imposible o difícil, escribir las trampas que esta versión no funcionará con DLL de 32 bits y los usuarios sufren y no pueden entender lo que está mal. Y escribe abiertamente que la carpeta Bibliotecas no está en los directorios del propio terminal, y sabe dónde, y sin experiencia no la encontrará, ni siquiera lo intente. Por cierto, en este lugar secreto están todos los indicadores y expertos, por lo que al instalar MT5 puedes olvidarte de ellos - si no sabes que todo esto está en una carpeta oculta C:\NUsers\nAppData\Roaming... ...o el usuario cree que está instalando un programa bien escrito, lo cual es un engaño.
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.