| 
    

Brokers

Como realizar un backtesting en Metatrader 4 de calidad

En el artículo de hoy quiero mostraros como se realiza un backtesting de calidad en Metatrader 4. Todos lo que usamos Metatrader hemos usando el satrategy tester alguna vez para probar algún sistema automático (Expert Advisor), sin embargo los resultados obgtenidos en dicha prueba no son siempre los más fiables. El mejor parámetro para determinar la calidad de los resultados de las pruebas de Expert Advisors en Metatrader es el modelling quality cuyo valor puedes ver en el informe final del strategy tester en la esqwuina superior derecha. El valor de la calidad del backtesting debe estar por encima de 90% para que se pueda considerar como un backtesting de calidad siendo el óptimo un 99% (nunca o casi nunca se llega al 100%).

El backtesting de Metatrader se realiza utilizando los datos históricos de todos los timeframes inferiores al timeframe en el que vas a realizar la prueba y, por tanto, gran parte de la calidad del backtesting viene determinada por la disponibilidad de dichos datos para el período elegido para el backtesting. Así, si voy a realizar un backtesting de un EA para el período 1 de Enero de 2009 y 1 de Febrero de 2010 en gráficos de 1 hora, el estrategy tester intentará utilizar los precios históricos de apertura, cierre, máximo y mínimo de las velas de gráficos de 60, 30, 15, 5 y 1 minutos perdiéndose calidad en los resultados del backtesting cuando los datos de los diferentes timeframes no estén disponibles. Ahora explicaré como conseguir un modelado de calidad de al menos el 90% utilizando los datos históricos de velas M1.

Lo primero que se ha de hacer es obtener el histórico de gráficos M1 de tu broker. Para ello hay varias vías:

  • Colectar los datos M1 en tiempo real: tendrás que tener un gráfico M1 abierto y esperar a que el tiempo pase y se vayan acumulando los datos minuto a minuto, día tras día hasta que consideres que tienes datos suficientes para tu backtesting. Esta es, sin duda, la vía menos viable.
  • Descargar los datos M1 utilizando el desplazamiento lateral en el gráfico. Mediantes este método no consigues descargar datos de más de dos meses, puede que tres, para un instalación nueva de Metatrader por lo que tampoco se adapta a las necesidades de la inmensa mayoría de nosotros.
  • Descargar los datos M1 a través del history center : a través del history center de Metatrader se pueden descargar los datos del timeframe que quieras pero con varios problemas: la cantidad de datos puede estar limitada y no todos los brokers tienen habilitada esta función. Si tu broker tiene deshabilitada esta función los datos se descargan desde metaquotes y pueden estar desincronizados con la zona horaria de tu broker. Por tanto, esta tampoco es la mejor opción pero puede valer si tu broker lo ofrece.
  • Descargar los datos M1 desde la base de datos de tu broker de forma externa. Esta es la mejor opción. Pregunta a tu broker como y donde puedes acceder a la descargar de los archivos con los históricos de precios de velas M1.

