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.


Haciendo esto ahora mismo con Alpari UK en fin de semana obtengo poco más de 3 meses en 1 minuto para USDCHF por ejemplo, así que hay que buscar otra alternativa como la que proponen en The Trade Machine, sin duda un excelente blog donde podeís encontrar artículos muy buenos sobre Metatrader. En el artículo “How To Set Up Metatrader History Data And Get 90% Backtesting Quality” de este blog explican en detalle cómo "engañar" a Metatrader siguiendo unos sencillos pasos para forzarle a que utilice las bases de datos que Alpari tuvo durante algunos años disponibles en su web y que The Trade Machine ha recopilado. En concreto descargando el fichero que la gente de The Trade Machine ha subido a Megaupload podemos obtener históricos en barras de 1 minuto para EURUSD, GBPUSD, USDJPY, USDCHF, USDCAD, AUDUSD y NZDUSD en el periodo 2001-2009, listos para ser importados en Metatrader. 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 la de Forex Tester (gratuita, con 10 años de históricos de calidad bastante aceptable para 21 pares) o Forex Historical Data (de pago).

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