MT4 - Ejecutar Expert recursivamente en distintas cuentas

Foro dedicado a todo lo relacionado con la versión 4 de la plataforma de Metaquotes.
Responder
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

MT4 - Ejecutar Expert recursivamente en distintas cuentas

Mensaje por Spirit »

Esta vez necesito que alguien me eche una mano.

Quiero ejecutar un experto recursivamente en varias cuentas MT4 pero desde la misma plataforma (supongamos que todas las cuentas son del mismo broker)

No me sirve MQL4, tampoco me sirve DDE, así que he pensado en crear una DLL. Básicamente necesito poder cambiar de cuenta dentro de la misma plataforma y activar el experto, que en teoría debe estar cargado. es decir, el problema lo tengo en como loguearme.


También había pensado que se puede hacer mediante procesos de Windows, abriendo y cerrando la plataforma y entre medio cambiando el archivo de cofiguración que utiliza el Metatrader, pero esta segunda forma me parece una chapuza y me niego a implementarla sin intentar atacar el problema por medio de DLL's.
Morillo
Mensajes: 430
Registrado: 29 Oct 2009 23:56

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Morillo »

y luego dices que yo me meto en fregaos :lol:

ni idea de como hacer eso pero vaya, suerte :)
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Spirit »

No tiene nada que ver con lo que planteas tú en otro hilo, pero lo que pongan aquí te puede servir para lo tuyo.

Básicamente quiero construir algo como esta herramienta pero en versión reducida, para uso propio.

http://www.mt4api.net/
Morillo
Mensajes: 430
Registrado: 29 Oct 2009 23:56

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Morillo »

ya ya, no estoy comparando nada, era una broma hombre :)
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Fer137 »

Haz copias de la carpeta y abre varios metatraders simultaneamente, cada cual con una cuenta.
Si es necesario se pueden comunicar mediante algún fichero.


Supongo que eso sería lo mas sencillo, pero tambien puedes hacer que un metatrader lance otros automaticamente desde mql, y que se abran con un sistema, parametros,etc. determinados.

Código: Seleccionar todo

#import "shell32.dll"                                                   
  int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd); 
#import

ShellExecuteA(0,"Open","terminal.exe",FileConfiguracion, directorio, 6);
Última edición por Fer137 el 02 Nov 2010 16:38, editado 1 vez en total.

Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Spirit »

Fer137 escribió:Haz copias de la carpeta y abre varios metatraders simultaneamente, cada cual con una cuenta.
Y si es necesario se pueden comunicar mediante algún fichero.

Gracias por la info Fer, pero eso ya estaba descartado.

Necestito realizarlo desde una única plataforma.

No me sirven los sistemas de réplica de señales de cuenta master en subcuentas.

Lo que necesito es extraer información recursivamente, pongamos por ejemplo de 100 cuentas demo y poder luego procesarla conjuntamente, en tiempo cuasireal o a intervalos muy cortos de tiempo.

Se que puedo solucionarlo con procesos Windows y administrador de tareas, pero quisiera poder resolverlo con dll's que es como se debe hacer (pero no tengo ni pajolera idea de como hacerlo). :-D
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Fer137 »

¿Ya has mirado el metatrader 'multiterminal' por si hace algo de lo que buscas?
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Spirit »

Fer137 escribió:¿Ya has mirado el metatrader 'multiterminal' por si hace algo de lo que buscas?
Si lo he mirado. Cuando pido ayuda en el foro ya es que he agotado todos los recursos.

Pero en este caso se lo que pido, se puede hacer y no debe ser complicado, lo malo es que no hay documentación por ningún sitio. La API de MT4 es de lo peorcito que he visto documentado en temas de programación, para tener la difusión que tiene.

Y el MQL4, por si sólo, es hiperlimitado. Con ayuda de componentes, pues está bien.

Lo que estoy pidiendo parece ser que con MT5 si que se puede hacer. No lo he probado ya que lo necesito para MT4.
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Spirit »

Fer137 escribió: Supongo que eso sería lo mas sencillo, pero tambien puedes hacer que un metatrader lance otros automaticamente desde mql, y que se abran con un sistema, parametros,etc. determinados.

Código: Seleccionar todo

#import "shell32.dll"                                                   
  int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd); 
#import

ShellExecuteA(0,"Open","terminal.exe",FileConfiguracion, directorio, 6);
Esto si que lo puedo probar ya que me permitiría trabajar sólo con 2 plataformas abiertas.

Ya sabía yo que alguno me iluminaría el tunel. Gracias Fer, de momento ya tengo para arrancar.
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Fer137 »

En "FileConfiguration" hay que poner el nombre de un fichero (en principio generado automaticamente) con los 'settings' necesarios que encontraras en la ayuda del metatrader F1>Tools>Configuration at Startups
En este articulo tambien explican algunas cosas sobre el tema http://articles.mql4.com/506

Yo utilizo ese shell para testeos y optimizaciones automaticas, y para aprovechar los nucleos del pc. Se abren, pero para que se cierren tendrás que lanzarlos en modo testing con Shutdown=true, haciendo que funcione durante unos instantes con un experto que por ejemplo grave el historial o los datos que necesites en un fichero, y abrir y cerrar uno tras otro con otras cuentas.

Pero lo del login automatico lo veo complicado. Parece que tienen algun sistema de seguridad para las password (cuando se copia una carpeta o se cambia un acesso directo vuelve a pedir la contraseña). Quizas puedas descifrarlo comparando como cambia el account.ini en el login manual, o bien, mas facil, recopilando las diferentes accounts.ini (o donde sea que se guarde eso) de todas las cuentas y copiar automaticamente la que se requiera en cada caso.
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Spirit »

Lo más parecido a lo que quiero hacer lo he encontrado aquí:
http://forum.mql4.com/15325
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Fer137 »

Si, ahí el parametro 'Amount' es la posición de la cuenta (1,2,3..) en el navegador. (traducido del ruso:)
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Spirit »

El vodka debe ser buen engrasante neuronal. La idea esta de usar PostMessageA para simular entradas del teclado ni se me hubiera pasado por la imaginación. A fálta de comandos y parámetros, tiran de un trader virtual que aporrea el teclado virtualmente. Reálmente es brillante la solución que han adoptado.
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: MT4 - Ejecutar Expert recursivamente en distintas cuenta

Mensaje por Spirit »

Lo dejo hasta el fin de semana cuando tenga más tiempo.

No consigo hacer funcionar el submarino ruso. Me guarda un statement pero no cambia de cuentas, además tampoco cambia el nombre al archivo que guarda (esto es más sencillo de arreglar).


Subo el archivo por si alguien lo quiere revisar.
Adjuntos
multicuenta-statement.mq4
(2.86 KiB) Descargado 84 veces
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Metatrader 4”