Il centro storia di metatrader (lo potete trovare all'interno del menu strumenti) permette di esportare i dati storici in formato csv con le seguenti informazioni relative alle candele del timeframe selezionato:
- Data e orario
- Prezzo di apertura
- Prezzo massimo
- Prezzo minimo
- Prezzo di chiusura
- Volume
Potreste avere l'esigenza però di voler salvare degli altri dati magari relativi agli ordini aperti oppure il prezzo attuale del cross.
Scrivere un programma di questo tipo è piuttosto semplice, a seconda del fatto che queste informazioni vi servano una sola volta o ad ogni quotazione posizionerete il vostro file *.mq4 rispettivamente all'interno della cartella scripts o in quella experts.
Per maggiori dettagli potete cercare, nel metaeditor, le funzioni fondamentali per la scrittura su file, che sono:
- FileOpen
- FileWrite
- FileClose
Di seguito riporto il codice di un expert advisor che si occupa di scrivere su di un file il prezzo battuto (in particolare l'Ask) ad ogni quotazione:
extern string nome_file = "RealTimePrice.csv";
bool error = false;
int handle;
int init(){
//Apertura file
handle=FileOpen(nome_file,FILE_CSV|FILE_READ|FILE_WRITE,';');
if(handle < 1) {
Print(GetLastError());
error = true;
}
return(0);
}
int deinit(){
//Chiusura FILE
FileClose(handle);
return(0);
}
int start(){
if (error)
Print(GetLastError());
else{
RefreshRates();
FileWrite(handle, Ask);
}
return(0);
}
I file creati vengono posizionati nelle cartelle:
- MetaTrader 4\tester\files -> in caso di file generati da backtest
- MetaTrader 4\experts\files -> in caso di programmi attaccati ai grafici
No comments:
Post a Comment