METATRADER
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);
}
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);
}
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.
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 172 veces
-
- graba_operaciones_csv.mq4
- (496 Bytes) Descargado 208 veces
-
- Mensajes: 95
- Registrado: 25 Feb 2008 11:39
-
- Mensajes: 95
- Registrado: 25 Feb 2008 11:39
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.
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.
-
- Mensajes: 95
- Registrado: 25 Feb 2008 11:39
-
- Mensajes: 95
- Registrado: 25 Feb 2008 11:39
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.
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.
-
- Mensajes: 95
- Registrado: 25 Feb 2008 11:39
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?
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?
Si te ha gustado este hilo del Foro, ¡compártelo en redes!