Procedamos pues con los pasos para realizar un backtesting de calidad:

  1. Instala un Metatrader a parte del que uses normalmente, para ello simplente especifica una carpeta de instalación diferente al instalar Metatrader. No abras ninguna cuenta demo ni real. Si lo abres cierralo.
  2. Ve a a la carpeta Archivos de programa>Metatrader4>history>Servidor y borra todos los archivos con nombre de un par de divisas, no borres symbols.sel nisymgroups.raw. Borra también todos los archivos de la carpeta downloads en metatrader4>history>downloads
  3. Descarga los datos mediante la opción del punto 4 de las opciones mencionadas anteriormente o mediante la opción del punto 3 si tu broker ofrece esta descarga de forma adecuada. Los datos descargados se guardarán en la carpeta archivos de programa>Metatrader>history>downloads.
  4. Abre Metatrader. Te aparecerá la ventana para abrir una demo, cierra dicha ventana. Las ventanas de gráficos no deben mostrar nada pues has borrado los datos en el paso dos.
  5. Ve a Herramientas>Opciones y pincha sobre la pestaña gráficos. Por el máximo en los campor "Max. barras en historial" y en "Max. barras en gráfico".  Para poner el máximo no selecciones de las opciones sino que escribe en la casilla tantos 9 como te deje el programa. Pulsa Aceptar.
  6. Ahora ve a Herramientas>History Center. Despliega hasta que encuentres el par de divisas cuyos datos has descargado y selecciona dicho par. Al seleccionar el par no haber aparecer ningún dato pues los borrantes en el paso 2. Haz clic en el botón Importar. Se abrirá una ventana en la que debes seleccionar el archivo descargado. Una vez cargado dicho archivo pulsa Aceptar y otra vez Aceptar.
  7. Al no tener ninguna cuenta abierta no habrá conexión con ningún servidor. Ve a Archivo>Abrir sin conexión y selección el par de divisas con el que has estado trabajando durante todo el proceso en la opción en la que aparezca M1.
  8. Ahora debes ejecutar el script "period converter" en el gráfico M1 para pasar los datos a temporalidades superiores. Debes ejecutar el script una vez por cada temporalidad que quieras construir y es necesario tener los datos de la temporalidad en la que vayas a realizar la prueba y en todas las temporalidades inferiores. Así, si vas a realizar la prueba en gráficos H1 deberás ejecutar el script period converter 4 veces: para 5, 15, 30 y 60 minutos. Cada vez que ejecutas el script debes introducir en los parametros del script el número de minutos para la conversión: 5, 15, 30, 60, 240, etc.
  9. Tras realizar el paso 8 ve a Archivo>Abrir sin Conexión y podrás abrir todos los gráficos del par de divisas y timeframes para lo que hayas realizado el paso 8. Abre el gráfico en el que vayas a realizar el backtesting, añade el Expert Advisor que vayas a probrar y Feliz Backtesting.

Un modelo del 90% de calidad es suficientemente aceptable. No obstante si quieres obtener el 99% hay un tutorial que explica el proceso utilizando los datos de Dukascopy. Un proceso mucho más engorroso y que bajo mi punto de vista no ofrece las muchas demasiadas ventajas pues para la mayoría de EAs un 90% es más que suficiente. No obstante EAs con estrategias de scalping pueden ser extermadamente sensibles a cambios muy pequeños cambios en los precios y puede que necesites llegar al 99% de calidad en el backtesting, si este es tu caso aquí tienes el enlace al mencionado tutorial: Como obtener un 99% de calidad en el backtesting

OJO!!! que obtener una buena calidad del backtesting no significa que los resultados del EA vayan a ser positivos!!!

Comentarios

Puntuación promedio de: 1 usuario(s)

Valoración del artículo 
 
4.0  (1)
Asignar una puntuación (mienstras más alta mejor es)
Valoración del artículo
Comentarios*

    Por favor introduzca el código de seguridad.
 
 
Como realizar un backtesting en Metatrader 4 de calidad 2011-11-25 20:54:59 Mathias
Valoración del artículo 
 
4.0
Mathias S. Opinión de Mathias S.    25 Noviembre , 2011
Top 50 Votante  -   Ver todos mis comentarios

¿Como interpretar los resultados del backtesting?

Buen artículo, quiero añadir primero que no es necesario estar desconectado para realizar el backtesting, simplemente al momento de realizar el análisis es necesario marca la opción "Use date" y poner de inicio y de fin de la base de datos que descargamos para que no se contamine con las actualizaciones recientes del MT.

Por otra parte, sería interesante tener un artículo que explique como interpretar los resultados del backtesting y de la optimización. Debería responder a preguntas como ¿como se debe interpretar X criterio (p.e. "Factor benefit") ¿en que criterios me debo basar para evaluar mi estrategia? ¿que criterios me permiten decir que una estrategia es mejor que otra? etc.

Te ha interesado esta opinión? 
20
Reportar este comentario
Como realizar un backtesting en Metatrader 4 de calidad 2011-04-12 04:59:15 Arturo
Valoración del artículo 
 
N/D
Opinión de Arturo    12 Abril , 2011

90%-99%

Quiero aumentar mi modelling quality a 99% si es posibleeee, tenia antes un 90%, pero luego bajo a 50% no se porke , si son tan amables de ayudarme para hacer testeos de calidad por favor

Te ha interesado esta opinión? 
00
Reportar este comentario
Como realizar un backtesting en Metatrader 4 de calidad 2011-02-03 19:18:06 Laocoonte
Valoración del artículo 
 
N/D
Opinión de Laocoonte    03 Febrero , 2011

Gracias!

Muy buena explicación, por fin me entero. Gracias!!!!!!!!!!

Te ha interesado esta opinión? 
00
Reportar este comentario