Este Asesor Experto (EA) descarga el historial de cotizaciones del símbolo y período actual del gráfico al "presionar el botón de Inicio". Este método se basa en la idea implementada en el s-Downloader de Talex (enlace a CodeBase).
La principal diferencia con s-Downloader es que solo se descargan las barras del marco de tiempo actual hasta el momento especificado. Personalmente, considero esto más conveniente ya que realizo mis pruebas en un solo marco de tiempo (el que suelo utilizar).
En esta implementación, el EA se ejecuta en una única iteración de start(). Esto trajo algunas dificultades para obtener el número de barras en la ventana del gráfico y el tiempo de la primera barra. Por eso, el EA toma esta información de las variables globales actualizadas con el indicador HistoryDownloaderI (que se encuentra en el archivo adjunto). En realidad, además de actualizar las variables globales, el indicador no hace nada más :)
El archivo adjunto contiene el EA (HistoryDownloader.mq4), el indicador (HistoryDownloaderI.mq4) y un archivo comprimido con ambos códigos fuente + archivos compilados (HistoryDownloader.zip).
¿Cómo usar todo esto?
- Presiona Ctrl+O, verifica el número máximo de barras en el historial y en el gráfico;
- Abre la ventana del gráfico del símbolo que necesites y selecciona el marco de tiempo para el que se descargará el historial;
- Desactiva el desplazamiento automático y ajusta la escala al mínimo ("alejando" lo más posible);
- Ejecuta el indicador HistoryDownloaderI en el gráfico;
- Después, lanza el EA.
Parámetros del EA:
datetime ToDate - fecha hasta la cual se descarga el historial de cotizaciones.
int Timeout - período de espera para la actualización del gráfico, en milisegundos. El valor predeterminado es 1 segundo (1000).
int MaxFailsInARow - número máximo de intentos fallidos consecutivos para "desplazar" el gráfico. El valor predeterminado es 10.
He hecho mi mejor esfuerzo para comentar el código en detalle. Después de todo, esta es mi primera publicación en CodeBase.
Comentarios 0