EA -509 para 600+ Metatrader

Comparte y comenta tus estrategias de trading.

EA -509 para 600+ Metatrader

Notapor Hobby » 20 May 2014, 23:19

Buenas.

Hay mucho EA por la web que no funcionan en las nuevas versiones Metatrader.

Creo que dentro del código hay que cambiar unos caracteres por otros.

El tema de las Dlls no sé si también puede dar problemas.

¿ No sabeis como, o de algún sitio web donde se explique como subsanar los errores para compilarlos correctamente para que funcionen en los nuevos Metatraders ?

Si es problema de librerías (Dlls) no es posible arreglarlos, ¿verdad ?.

Gracias.

Saludos.
Hobby
 
Mensajes: 335
Registrado: 02 Abr 2014, 14:24
Karma: 0

Re: EA -509 para 600+ Metatrader

Notapor carlessan » 21 May 2014, 10:28

El cambio de versión en el lenguaje MQL, obliga a programar de forma mas estricta, es decir: necesita especificar mejor las conversiones de tipo de las variables, sus definiciones, el orden de análisis de sentencias anidadas, etc.

No hay suficiente con cambiar 4 caracteres, hay que ver qué errores se dan al compilarlo con la nueva versión y arreglar cada error y advertencia uno por uno.

Para reparar DLLs es más complejo porque si no dispones del código fuente en el lenguaje en que se fabricó la dll, no es posible.

Si la Dll se hizo en visual studio es necesario tener su código fuente en c++ modificar lo que uno quiera y recompilarla. Pero generealmente las DLLs no dan problemas en los cambios de versión del mql si han sido generadas con código c++ por ejemplo.

Adaptar el código a la nueva versión requiere de tiempo para reparar cada uno de los errores y advertencias que salgan al compilar el código, al final es tiempo y ganas, que se deberán invertir si el experto vale la pena.

salu2
Avatar de Usuario
carlessan
 
Mensajes: 45
Registrado: 19 Mar 2011, 01:42
Ubicación: Girona
Karma: 4

Re: EA -509 para 600+ Metatrader

Notapor Hobby » 21 May 2014, 14:16

Gracias Carles.

Cuando es por culpa de la Dll... ¿ también se nos mostrará en la pestaña de errores al compilar ?, o si no fuese así, ¿ como sabríamos que tenemos problemas con el dll ?

Hay algunos EAs que cuelgan el metatrader, otros que simplemente no hacen nada.

¿ Que signos nos harían saber que es por culpa de la Dll y no del código mql4 en sí.

Gracias.


Saludos.
Hobby
 
Mensajes: 335
Registrado: 02 Abr 2014, 14:24
Karma: 0

Re: EA -509 para 600+ Metatrader

Notapor FXWizard » 21 May 2014, 14:28

Hola Hobby por si sirve de ayuda te dejo este artículo:

http://www.x-trader.net/articulos/softw ... der-4.html

Como puedes ver, basta con trasladar la estructura de carpetas anterior a la nueva para que las cosas vuelvan a funcionar. Así por ejemplo las Dlls las tienes que copiar en la nueva carpeta de libraries que aparece debajo de MQ4.

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35

Re: EA -509 para 600+ Metatrader

Notapor Hobby » 21 May 2014, 14:35

FXWizard escribió:Hola Hobby por si sirve de ayuda te dejo este artículo:

http://www.x-trader.net/articulos/softw ... der-4.html

Como puedes ver, basta con trasladar la estructura de carpetas anterior a la nueva para que las cosas vuelvan a funcionar. Así por ejemplo las Dlls las tienes que copiar en la nueva carpeta de libraries que aparece debajo de MQ4.

Saludos,
FXWizard



Gracias FXWizard pero esos pasos los he hecho perfectamente. Todo está dentro del directorio MQL4.

Aquí el llamamiento al dll. No sé si estará bién con la nueva versión Metatrader.

#include <WinUser32.mqh>

#import "kernel32.dll"
int GetCurrentProcess();
int WriteProcessMemory(int handle, int address, int& buffer[], int size, int& written);
int LoadLibraryA(string file);

#import "profitfxbot.dll"
int initQuant(int a0, int a1, int a2, double a3, double a4, double a5, int a6, int a7, double a8, int a9, string a10);
double GetVolatilityRatio(double& a0[], double& a1[], int a2, int a3, int a4, int a5);
int GetQuantPositionChange(int a0, int a1, int a2, int a3, double a4, int a5, int a6, double a7, double a8, double a9, double a10, double a11);
int getSlotCount(int a0, int a1);
int SetPipsTrailSettings(int a0, double a1, double a2, double a3, int a4);
int GetLicenseState(int a0);
int getSystemID();



Saludos.
Hobby
 
Mensajes: 335
Registrado: 02 Abr 2014, 14:24
Karma: 0

Re: EA -509 para 600+ Metatrader

Notapor FXWizard » 22 May 2014, 10:25

En principio está todo ok, has revisado las pestañas de Journal y Experts a ver qué te dicen?

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35

Re: EA -509 para 600+ Metatrader

Notapor Hobby » 22 May 2014, 18:25

Hola Wizard.

Si, gracias.

Lo he puesto en Demo MT4 versión 646 y sale la carita sonriente , en el journal (diario) también sale bién ... 2014.05.22 17:35:41.786 Expert profitfxbot EURUSD,M15: loaded successfully

En la pestaña Experts también parece que vá bién :

2014.05.22 17:35:53.705 profitfxbot EURUSD,M15: initialized
2014.05.22 17:35:53.673 profitfxbot EURUSD,M15 inputs: MM=8; Magic=740714; FIFO=false; ClosePreviousSessionOrders=2; InternalControl=true; ...
2014.05.22 17:35:41.786 profitfxbot EURUSD,M15: loaded successfully

Es muy raro. En la versión 509 del MT4 funciona perfecto en Real y en backtest.

Misma cuenta Real version 509; License status; ACTIVE.
Misma cuenta Real version 646; License status: NOT ACTIVE

No pilla la licencia con MT4 versión 646. Entonces debe ser problema de la Dll , ¿no?.

Saludos.
Hobby
 
Mensajes: 335
Registrado: 02 Abr 2014, 14:24
Karma: 0

Re: EA -509 para 600+ Metatrader

Notapor FXWizard » 23 May 2014, 15:06

Hobby escribió: No pilla la licencia con MT4 versión 646. Entonces debe ser problema de la Dll , ¿no?

Saludos.


Lo más probable ;)

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35


Volver a Estrategias de Trading

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados