Recientemente coincidí en una cafetería de mi barrio con Enrique, uno de nuestros lectores al que no veía desde hace años, y al cual deseo mandar un afectuoso saludo desde aquí. Casualidades de la vida, resulta que sus hijas van al mismo colegio que mis hijos. El caso es que hablando de todo un poco, me preguntó sobre la posibilidad de importar datos históricos en Metatrader y le prometí que este fin de semana haría un paréntesis en la serie sobre Bill Williams y le dedicaría el próximo artículo. Dicho y hecho Enrique! Veamos las diferentes alternativas que tenemos a la hora de cargar datos históricos de largo plazo en nuestro Metatrader.
Opciones desde el propio Metatrader
Si bien últimamente algunos brokers están limitando los históricos que podemos descargar (en alguno he visto incluso que no permite más de 3 meses intradía por ejemplo), lo habitual para obtener datos es seguir estos pasos:
- Abrimos Metatrader y vamos a Tools->Options. Dentro de la ventana que nos aparece seleccionamos la pestaña Charts y en la opciones Max Bars in History y Max Bars in Chart escribimos todos los nueves que podamos (algo como 9999999999999) tal y como podemos ver en la siguiente imagen:
- Cerramos y abrimos de nuevo Metatrader y nos dirigimos al History Center desde Tools->History Center o pulsando F2. En la ventana que nos aparece, seleccionamos el par y minutaje para el que deseemos datos y pulsamos en el botón Download que aparece debajo de la lista de pares. Si hemos elegido un minutaje muy bajo seguramente tarde un rato en terminar la descarga.
Por supuesto, si tuvieraís alguna duda sobre el procedimiento no dudeís plantear en vuestras preguntas en el Foro de Metatrader.
Opciones externas
Las opciones comentadas anteriormente están muy bien pero quizás estemos pensando en otra cosa, quizás algo más sofisticado. Dado que el objetivo principal que pretendemos no es otro que el de realizar backtests con históricos de calidad con estrategias que hayamos programado en Metatrader, quizás nos interese utilizar las bases de datos que tengamos en otros programas o que hayamos comprado para no tener que reprogramar nuestra estrategia en otro lenguaje diferente a MQ4.
Para ello, podemos utilizar diferentes fuentes de datos. Lo más utilizada por estos lares como ya sabrán es exportar los datos de Visual Chart a ASCII e importarlos desde el software que deseemos, en este caso Metatrader, aunque también tenemos otras opciones como Forex Tester (gratuita, con 10 años de históricos de calidad bastante aceptable para 21 pares).
En todo caso, ya sea utilizando las fuentes indicadas u otras distintas, lo primero a tener en cuenta es que el formato del texto debe mantener la siguiente estructura
<TICKER>,<DTYYYYMMDD>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
EURUSD,20010102,230100,0.9507,0.9507,0.9507,0.9507,4
Es decir, el fichero de texto debe llevar una primera línea con los campos y seguidamente los valores del par separados con comas y usando como punto decimal un punto (.)
Una vez tenemos correctamente organizado el fichero de texto, realizamos el proceso explicado anteriormente para aumentar Max Bars in History y Max Bars in Chart. Seguidamente cerramos y abrimos Metatrader y vamos al History Center. Esta vez pinchamos en el botón Import:
Y obtendremos un menú como el siguiente:
Hacemos click en Browse… y en la ventana que nos aparezca seleccionaremos el archivo de texto que contiene el histórico deseado, no sin antes seleccionar dicho tipo de archivo.
Una vez hecho esto le damos a OK y esperaremos unos minutos hasta que finalice el proceso (si la base de datos es muy grande y está en barras de 1 minuto puede llevar un rato). Cuando termine, no tendremos más que abrir el gráfico correspondiente al par y al timeframe importados y comprobar que ahora sí tenemos un amplio histórico para trabajar.
Si además lo que importamos son datos históricos en 1 min., el resto de timeframes se ve afectado de tal forma que todas las velas son reescritas en base al minutaje más bajo, por lo que podemos mantener la amplitud del histórico en timeframes mayor a 1 minuto.
Por último, ¿qué pasará si realizamos una descarga de datos desde el servidor del broker una vez hayamos importado un fichero ASCII? Afortunadamente nada, tan sólo modificará parcialmente la base de datos actualizando los valores de las velas que coincidan con el periodo que se descarga pero no modificando ni eliminando el resto del histórico.
Saludos,
X-Trader