Si trascina su un grafico qualsiasi e lavora da solo: passa in rassegna i simboli, chiede al server la prima data disponibile e tira giu' la storia fino a li', su tutti i timeframe. Alla fine scrive un report che dice, riga per riga, dove hai i dati e dove hai i buchi.
Una MetaTrader appena installata non ha storico, e anche una vecchia ha buchi su tutti i simboli che non hai mai aperto. MetaTrader scarica i dati solo quando gli servono, un pezzo alla volta, e nel frattempo:
Ogni strumento che guarda indietro nel tempo, se lo storico e' incompleto, legge dati con dei buchi senza avvisarti. Non da' errore, non lascia spazi vuoti: ti mostra un numero sbagliato con la stessa faccia con cui te ne mostrerebbe uno giusto. La forza di una valuta sull'anno, un profilo mensile, un massimo di 365 giorni: tutti calcolati su quello che c'e', che magari e' meta'.
Perche' e' la condizione perche' tutto il resto dica la verita'. E' il primo strumento da lanciare su una MetaTrader nuova, prima ancora di guardare un grafico. E' anche l'unico che si usa una volta e poi si dimentica: non e' un difetto, e' il suo lavoro.
Per ogni simbolo dell'ambito scelto, lo script chiede al server la prima data disponibile e poi richiede le barre di ogni timeframe acceso fino a quella data. Se il server risponde a rate, aspetta e riprova entro il tempo massimo che hai indicato.
MetaTrader conserva lo storico in barre da un minuto e costruisce tutti gli altri periodi da quelle. Quindi chiedere il giornaliero completo scarica gia' i minuti di tutti quegli anni: in teoria basterebbe uno. Li chiediamo comunque tutti e nove perche' cosi' il terminale genera e salva anche i file di periodo, e la prima apertura di ogni grafico diventa immediata invece di richiedere una ricostruzione.
Alla fine scrive un CSV in MQL5\Files con simbolo, periodo, barre scaricate, prima data locale, prima data del server ed esito. Quel file e' il documento che dice se hai buchi: se prima data locale e prima data server coincidono, hai tutto.
Si interrompe in qualsiasi momento togliendo lo script dal grafico, e il report resta scritto fino al punto raggiunto.
| Impostazione | Default | Cosa cambia |
|---|---|---|
| Quali simboli | ||
| Ambito | Market Watch | Solo i simboli in lista, tutti quelli del broker, oppure quelli che contengono un testo. |
| Filtro testo | vuoto | Vale solo con ambito Filtro. Per esempio EUR per prendere tutti i cambi dell'euro. |
| Salta i simboli senza quotazione viva | acceso | Evita di perdere minuti su simboli morti o non quotati dal tuo broker. |
| Quali periodi | ||
| Da M1 a MN1 | tutti accesi | Nove interruttori. M1 e' la base: senza quello gli altri vengono comunque scaricati, ma i file di periodo non vengono generati. |
| Profondita' e tempi | ||
| Barre massime per periodo | 0 = tutto | 0 significa tutto lo storico disponibile ed e' quello che vuoi. Un numero limita il lavoro quando hai fretta. |
| Attesa massima per singola richiesta | 180 s | Quanto aspettare il server prima di passare oltre e segnare il simbolo come fallito. |
| Pausa fra un simbolo e l'altro | 0 ms | Da alzare solo se il broker comincia a rifiutare le richieste. |
| Ritenta a fine corsa i simboli falliti | acceso | Il secondo giro recupera quasi sempre quelli caduti per un timeout occasionale. |
| Pulizia | ||
| Togli dal Market Watch i simboli aggiunti | acceso | Rimette la lista com'era prima: per lavorare, lo script deve aggiungerceli. |
| Alert acustico a fine lavoro | acceso | Ti avvisa quando ha finito, che con molti simboli puo' voler dire parecchi minuti dopo. |
Prima di lanciarlo, una cosa sola ma obbligatoria: Strumenti > Opzioni > Grafici > Numero massimo di barre nel grafico su Illimitato. Senza quello, il terminale butta via da solo la storia che lo script sta scaricando.
Poi si lancia dopo l'installazione, e si rilancia solo quando cambi broker, reinstalli MetaTrader o aggiungi al Market Watch simboli che non avevi mai aperto.