METATRADER

Foro dedicado a todo lo relacionado con la versión 4 de la plataforma de Metaquotes.
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Mensaje por Fer137 »

Una forma de hacerlo sería que grabe los datos en un archivo de texto CSV y luego que el excell los lea de ahí.


Con un script algo así:

void start() {
handle=FileOpen("operaciones.csv", FILE_CSV|FILE_WRITE, ',');
for(n=1;n<=OrdersHistoryTotal();n++) {
OrderSelect(n, SELECT_BY_POS,MODE_HISTORY);
FileWrite(handle, OrderTicket(), OrderOpenPrice(), etc. , etc. );
}
FileClose(handle);
}

Avatar de Usuario
eurer
Mensajes: 789
Registrado: 09 May 2005 16:05
Ubicación: Tenerife

Mensaje por eurer »

¿Y como se hace lo que me has contado?
Yo veo el Historial de cuentas , click botón derecho y guardar como tipo htm.
De ahí no sé seguir y hacer lo que me explicas. :(
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Mensaje por Fer137 »

He hecho un pequeño script, a mi también me vendrá bien para pasar a excel las operaciones.

Coges el programa adjunto, lo pones en la carpeta scripts (está dentro de la carpeta experts), abres el programa en el metaeditor y le das a F5 para que se compile, (todo eso solo la primera vez).
Vuelves al metatrader, abres el explorador y lo encontrarás dentro de scripts, le clickeas 2 veces y te grabará el historico en un fichero en la carpeta files.
El fichero se puede abrir directamente en el excell.

En el programa se ven los datos que graba, se pueden reordenar o quitar alguno. En el tipo de operacion saldrá un codigo de 0 a 5: a mercado(buy=0, sell=1), limit(2,3), stoplimit(4,5).


#property show_inputs
extern string nombre_file="historico1";
void start() { int n,handle;
handle=FileOpen(nombre_file+".csv",FILE_CSV|FILE_WRITE, ',');
for(n=1;n<=OrdersHistoryTotal();n++) {
OrderSelect(n, SELECT_BY_POS,MODE_HISTORY);
FileWrite(handle,

OrderTicket(),
OrderSymbol(),
OrderType(),
OrderLots(),
TimeToStr(OrderOpenTime()),
OrderOpenPrice(),
OrderStopLoss(),
OrderTakeProfit(),
TimeToStr(OrderCloseTime()),
OrderClosePrice(),
OrderProfit());
}
FileClose(handle);
}



Pongo tambien el programa ya compilado ( .ex4), solo necesita colocarse en la carpeta scripts.
Adjuntos
graba_operaciones_csv.ex4
(1.7 KiB) Descargado 103 veces
graba_operaciones_csv.mq4
(496 Bytes) Descargado 111 veces
Avatar de Usuario
eurer
Mensajes: 789
Registrado: 09 May 2005 16:05
Ubicación: Tenerife

Mensaje por eurer »

OK, gracias por todo, lo pruebo este fin de semana y te cuento como me ha ido.
Un saludo.
Avatar de Usuario
eurer
Mensajes: 789
Registrado: 09 May 2005 16:05
Ubicación: Tenerife

Mensaje por eurer »

Pues ya lo probé y todo ha salido bien, gracias. :wink:
pitufogranjero
Mensajes: 95
Registrado: 25 Feb 2008 11:39

Mensaje por pitufogranjero »

Hola, he leído casi todo el post, pero no he encontrado lo que os tengo que pedir. hay algún poveedor de datos que incluya dax, eurostoxx, oro, forex e ibex? se que es mucho pedir, pero viendo que sois unos craks, seguro que lo sabéis.

gracias por adelantado.
pitufogranjero
Mensajes: 95
Registrado: 25 Feb 2008 11:39

Mensaje por pitufogranjero »

Hola, en metatrader, aparte de mi anterior pregunta, tengo otra dudilla.

estoy programando un expert advisor en el que utilizo una media movil, automáticamente (creo) que al utilizarla luego me la muestra en el gráfico (digo creo porque he reutilizado un expert advisor que viene de ejemplo). El caso es que me gustaría ver dicha media, pero desviada en el valor, no en el tiempo (es decir, desviada hacia arriba o abajo)

Sabéis como puedo hacerlo? gracias.
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Mensaje por Fer137 »

Sobre la primera pregunta: El ibex ni de coña.
La segunda: tendrías que abrir el codigo, buscar esa media iMA(tal y tal..) y sumarle la cantidad que quieras.
pitufogranjero
Mensajes: 95
Registrado: 25 Feb 2008 11:39

Mensaje por pitufogranjero »

he intentado sumarle la cantidad, pero no me sale en pantalla sobre el gráfico, aunque si que entra o sale del mercado según el nivel sumado.
pitufogranjero
Mensajes: 95
Registrado: 25 Feb 2008 11:39

Mensaje por pitufogranjero »

no consigo que un Expert Advisor muestre las operaciones, he probado algo sencillo, cuando cruza una media compra o vende (lo tipico) y no me muestra ni las operaciones ni envia los emails de alerta.
sin embargo en el modo test, si que veo en el historico como ejecuta las operaciones.

Hay algun detalle que se me pueda estar pasando por alto?

gracias.
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Mensaje por Fer137 »

En 'herramientas'>'asesores expertos' hay que activar operativa automatica. Lo mismo en la ventana que sale al iniciar el sistema. Si todo está bien aparecerá una cara sonriente en el grafico (cara triste si está con confirmacion manual, y una equis si no esta activado)
pitufogranjero
Mensajes: 95
Registrado: 25 Feb 2008 11:39

Mensaje por pitufogranjero »

la cara sonriente sale, pero el precio cruza la media una y otra vez y nada, tambien he probado con el expert advisor que viene con el programa y tampoco...

gracias.
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Mensaje por Fer137 »

En la ventana terminal, mira a ver que dice el log en "Expertos" y "Diario". Ahí salen las operaciones y los errores. (Quizás sea el volumen, los stops o algo así).

Y cuando dices que no muestra las operaciones ¿Te refieres a que no las pinta en el grafico o que no las hace ni salen en la ventana operaciones?
pitufogranjero
Mensajes: 95
Registrado: 25 Feb 2008 11:39

Mensaje por pitufogranjero »

no las pinta
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Mensaje por Fer137 »

En el codigo del programa, la funcion OrderSend(...), el ultimo parametro es el color de las flechas,si se omite no pinta operaciones. (mejor mira la ayuda para esa funcion)
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Metatrader 4”