Backtest en Timeframes No Habituales con Metatrader

No nos engañemos: nuestra plataforma favorita, Metatrader tiene un defecto (nada es perfecto ;)): no es posible graficar en escalas diferentes a las que vienen por defecto (bueno, sí es posible pero usando un script que podéis descargar desde aquí, tal y como ya comentamos por el Foro), ni tampoco es posible realizar backtests con el System Tester en escalas distintas a las predeterminadas.

Precisamente por ello os explicamos un pequeño truco que nos va a permitir realizar backtests en gráficos de 2 minutos, 7 minutos o 3 horas, veamos cómo en 3 sencillos pasos.


1. Preparación de Metatrader
Para poder hacer lo que pretendemos, lo primero que necesitamos es instalar una Metatrader limpia, crear una demo y esperar a que la tabla de Market Watch reciba los primeros ticks. A continuación descargamos suficiente histórico del símbolo sobre el que vamos a hacer el backtest en 1 minuto (si no sabéis cómo, podéis mirar este artículo y este otro).

Seguidamente le damos botón derecho al icono de conexión (el de color verde y rojo que aparece abajo a la derecha, como podéis ver en la siguiente imagen), seleccionamos Login y en la ventana que nos sale, desmarcamos Save account information. Después hacemos click en Login y esperamos a que conecte de nuevo.



Con este paso conseguimos que Metatrader ya no se conecte automáticamente y añada nuevos datos históricos; de lo contrario nos destruiría el histórico que vamos a generar en el siguiente paso.

Seguidamente cerramos Metatrader y vamos al Explorador de Windows para buscar la carpeta History (la encontraremos debajo de nuestra instalación de Metatrader). Dentro de ella hay que buscar el nombre del servidor al que nos acabamos de conectar y borrar todos los archivos .hst que haya dentro.


2. Preparamos los datos
Ahora viene lo bueno: utiliando el script Period_Converter que viene por defecto con Metatrader generamos los archivos en escala diferente a lo normal, por ejemplo en 2 y 7 minutos. Para ello basta con ejecutar el script en el gráfico de 1 minuto que previamente hemos descargado en el paso anterior. Si queremos generar un gráfico de 2 minutos, basta con indicar 2 en el parámetro PeriodMultiplier. Si todo va bien, al término de la ejecución deberíamos ver un mensaje similar a este en la pestaña Experts:

"2014.02.20 14:28:09 period_converter EURUSD,M1: 25378 record(s) written"

Para comprobar que ha ido todo bien, vamos al menú File -> Open Offline y en el cuadro que nos sale buscamos un gráfico que se llame EURUSD,M2. Repetimos esta operación las veces que necesitemos para todos los timeframes y símbolos que necesitemos.

El siguiente paso es convertir estos gráficos offline a CSV utilizando el script s_ExportChartToCSV_v1.mq4 que podéis descargar haciendo click en el enlace anterior. Seguidamente abrimos cada gráfico offline y ejecutamos el script sobre ellos. Si todo va bien, deberíamos tener los diferentes archivos CSV en la carpeta Experts\Files (MQL4\Files desde la build 600) debajo de nuestra instalación de Metatrader como podéis ver en la siguiente imagen.


3. Importamos los Nuevos Datos
Ahora abrimos la Metatrader que configuramos en el paso 1 para evitar que se conectara (puede ser la misma que usamos en el paso 2 o no, eso ya al gusto de cada uno ;)) y vamos al menú Tools -> History Center (alternativamente podemos pulsar la tecla F2 para acceder directamente). Desplegamos la lista de timeframes para el símbolo que vamos a importar y seleccionamos 1 minuto haciendo doble click:

Le damos ahora a Import y cogemos el CSV que deseemos, y le damos a OK. Si ahora abrimos el gráfico de 1 minuto, tendremos un gráfico en otra escala completamente distinta!!!

Ahora ya lo tenemos todo listo para empezar a probar nuestros Expert Advisors en cualquier timeframe: simplemente basta con abrir el Strategy Tester, seleccionar nuestro EA, el símbolo que acabamos de convertir y como timeframe coger el que acabamos de reemplazar por nuestro CSV... y ya lo tenemos.

 

Saludos,
X-Trader



Si te ha gustado este articulo, ¡compártelo en redes!