Página 1 de 1

Archivos de texto y mt4.

Publicado: 18 Jun 2019 16:45
por palazon94
Muy buenas, estoy realizando un robot el cual crea variables globales y otro robot con los datos de dichas variables toma decisiones y opera en el mercado. Me parece muy engorroso y cuando se pone a trabajar el EA en varios pares crea cientos de variables globales.

Me gustaría aprender a que el EA escriba en archivos de texto y el otro EA lea dichos archivos de texto ¿Donde podría empezar a aprender y a leer sobre este tema? ¿Vosotros como aprendisteis?

Mi profesor de mql4 ha dejado de dar clases y no se como aprender de manera autodidacta.
Un saludo y gracias de antemano :-D

PD: Leer la documentación de mql4 sobre trabajar con archivos ya lo he intentado y no me entero de nada.

Re: Archivos de texto y mt4.

Publicado: 18 Jun 2019 23:49
por cdtrader
la verdad que no hay mejor profesor que uno mismo.
si quieres intenta escribir el codigo que quieres y luego te voy ayudando sobre tu base.

Re: Archivos de texto y mt4.

Publicado: 19 Jun 2019 01:20
por palazon94
cdtrader escribió: 18 Jun 2019 23:49 la verdad que no hay mejor profesor que uno mismo.
si quieres intenta escribir el codigo que quieres y luego te voy ayudando sobre tu base.
Dios mio muchísimas gracias, pero te haría perder el tiempo si no tengo una base mínima en este aspecto de la programación. Si me dieses algo con lo que empezar, un articulo, un pdf, un post... donde se hable de cosas muy básicas y así poder realizar unas pruebas...

Si encima con esas pruebas cuando me atasco y te las puedo copiar y pegar y me ayudas sera genial, pero es que necesito un pequeño empujón y sobre este tema en google no he encontrado nada. De java, phyton y lenguajes mas conocidos si hay información, es una pena que mql4 no tenga tanta info.

Un saludo compañero.

Re: Archivos de texto y mt4.

Publicado: 20 Jun 2019 04:38
por Karachiento
Lamento no poder ayudarte, hago algunas chapuzas en mql5, que es distinto a mql4. Pero te recomendaría que busques información sobre el manejo de archivos en el lenguaje c. Hay toneladas de info y ejercicios de practica en la web. Con esa base no tendrás problemas para hacerlo en mql4.
Suerte!

Re: Archivos de texto y mt4.

Publicado: 20 Jun 2019 17:39
por palazon94
Karachiento escribió: 20 Jun 2019 04:38 te recomendaría que busques información sobre el manejo de archivos en el lenguaje c
Quizás con esto pueda dar mis primeros pasos. Gracias Karachiento :smt219

Re: Archivos de texto y mt4.

Publicado: 20 Jun 2019 20:58
por Broricos
palazon94 escribió: 20 Jun 2019 17:39
Karachiento escribió: 20 Jun 2019 04:38 te recomendaría que busques información sobre el manejo de archivos en el lenguaje c
Quizás con esto pueda dar mis primeros pasos. Gracias Karachiento :smt219
Y porque no lo intentas directamente desde la fuente oficial.
https://docs.mql4.com/files/filewrite

slds

Re: Archivos de texto y mt4.

Publicado: 21 Jun 2019 05:37
por Karachiento
Broricos escribió: 20 Jun 2019 20:58 Y porque no lo intentas directamente desde la fuente oficial.
https://docs.mql4.com/files/filewrite

slds
palazon94 escribió: 18 Jun 2019 16:45 PD: Leer la documentación de mql4 sobre trabajar con archivos ya lo he intentado y no me entero de nada.

Re: Archivos de texto y mt4.

Publicado: 23 Jun 2019 18:26
por X-Trader
Hola Palazon94, te doy algunas ideas por si pudieran serte de utilidad.

Con este primer código puedes escribir un fichero de texto que almacena los valores de hora, valor del bid y valor del ask. Si te das cuenta, usa dos funciones: FileOpen crea el fichero mientras que FileWrite escribe los valores que le indiques dentro el mismo. Por último, con FileClose, se detiene la escritura en el archivo.


int handle;

int init()
{
handle=FileOpen("data1.csv",FILE_CSV|FILE_READ|FILE_WRITE,',');
if(handle<1)
{
Comment("File data1.csv not found, the last error is ", GetLastError());
return(false);
}
else
{
Comment("Ok");
FileWrite(handle, "Time","Bid","Ask");
Comment("1");
}

return(handle);
}

//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit(bool handle)
{
FileClose(handle);
return(0);
}

//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int i;
FileWrite(handle, TimeToStr( TimeCurrent(), TIME_DATE | TIME_SECONDS ), Bid, Ask);
return(0);
}


Con este otro ejemplo se explica cómo leer un archivo CSV cualquiera desde MQL4:
int init()
{
int handle; string str; string str1;

handle=FileOpen("AAA.csv", FILE_CSV|FILE_READ);
if(handle>0)
{
str=FileReadString(handle);
str1=FileReadString(handle);
printf("handle:" +handle + "; str:"+str + "; str1:" + str1);
}

return(0);
}
Por último, recuerda que la referencia completa de las funciones que gestionan archivos la tienes en este enlace:

https://docs.mql4.com/files

Observa que cualquier archivo con el que trabajes por defecto en una de estas ubicaciones:
  • (Carpeta de Datos de Metatrader)\MQL4\Files\
  • C:\Documents and Settings\All Users\Application Data\MetaQuotes\Terminal\Common\Files

Espero que toda esta info te sirva de orientación.


Saludos,
X-Trader