History Downloader: Scarica la Storia dei Prezzi su MetaTrader 4

Mike 2018.02.14 20:51 13 0 0
Allegato

L'EA (Expert Advisor) scarica la storia dei prezzi del simbolo e del periodo attuale del grafico semplicemente "premendo il tasto Home". Questo metodo si basa sull'idea implementata nello script s-Downloader di Talex (link a CodeBase).

La principale differenza rispetto a s-Downloader è che vengono scaricati solo i bar del timeframe attuale fino a un tempo specificato. Personalmente, trovo questa opzione molto più comoda, visto che conduco test su un singolo timeframe (quello con cui lavoro di solito).

In questa implementazione, l'EA viene eseguito in un'unica iterazione start(). Questo ha causato alcune difficoltà nell'ottenere il numero di bar nella finestra del grafico e il tempo del primo bar. Pertanto, l'EA recupera questi dati dalle variabili globali aggiornate utilizzando l'indicatore HistoryDownloaderI (in allegato). In effetti, a parte l'aggiornamento delle variabili globali, l'indicatore non fa nient'altro :)

In allegato troverete l'EA (HistoryDownloader.mq4), l'indicatore (HistoryDownloaderI.mq4) e l'archivio con entrambi i codici sorgente + file compilati (HistoryDownloader.zip)

Come utilizzare tutto questo:

  • Premi Ctrl+O, controlla il numero massimo di bar nella storia e sul grafico;
  • Apri la finestra del grafico del simbolo necessario e seleziona il timeframe per cui si desidera scaricare la storia;
  • Disabilita lo scorrimento automatico e imposta la scala al minimo ("zoomare" il più possibile in giù);
  • Avvia l'indicatore HistoryDownloaderI sul grafico;
  • Dopo, avvia l'EA.

Parametri dell'EA:

datetime ToDate - data fino alla quale viene scaricata la storia dei prezzi

int Timeout - periodo di attesa per l'aggiornamento del grafico, in millisecondi. Il valore predefinito è 1 secondo (1000)

int MaxFailsInARow - numero massimo di tentativi consecutivi non riusciti per "spostare" il grafico. Il valore predefinito è 10

Ho fatto del mio meglio per commentare il codice in dettaglio. Dopotutto, questa è la mia prima pubblicazione su CodeBase.

Elenco
Commento 0