He seguido sus instrucciones cuidadosamente, pero soy incapaz de conseguir este trabajo con Matlab 2007b. Me sale continuamente estos errores, al intentar utilizar sus ejemplos pre-construidos, con la Terminal MT5.
2010.08.29 10:33:30 TestMLEngine (EURUSD,H1) No se puede abrir 'C:\Users\QuantFX\AppData\Roaming\MetaQuotes\Terminal\216E2BD2BB8CE60176A41ADF6AC1C76D\MQL5\Libraries\LibMlEngine.dll' (126)
2010.08.29 10:33:47 TestDllMatlab (EURUSD,H1) No se puede abrir 'C:\sers\QuantFX\AppData\Roaming\MetaQuotes\Terminal\216E2BD2BB8CE60176A41ADF6AC1C76D\MQL5\Libraries\nnSMA.dll' (126)
La verdad es que no sé qué pensar de esto porque soy capaz de conseguir el proyecto mencionado en el artículo"How to Exchange Data: A DLL for MQL5 in 10 Minutes " que se encuentra aquí https://www.mql5.com/en/articles/18 funcionando sin ningún problema.
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Violación de acceso escribir a 0x00000000 en 'C:\sers\QuantFX\AppData\Roaming\MetaQuotes\Terminal\216E2BD2BB8CE60176A41ADF6AC1C76D\MQL5\Libraries\MQL5DLLSamples.dll'
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Reemplazar: Un gato marrón rápido salta sobre el perro perezoso
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Array: 0 1 2 3 4 5 6 7 8 9
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Tiempo 297 mseg, int: -752584127 double: 17247836076609
Así que el terminal obvioulsy no tiene problemas con violaciónes de acceso a la carpeta \Libraries, y estoy seguro de que el Asesor de Expertos "Opciones" permitir las importaciones dll y autotrading ... Cualquier ayuda sería muy apreciada porque he estado perplejo por esto desde la primera lectura de este artículo. Gracias de antemano
- 2010.01.27
- MetaQuotes Software Corp.
- www.mql5.com
Finalmente consiguió este trabajo ... Excelente artículo debo decir. No tengo mucha experiencia con Visual Studio y yo soy un novato en la programación de Metatrader. Así, esto parecía un poco de un desafío con todos los errores que estaba recibiendo. Aunque es muy fácil en el largo plazo para todas las versiones de Matlab y Visual Studio.Cualquier persona que está haciendo sus primeros intentos en la conexión de Metatrader y Matlab juntos le sugiero hacer lo siguiente para obtener una visión, si usted nunca ha trabajado con el motor de Matlab o Metatrader bibliotecas externas. 1. Crear el proyecto que viene con Matlab se encuentra en matlabroot\externs\examples\eng_mat\engwindemo.c siguiendo este artículo. http://www.mathworks.com/support/solutions/en/data/1-78077S/index.html?product=ML&solution=1-78077S Compílelo, y si tiene problemas, como archivos dll faltantes, use dependency walker, que se encuentra aquí http://www.dependencywalker. Puede ser bueno tener en cuenta que usted puede terminar teniendo que poner muchos archivos en su sistema 32 carpeta, o saber los lugares adecuados para vincularlos en su proyecto. Aunque la mayoria de los dll's se encuentran en su carpeta matlabroot\bin\win(32 o 64). Despues de que haya puesto los primeros archivos dll necesarios regrese y trate de construir su proyecto de nuevo. Usted puede encontrar que usted no necesita hacer todo lo que sugiere dependency walker. Si consigues que el proyecto compile y se ejecute entonces casi has terminado... 2. Construye el proyecto sugerido en el artículo How to Exchange Data: A DLL for MQL5 in 10 Minutes https://www.mql5.com/en/articles/18 . Si consigues que ese proyecto funcione entonces recuerda que al crear el proyecto anterior estás combinando los dos. Recuerda todos los pasos que has seguido y cuando estés listo para compilar este proyecto asegúrate de que "stdafx.h" es la primera cabecera #include en DLLUnit.cpp, y que has desactivado las cabeceras precompiladas, justo antes de compilar. Usar los archivos anteriores tal cual puede dar algunas advertencias que son fácilmente corregibles, pero el proyecto debería funcionar sin problemas. Mis dos centavos añadidos aquí pueden sonar como la guía del dummie a este proyecto, pero hacer esas cosas puede ahorrarle un par de horas de su tiempo libre si necesita construir este proyecto con otra versión de matlab o utilizar visual studio.
Saludos
Si no me equivoco, el tipo de matrices Matlab en la Tabla 1 es incorrecto. Falta la letra u. Es decir, por ejemplo, el tipo uint16 es responsable del rango de 0 a 65535, no el tipo int16. Y así sucesivamente...
Clase | Rango de valores | Función de conversión |
|---|---|---|
Entero de 8 bits con signo | de -27 a27-1 | int8 |
Entero de 16 bits con signo | -215 a215-1 | int16 |
Entero de 32 bits con signo | de -231 a231-1 | int32 |
Entero de 64 bits con signo | de -263 a263-1 | int64 |
Entero de 8 bits sin signo | 0 a28-1 | uint8 |
Entero de 16 bits sin signo | 0 a216-1 | uint16 |
Entero de 32 bits sin signo | 0 a232-1 | uint32 |
Entero de 64 bits sin signo | 0 a264-1 | uint64 |
Buenas tardes, gracias por el magnífico artículo, ¡muy útil!
Sin embargo, me ha surgido un problema. Quizás alguien se lo haya encontrado.
Al cerrar un Asesor Experto, MT5 se cuelga completamente cuando lo cierro. Uso MS Visual Studio2010 + Matlab r2011a.
¿Cuál creéis que puede ser el motivo? ¡Gracias de antemano!
Buenas tardes, he hecho todo como en el artículo, pero al ejecutar el script TestMlEngine, ha aparecido un error:
2011.12.17 15:55:23 TestMLEngine(EURUSD,H1) No se puede abrir 'C:\sers\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (126)
y luego inmediatamente:
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxGetSizeOfName' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxGetLogical' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxGetInt' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxGetDouble' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxInputLogical' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxInputInt' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxInputDouble' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxInputChar' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxOpen' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxClose' en 'LibMlEngine.dll'
En algún lugar del foro encontré que esto se debe a que faltan dlls, con la ayuda de depends.exe encontré lo que le faltaba, lo eché en la misma carpeta, ayudó, pero no del todo.Ahora se muestra:
2011.12.17 15:57:59 TestMLEngine (EURUSD,H1) No se puede abrir 'C:\Users\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (127).
y la lista sigue con "No se puede encontrar...". ¿Pueden decirme cuál es el problema? He estado luchando por una semana ya ...
Sí, tengo Win7 + Matlab R2011a + VS201.
.
Buenas tardes, he hecho todo como en el artículo, pero al ejecutar el script TestMlEngine, ha aparecido un error:
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede abrir 'C:\sers\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (126)
y luego inmediatamente:
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxGetSizeOfName' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxGetLogical' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxGetInt' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxGetDouble' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxInputLogical' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxInputInt' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxInputDouble' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxInputChar' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxOpen' en 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) No se puede encontrar 'mlxClose' en 'LibMlEngine.dll'
En algún lugar del foro encontré que esto se debe a que faltan dlls, con la ayuda de depends.exe encontré lo que le faltaba, lo eché en la misma carpeta, ayudó, pero no del todo. Ahora se muestra:
2011.12.17 15:57:59 TestMLEngine (EURUSD,H1) No se puede abrir 'C:\Users\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (127).
y la lista sigue con "No se puede encontrar...". ¿Pueden decirme cuál es el problema? He estado luchando por una semana ya ...
Sí, tengo Win7 + Matlab R2011a + VS201.
Cuando instalé Matlab, la ruta del sistema era sólo "C:Archivos de programa Matlab R2011bbin". He añadido "C:Archivos de programa Matlab R2011bbinwin32". Dlls de Matlab directorio se hizo visible y Matlab motor se inició. Antes de eso escribí que no podía ver las dlls.
Buenos días) Tengo otro problema - por alguna razón el catálogo "Borland" no se encuentra en la carpeta <MATLAB>\extern\lib\win32\, aunque Borland C++ Builder 6 está instalado. En consecuencia, los archivos libeng.lib y libmx.lib tampoco se pueden conectar al proyecto. Far da lo siguiente en el comando "implib libeng libeng.lib libeng.dll":
)
Y la carpeta Borland no estaba y sigue sin estar.... ¿Alguien me puede decir como solucionar este problema? O por lo menos va a tirar estos dos archivos?:-)
En general, por favor ayuda, porque no entiendo algo....
Por la pureza del experimento instalé VMware, donde instalé 2 sistemas - XP y 7.
Luego instalé Matlab R2011b, instalé MCR, instalé la última build de MT5. Desde el archivo adjunto al artículo, todos los archivos estaban dispersos en carpetas, como está escrito en las instrucciones en el archivo. Compilé los ficheros mq5 en ex5 (es decir, borré los ficheros ex5 existentes en el archivo y puse los recién compilados en su lugar). Arranco MT5, arranco Matlab (he intentado no arrancarlo - el resultado es el mismo), en el terminal hago click en TestMlEngine, y me da:
TestMLEngine (EURUSD,H1) 13:44:58 No se puede abrir 'C:\Users\User\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\LibrariesLibMlEngine.dll' (126)
TestMLEngine (EURUSD,H1) 13:44:58 No se puede encontrar 'mlxClose' en 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 No se puede encontrar 'mlxOpen' en 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 No se puede encontrar 'mlxInputChar' en 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 No se puede encontrar 'mlxInputDouble' en 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 No se puede encontrar 'mlxInputInt' en 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 No se puede encontrar 'mlxInputLogical' en 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 No se puede encontrar 'mlxGetDouble' en 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 No se puede encontrar 'mlxGetInt' en 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 No se puede encontrar 'mlxGetLogical' en 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 No se puede encontrar 'mlxGetSizeOfName' en 'LibMlEngine.dll'.
No se que hacer. He probado todo lo que he podido. Probé la DLL del artículo "¿Cómo escribir una librería DLL para MQL5 e intercambiar datos en 10 minutos?(https://www.mql5.com/ru/articles/18) - funciona sin problemas.
¿Alguien me puede decir cómo llegar a ella? ¿Qué estoy haciendo mal?
Gracias de antemano.
- 2010.01.27
- MetaQuotes Software Corp.
- www.mql5.com
Cuando instalé Matlab, la ruta del sistema era sólo "C:C:Archivos de programaMATLABR2011b\bin". He añadido "C:Archivos de programaMATLAB\R2011b\bin\win32". Dlls de Matlab directorio se hizo visible y Matlab motor se inició. Antes de eso escribí que no podía ver las dlls.
Si te refieres a la variable de entorno Path, le añadí "C:\Program Files\MATLAB\R2011b\bin\win32", pero la situación no cambió :-(
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Interacción de MetaTrader 5 y MATLAB:
Este artículo trata sobre la interacción entre MetaTrader 5 y el paquete matemático MatLab. Muestra el mecanismo de conversión de datos y el proceso de desarrollo de una librería universal para interactuar con el escritorio de MatLab. También describe el uso de las DLL generadas por el entorno de MatLab. Este artículo está dirigido a lectores experimentados que tienen conocimientos de C+ y MQL5.
Autor: Andrey Emelyanov